Tengo esta pantalla de 16 caracteres por 2 lineas que deseaba conectar a la placa Ícaro. Esta pantalla es de las más comunes, pero ahora están tomando popularidad pantallas que incluyen un modulo I2C de comunicación. Esta pantalla no incluye dicho módulo. Espero hacer notas sobre trabajo con dispositivos I2C e Ícaro en el futuro.
Para conectar la pantalla LCD 2×16 vamos a ocupar 12 lineas de conexión. Pero lo más importante, antes de iniciar, es conocer nuestro Port B o P5 de la placa Ícaro.
El Port B es la salida del micro-controlador hacia el UNL2803. Si sostenemos placa con la barra de led hacia la derecha de forma que el micro controlador este arriba del integrado UNL2803, entonces en el Port B tendrás los pines de izquierda a derecha. El primer pin de la izquierda sera P0 y el ultimo hacia la derecha será P7.
Para conectar hay que seguir la siguiente asignación.
Pantalla – Placa Ícaro
VSS – Ground
VDD – +5VDC
V0 – Ground
RS – P4 Port B
RW – Ground
E – P5 Port B
D0
D1
D2
D3
D4 – P0 Port B
D5 – P1 Port B
D6 – P2 Port B
D7 – P3 Port B
A – +5VDC
K – Ground
Las lineas de +5VDC y Ground las conecte a los pines de VCC y Ground de los sensores analógicos. Igual podría conectarse a los pines respectivos en los puertos de servos.
Opcionalmente en la linea A se puede conectar una resistencia para variar el brillo o contraste de la pantalla, dado que A y K son los que alimentan la luz de la pantalla.
Para probar que todo esta bien solo hace falta abrir un script del menú Archivo, seleccionar Ejemplos, ahí navegar a la carpeta LCD y cargar el archivo llamado hola mundo. Como siempre, compilar el script y luego cargar al micro-controlador.
Al ver el script podemos identificar que se envían 0 y 0 antes de enviar los caracteres “hola”. El primer cero corresponde a la Columna y el siguiente corresponde a la Fila. Esto la posiciona en la primera columna de la primera fila. Como vemos “mundo” recibe de previo 0 y 1, es decir primera columna, segunda fila.
La pausa al final es importante, es lo que mantiene los caracteres en pantalla antes de reiniciar el bucle infinito del script. Sin la pausa, o con un valor muy pequeño, no podríamos ver el mensaje. Por otro lado las pausas son importante antes de borrar la pantalla o asignarle un nuevo valor. Sin pausa, el nuevo valor se mostrara en pantalla antes de que podamos haberlo leído.
Ahora lo que resta en experimentar y aprender.