miércoles, 22 de junio de 2011

Guía Y Ejemplos de Pinguino Con Processing 1.5.1


Tarjeta para pruebas con pinguino y processing
Este es el enlace para descargar la guía.



Este es el programa que se descarga en pinguino.
https://sites.google.com/site/camachomedia/home/archivos/usbprocessing.pde?attredirects=0&d=1

Esta es la librería para processing.
https://sites.google.com/site/camachomedia/home/archivos/pinguino.zip?attredirects=0&d=1
para la nueva versión de processing se pega y descomprime dentro de la carpeta sketchbook/libraries/
en caso de no existir la carpeta libraries, se crea y allí se descomprime la librería pinguino.


Este es el enlace del creador de la librería que comunica pinguino con processing.

Aqui se descarga processing 1.5.1

martes, 21 de junio de 2011

Banda transportadora


Esta es una proyecto de una banda transportadora utilizando una maquina de estados implementada en una memoria y empleando pinguino y processing para indicar los procesos en el PC.
Realizado por los estudiantes:
DEIVY ROSERO
JOSE A. MOSQUERA
Aqui esta el enlace del video donde se muestra su funcionamiento.
http://www.youtube.com/watch?v=BCrqw15OmVM

Robot seguidor de linea con pinguino


Este es un robot seguidor de linea, realizado con pinguino.

Fue realizado por los estudiantes:
JESÚS HERNAN CANCIMANSE FAJARDO 
OSCAR CIFUENTES
MARCOS RIASCOS
de la UNIAJC http://www.uniajc.edu.co/
Aqui esta el enlace del video donde se muestra su funcionamiento. 
http://www.youtube.com/watch?v=xawdLUsFAl8

lunes, 20 de junio de 2011

Pinguino en Campus Party Colombia

Ya esta confirmada la pequeña charla demostrativa que haremos en el barcamp de campus party colombia.

domingo, 19 de junio de 2011

Otra forma de acceder a los terminales en PINGUINO

Buscando varias formas de acceder a los puertos, encontré la siguiente publicación en la que se accede al terminal donde esta conectado el led de RUN, para hacerlo encender y apagar cada 250 ms
http://pinguino.walii.es/?p=106

Ejemplo1
En este ejemplo se hará encender y apagar el led de RUN cada segundo, se puede ver que este led esta el bit 4 del Puerto A. En este caso el terminal ya esta configurado por defecto como salida, por eso no se configuro en el void setup()

//Julio Fabio De La Cruz G. 2011
//Acceder a los terminales de los puertos
//Encender y apagar el led de RUN
void setup(){
 }
void loop(){
  //Enciendo el LED
  PORTAbits.RA4=1;
  delay(1000);
  //Apago el LED
  PORTAbits.RA4=0;
  delay(1000);
}

Ejemplo2
Otro ejemplo con el Puerto B, en este caso se configura el Puerto B con sus 4 bits menos significativos como entradas y los 4 mas significativos como salidas. Los 4 bits menos significativos leídos son escritos en los 4 mas significativos del Puerto B.
TRISB = 00001111 binario
TRISB = 0x0F         Hexadecimal

//Julio Fabio De La Cruz G. 2011
//Acceder a los terminales de los puertos
//Acceder al Puerto B
uchar b0,b1,b2,b3;
void setup(){
   TRISB=0x0F;
}
void loop(){
  //Leo Datos
  b0=PORTBbits.RB0;
  b1=PORTBbits.RB1;
  b2=PORTBbits.RB2;
  b3=PORTBbits.RB3;
  //Escribo datos
  PORTBbits.RB4=b0;
  PORTBbits.RB5=b1;
  PORTBbits.RB6=b2;
  PORTBbits.RB7=b3;
}

viernes, 17 de junio de 2011

Leer y escribir directamente en los puertos del PIC en Pinguino

Se puede utilizar los registros de configuración de puertos para configurar los terminales de los puertos ya sea como entradas o salidas, en los PIC estos registros son los TRIS, donde un 0 representa una salida y un 1 una configuración como entrada.
Correspondencia entre puertos y terminales
Por ejemplo si quiero configurar los primeros 4 bits del puerto B como salida y los 4 últimos bits del puerto B como entradas hariamos lo siguiente:
TRISB = 11110000  Binario
TRISB = 0xF0          Hexadecimal
TRISB = 240            Decimal

Para escribir los datos en el puerto utilizamos los registros PORT, como ejemplo si el puerto B esta configurado como salida y queremos colocarlo todo en alto haríamos lo siguiente.
PORTB = 11111111  Binario
PORTB = 0xFF          Hexadecimal
PORTB = 255            Decimal

//Julio Fabio De La Cruz 2011
//Escritura de datos en el registro PORTB
void setup(){
   //configuro puerto B como salida
   TRISB=0x00;
}
void loop(){
   //Coloco en alto todos los terminales del puerto B
   PORTB=0xFF;
   delay(1000);
   //Coloco en bajo todos los terminales del puerto B
   PORTB=0x00;
   delay(1000);
}

domingo, 5 de junio de 2011

viernes, 3 de junio de 2011

Mas sobre la funcion Millis en pinguino

Aquí esta el enlace que hace referencia a los tipos de datos utilizados en pinguino.
http://wiki.pinguino.cc/index.php/Data_types
Para ver la función en detalle esta es la ruta donde se encuentra el archivo millis.c






Aquí esta el código de la función, lo interesante esta en que se puede modificar el prescaldor y obtener otras unidades de tiempo. Para esto podemos modificar el registro T0CON


// millis library for pinguino
// Jean-Pierre MANDON 2009
#ifndef __MILLIS__
#define __MILLIS__
#define MILLIS 1
long _millis;
void millis_init(void)
{
T0CON=0x80; // TMR0 on, 16 bits counter, prescaler=2
INTCON|=0xA0; // set GIE and TMR0IE
_millis=0;
}
long Millis()
{
return(_millis);
}
#endif