29 jul 2010

Lucy in the Chair With Diamonds (LCD)

Ok. Ya hicimos hemos pasado de un 555 a un 4017 a un par de 4026, incluso hemos interactuado con nuestro microcontrolador. Ha sido duro, pero lo hemos superado. El asunto de la programada de una computadora es mas fácil que el de un microcontrolador por que tenemos una pantalla y podemos ver códigos de error y valores de las variables, etc. Bueno, que tal si agregamos un pequeño Display de Cristal Liquido (LCD) a nuestro protoboard.

Quizá la parte mas desafiante de este proceso sea Comprar el lcd. En AG Electronica el precio mas bajo es de $44 pesotes mexicanos mas iva por un LCD de 16 caracteres. Para algunas personas (yo incluido) ese precio puede detenernos un momento. La alternativa es ir a uno de esos deshuesaderos de partes electronicas. Asi me hice yo de un LCD de 40 caracteres x 2 lineas por solo $60.00 neto. Practicamente cualquier LCD de 16 pines nos es útil. He encontrado algunos de 16 caracteres en $10.00 Pesos Mexicanotes. Asi que la primer tarea sera hacernos de un LCD.

La siguiente parte ya es mas fácil. Conexionado del LCD:

Ok no fue tan fácil, de hecho creo que a partir de este punto va a ser mas fácil trabajar con esquemáticos.

Tomese en cuenta que no estoy incluyendo las conexiones del programador.

Bien.
Vamos al CodeVisionAVR

Elegimos el Atmega8 a 8mhz y en la pestaña lcd seleccionamos el puerto D y el numero de caracteres que tenga nuestro display. Por default podemos poner 16, si es mas grande se puede modificar mas adelante.
Como veran las conexiones que ya hicimos son las mismas que aparecen en la pantalla.

Configuramos D como salida, B como entrada con resistencias Pull-up y C como entrada toogle (sin resistencias Pull-up )

Aqui esta el codigo que vamos a programar. (Dar click para visualizar)

La explicación esta integrada en el archivo de texto. No obstante



while (1)
{
lcd_clear(); //borra la pantalla
lcd_putsf("Atmega8 LCD"); //Escribe un primer texto
delay_ms(1000); //Espera 1 segundo
lcd_clear(); //borra la pantalla
lcd_putsf("Otro texto"); //Escribe un segundo texto
delay_ms(1000); //Espera 1 segundo
};
}


Como veran el programa muestra dos textos que se alternan a intervalos de 1 segundo.

Confieso que la primera vez que lo hice mande que dijera 2 grocerias... Pero astedes pongan lo que les agrade.

De tarea, extiendan el programa para que se aviente al menos 4 versos del poema que les agrade. Cambien los valores de los tiempos y añadan una pausa mayor al final.


En la siguiente entrada vamos a hecharle candela muchachos. No desarmen su protoboard. (prometo que lo agrego en menos de 2 dias)

No hay comentarios:

Publicar un comentario