sábado, 21 de mayo de 2011

Como utilizar las entradas análogas como digitales

Con la libreria diseñada para operar a pinguino desde processing se obtienen valores analogos pero tambien puede ser necesario que necesitemos mas entradas digitales, asi que se pueden utilizar estas entradas y obtener el dato digital de entrada.

/*************************************************************************
*Manejo de la plataforma pinguino                                        * 
*Autor:                                                               *
*           Julio Fabio De La Cruz Gomez                                 *
*                                                                        *
*Ejemplo 012: Entradas Digitales y analogas                              *
*                                                                        *
*Descripcion:                                                            *
*            Como utilizar las entradas analogas como digitales          *
**************************************************************************/

import hypermedia.pinguino.*;
Pinguino pinguino;

int an0;
int bit0;
void setup(){
    Pinguino.log( true );              
    pinguino = new Pinguino( this );  
}
/*=========================================================================
  Ciclo principal
        Los terminales configurados como entradas analogas son 13,14,15,16,
        17,18,19,20
        El ADC es de 10 bits asi que los valores leidos van de 0 - 1023
        Los valores de voltaje van de 0v - 5v
        Un 1 Logico corresponde aproximadamente a 5V
        Un 0 Logico corresponde aproximadamente a 0v
        Un valor leido mayor a 700 corresponderia a un 1 logico, de lo
        contrario en un 0 logico.
 ===========================================================================*/
 void draw(){
  an0=pinguino.analogRead(13);
  // Obtengo el equivalente bianario segun la entrada analoga  
  if(an0 > 700)
    bit0 = 1;
  else
    bit0 = 0;
  println("El equivalente binario es: " + bit0);

 }

Como convertir la entradas digitales a su equivalente decimal

Con la libreria diseñada para operar a pinguino desde processing se obtienen los valores digitales uno a la vez,
pero quizá sea útil en la aplicación obtener el dato equivalente de las entradas digitales, en este ejemplo se toman las entradas digitales y se obtiene su equivalente en decimal.

 /*************************************************************************
*Manejo de la plataforma pinguino                                        * 
*Autor:                                                             *
*           Julio Fabio De La Cruz Gomez                                 *
*                                                                        *
*Ejemplo 011: Entradas Digitales                                         *
*                                                                        *
*Descripcion:                                                            *
*            Convertir las entradas digitales en su equivalente decimal  *
**************************************************************************/

import hypermedia.pinguino.*;
Pinguino pinguino;

int bit0,bit1,bit2,bit3,bit4;
int dato;
void setup(){
    Pinguino.log( true );              
    pinguino = new Pinguino( this );  
}
/*=========================================================================
  Ciclo principal
        Los terminales configurados como entradas digitales son 8,9,10,11,12
        Para obtener el dato digital sumo las multiplicaciones del dato
        digital leido por su correspondiente potencia de 2
        la relacion que convierte el dato binario a su equivalente decimal es:
        dato = bit4*16 + bit3*8 + bit3*2 + bit1*2 + bit0;
 ===========================================================================*/
 void draw(){
   bit0 = pinguino.digitalRead(8);
   bit1 = pinguino.digitalRead(9);
   bit2 = pinguino.digitalRead(10);
   bit3 = pinguino.digitalRead(11);
   bit4 = pinguino.digitalRead(12);
   dato = bit4*16 + bit3*8 + bit3*2 + bit1*2 + bit0;
   println("Dato = " + dato); 
 }

jueves, 19 de mayo de 2011

miércoles, 18 de mayo de 2011

Proyectos con pinguino para campus

Robot de Duvan

Robot de Duvan

Robot de Alejandra
Estos son los prototipos ya funcionales que presentaron los estudiantes de tecnología en mecatronica de la UNIAJC.
Alejandra Forero presento un brazo robotico que utiliza servo motores que controla desde la tarjeta pinguino, esta en proceso su interfase con Lazarus para controlarlo desde el PC.
Duvan Acosta presento un robot inspirado en los robots de theo jansen, esta en proceso la parte de implementación de diversos sensores y la comunicación con el PC.
Para referencia de los robots de theo jansen aquí dejo algunos enlaces.



Utilización de la memoria 28c16 para sistemas secuenciales

Esquema con flipflop

Diagrama flip flop
Diagrama de terminales 28c16
Enlace para descargar el datasheet
https://sites.google.com/site/camachomedia/home/archivos/28c16.pdf?attredirects=0&d=1
Vídeo de ejemplo de direccionamiento de la memoria con un microcontrolador
http://www.youtube.com/watch?v=J-q2yECfhj0
Esta es una hoja de calculo que realice para que puedan ingresar los datos en la memoria, tiene la ventaja que pueden ingresar el dato en formato binario y obtener el equivalente en hexadecimal, el formato esta tal como lo muestra el programador.
https://sites.google.com/site/camachomedia/home/archivos/mapamemoria.xls?attredirects=0&d=1

martes, 17 de mayo de 2011

Modulación de ancho de pulso

Aquí dejo unos vídeos complementarios sobre el tema de modulación de ancho de pulso.
http://www.youtube.com/watch?v=YmPziPfaByw
Este es un vídeo sobre PWM en arduino, pero las mismas instrucciones aplican a pinguino
http://www.youtube.com/watch?v=sNsAIAXtLK0

lunes, 9 de mayo de 2011

Guia para soldar la tarjeta

Colocar y soldar componentes

Soldar conector

Soldar base para el integrado

Colocar integrado
El cuarzo debe ser del pequeño, pues el otro no por ser tan alto no permite colocar el integrado, tambien sirve el cuarzo que es mas pequeño, solo que solda inclinandolo, para que quede de lado y no moleste su altura.
En el led el catodo es el terminal corto.
El conector USB es hembra y se conecta al computador utilizando una extensión macho - macho USB 

martes, 3 de mayo de 2011

Control PID De Posición Análogo

En este enlace se puede encontrar la explicación de este sistema didáctico de control de posición de un motor, este esquema aplica también a otros procesos a controlar.
http://www.automatas.org/hardware/teoria_pid.htm

miércoles, 27 de abril de 2011

piro sensor


http://www.futurlec.com/PIR_Sensors.shtml
De este tipo de sensores se consigue poca informacion o almenos yo casi no la consigo, su conexion segun lo que encontre es la siguiente (no lo he probado)

El terminal 1 va a 5 voltios
El terminal 2 es la salida
El terminal 3 va a tierra

la terminal 1 se identifica por que el sensor tiene como una pestaña saliente en la cubierta para su indicacion.

Decodificador de tonos conectado al celular

Esta es la direccion donde venden el dispositivo CM8870 que es un decodificador de tonos.
http://www.sigmaelectronica.net/cm8870-p-1415.html
La idea es conectar el manos libres al decodificador de tonos y por medio de los tonos del teclado enviar datos a la plataforma pinguino.
Este es el data del CM8870
http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/18/ics8870.pdf
ejemplos en video
http://www.youtube.com/watch?v=3JgrGtE-oHs&feature=related
http://www.youtube.com/watch?v=REASIxCSrwE
http://www.youtube.com/watch?v=HgsCJMyiXXw&feature=related
http://www.youtube.com/watch?v=ysBDURN7xwE&feature=related
Gracias al profesor Javier Cortes de UNIAJC por la informacion suminstrada