Display 16x2 Frase rotativa Liquid Crystal Arduino

Frase rotativa con display 16x2 Liquid Crystal





Los componentes que vamos a utilizar:

 -Arduino Uno

-Display LCD 16x2

-Potenciómetro 10k

Display LCD 16x2

Un display LCD (Liquid Crystal Display) es un display alfanumérico de matriz de puntos (dot-matrix) que sirve para mostrar mensajes a través de caracteres como letras, números o símbolos. La placa del display viene equipado con un microcontrolador (normalmente el modelo HD44780) que se encarga de generar los caracteres, polarizar la pantalla, desplazar el cursor… Además, también viene equipado con una memoria ROM donde están almacenados los caracteres a través de una matriz de puntos, y una memoria RAM donde se pueden almacenar caracteres creados por nosotros. Estos displays disponen de unos pins para conectar un microcontrolador (en nuestro caso Arduino) para poder dar instrucciones al display.

En el mercado existen displays de distintos tamaño de pantalla. En este tutorial usaremos un display 16×2, que quiere decir que contiene 16 columnas y 2 filas.

Solo usa 6 pines del microcontrolador(Arduino en este caso), por lo cual es una buena opción cuando se usan pocas entradas/salidas en tu microcontrolador.


-Pines de alimentación

VSS:
 Pin para conectar la pantalla LCD a tierra (GND)

VDD: Pin de alimentación principal pantalla LCD (5 Volts)

-Regulación de contraste

V0:
 Pin para regular contraste de la pantalla, se debe conectar al pin central de un potenciómetro de 10kohm, el cual a su vez debe estar conectado por medio de sus pines exteriores a la alimentación y tierra), de manera que al regular el potenciómetro se podrá regular el contraste de la pantalla.

-Pines de control
Estos pines deben ser conectados a pines digitales de la placa arduino.

RS:
 Selector de registro, por medio de este pin la LCD le dice al microcontrolador si lo que se desea hacer es mostrar caracteres o enviar comandos de control (como cambiar la posición del cursor o borrar la pantalla por ejemplo). Cuando RS esta en LOW recibe datos en modo comando y si esta en HIGH, los datos recibidos serán de texto para mostrar en pantalla.

RW: Pin de lectura o escritura, sirve para enviar datos al LCD o recibir datos de la LCD. Para enviar datos al LCD RW debe estar en LOW, para recibir datos de la LCD RW debe estar en HIGH; en nuestro caso conectaremos RW a tierra de manera que estará siempre en LOW.

E: Enable, es el pin que habilita la pantalla para comenzar a recibir información, sirve para advertir a la LCD que el microcontrolador va a enviar datos (pueden ser de control o información)

-Pines de información
Estos pines se deben conectar a los pines digitales del arduino. Se usan para estableces lineas de comunicación en paralelo por donde se transfieren datos y comandos de control del arduino hacia la LCD. Hay que tomar en cuenta que una LCD de 8 bits puede funcionar perfectamente con solo 4 bits (cables de datos), pero funcionará con una menor velocidad.

Los pines de datos D0, D1,D2 y D3 son opcionales, si se omiten en la programación del arduino solo se utilizarán D4, D5, D6 y D7

D0, D1, D2, D3: no serán utilizados para esta configuración de la pantalla, solo se utilizan cuando se trabaja con 8 bits (son opcionales).

D4, D5, D6, D7: Solo utilizaremos 4 bits para la comunicación entre la pantalla y el microcontrolador, por lo que usaremos los pines D4, D5, D6 y D7 (son obligatorios).

-Pines para el circuito de luz de fondo

Como todo LED se le debe conectar una resistencia de 220 ohm para regular su corriente, no necesariamente tiene que ser una resistencia de ese valor puede ser menor, pero esto dependerá siempre de la corriente máxima que pueda aguantar el led. 
(Revisar ¿Cómo calcular la resistencia de un led?)
A: pin de la luz del fondo de la pantalla (ánodo), se conecta 4 o 5V
K: pin de la luz del fondo de la pantalla (cátodo), se conecta a GND



Nota: Tener en cuenta que la conexión SIEMPRE va a depender de los pines que tengas configurados como pines de control


#include <LiquidCrystal.h>


const int rs = 7, en = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
 
  lcd.begin(16, 2);
 
  lcd.print("Frase rotativa");
  delay(1000);
}

void loop() {

  for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
 
    lcd.scrollDisplayLeft();
   
    delay(150);
  }

:
  for (int positionCounter = 0; positionCounter < 29; positionCounter++) {

    lcd.scrollDisplayRight();
   
    delay(150);
  }


  for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
 
    lcd.scrollDisplayLeft();
   
    delay(150);
  }

  // delay at the end of the full loop:
  delay(1000);

}


Librería LiquidCrystal

Esta es una librería oficial de Arduino por lo que todas las versiones de Arduino IDE la tienen en su software. Para poder utilizarla solo basta con llamarla en el sketch con el comando #include
También tenemos varios ejemplos basicos en archivo > ejemplos > LiquidCrystal

No hay comentarios.:

Publicar un comentario