Escudo para LCD con sólo 3 pines.

Aplicación del 74HC595 para Arduino.

INTRODUCCIÓN.

Hace unos días (vaya, han pasado 27 días) decidí realizar un trabajo que muestra como poner un voltímetro en una fuente de alimentación utilizando una pantalla LCD numérica como la HD44780. Cuando terminé el artículo, me di cuenta que quizás el costo no era el adecuado, así que, pensé en utilizar un pequeño micro de ATmel. He estado evaluando cual utilizar si un Attny45, un 85 la diferencia más llamativa es la memoria 4K y 8K de uno y otro con 8 pines o los Attny44/84 con 14 pines.

nom_lcd2004ahFig. 1

Como he dicho estuve tentado de utilizar un Attiny 45, de pronto me di cuenta que necesitaría un número de pines que éste micro no dispone, tenía que apuntar en otra dirección, así que, comencé por pensar en cuantos pines necesitaría en el proyecto, esto me llevaría a decidirme por las mejores posibilidades y llegar a una conclusión, decidí trazar un esquema de partida y modificarlo si fuera el caso.

Después de haber escrito el mencionado artículo para el control de la pantalla LCD, pensé: Sería bueno tener una pequeña placa de circuito que se conecte en la parte posterior de la pantalla LCD, de modo que no tenga que utilizar un gran espacio para mi proyecto, así que, empecemos. Unas posibles soluciones a tener en cuenta es, utilizar los registros de desplazamiento, entre los que podemos destacar los conocidos 74HC164 o el 74HC595.

En este artículo realizaré una interfase para controlar un LCD con el Shift Register 74HC595 con sólo tres registros de un microcontrolador de la serie ATtiny. Primero he probado que funciona utilizando los pines de Datos, Latch y Clock procedentes de Arduino, lo que se puede ver en las imágenes que se adjuntan, luego voy a implementar el mismo código en un Attiny85, ya que dispone de 8K de memoria. Así que empiece la sesión.

El siguiente es un esquema de bloques del contenido de un 74HC595, información que usted puede encontrar en las hojas de datos del mismo.

pinout74hc595Fig. 2

Como parece bastante explícito, considero innecesario entrar en más detalles.

EL ESQUEMA.

Voy a utilizar un esquema sencillo que he modificado para mejorar un detalle, que puede ser inadvertido, pero es de peso relativo.

lcd_a_arduino3hilosFig. 3

Este esquema es más sencillo de leer. Estos son los componentes que necesitamos:

  • 1 – Zócalo DIL de 16 pines.
  • 1 – Terminal de 16 pines hembra.
  • 1 – Terminal de 6 pines hembra
  • 1 – Transistor NPN BC547
  • 1 – Condensador Electrolítico 100uf/16V
  • 1 – Circuito integrado 74HC595
  • 1 – LCD HD44780 de 16×2 o 20×4
  • 1 – Potenciómetro de 10k
  • 1 – Pedazo de placa (de 17 tiras x 16 agujeros) de tiras perforadas (ver imágenes).
  • Y varios hilos para puentes.

 Estas son las imágenes de los pasos importantes realizados para crear la tarjeta pcb del adaptador para la LCD.

pcb_3h2m pcb5_3hilos+m
pcb_3hilosm tres-hilos-74hc595m

Fig. 4

pcb4_3hilos-Fig. 5

Este es el boceto con el voy a probar su idoneidad, ya que del resultado depende que lo aplique en el proyecto que estoy preparando.

PRUEBA CON UN 74HC595 Y LCD

Código de ejemplo para visualizar valores en un LCD con 3 hilos.

lcd_con_3_hilosFig. 6

En la foto anterior, se muestran los 3 hilos en las salidas digitales de Arduino y la alimentación en la parte inferior. Después de las primeras pruebas y viendo los resultados obtenidos, parece que este sistema me permite utilizarlo en mi proyecto ya que ciertos Attiny’s no contemplan el I2C, motivo por el cual no he optado por el I2C-Bus. Este boceto toma 2Kbytes, claro que no tiene nada. Ahora voy a probarlo más a fondo, voy a utilizar el boceto del voltímetro y así podré hacerme una idea más real de como se comporta.

PRUEBA DEL 74HC595 Y LCD PARA EL VOLTÍMETRO.

Código del voltímetro para visualizar valores en el LCD.

Sin lugar a dudas que me decido por el sistema de registros de desplazamiento con el 74HC595. Las pruebas que he realizado me llevan a la conclusión de emplear este para el voltímetro, ahora, he de buscar el Attiny más pequeño y suficientemente capaz de soportar el boceto adaptado de Arduino. Dicho micro necesita una capacidad de 8K bytes, mínimo dos registros analógicos para las entradas de tensión y corriente y si tiene más opciones, mejor.

Como ya hemos visto, he reducido el número de pines para controlar el LCD con el 74HC595, es hora de elegir un micro de la serie Attiny adecuado. En un principio no todos estos «pequeños», pensé en utilizar un Attiny2313 dispone de 15 puertos de E/S. Creí que me serviría y comencé a trazar el esquema, de pronto reparé en que no dispone de puertos ADC, ya que los PA0-PA2 son el Reset, XTAL1 y XTAL2 que, si los quiero utilizar como ADC, me complicarían el código y considero que no es lo mejor. Así que desestimo el Attiny2313.

conecxiones-attiny2313pFig. 7

Después de varios intentos me he decidido por el ATtiny84, con 8K de memoria y el puerto analógico completo PA0-PA7, entre otras posibilidades como se puede apreciar en la imagen que sigue:

attiny84_pinoutFig. 8

En principio este dispositivo ATtiny84 puede ser la respuesta a nuestro esfuerzo para crear una aplicación de utilidad en nuestro laboratorio.


Fig. 9

Hemos llegado al punto de tener que programar un micro de la serie Attiny y ese será el desafío siguiente. En un próximo artículo abordaremos los pasos a seguir para crear un programador utilizando como herramienta nuestro habitual Arduino. Espero que sea pronto, imagino que algunos estaréis ilusionados por ver el proyecto terminado.

Quizás en otra tutoría, abordemos como hacer este mismo adaptador con el registro de desplazamiento 74CH164, que se utilizó mucho en los años 80.

2 comentarios sobre «Escudo para LCD con sólo 3 pines.»

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.