image0.jpg

Cómo agregar y probar la pantalla LCD para su proyecto de reloj Arduino

Una vez que haya programado y probado el corazón palpitante de su reloj Arduino, necesita una forma de mostrar la hora sin usar el monitor en serie. Aquí es donde entra la pantalla LCD.

Éste es bastante económico y utiliza el controlador Hitachi HD44780 muy común. Estos módulos LCD se reconocen fácilmente porque tienen 16 pines en una sola fila y utilizan lo que se conoce como interfaz paralela .

Debido a esto, Arduino usa varios pines digitales para que la pantalla funcione. Este proceso es algo complicado, pero afortunadamente, ya existe una biblioteca Arduino que hace que sea muy fácil enviar texto a la pantalla sin preocuparse por los comandos de bajo nivel que de otro modo serían necesarios.

Utiliza el modo de 4 bits para mostrar texto, que solo necesita siete pines digitales Arduino para controlar la pantalla. También necesita energía para la pantalla LCD y para la luz de fondo. Finalmente, controlas el contraste de la pantalla usando el potenciómetro.

Conecte lo siguiente:

  1. Agregue su pantalla LCD y potenciómetro a su tablero.

  2. Conecte los pines de alimentación y tierra en su LCD, que son los pines 15 y 16, respectivamente.

  3. Conecte la tierra y la energía para la luz de fondo de su LCD, que son los pines 1 y 2, respectivamente.

  4. Conecte los pines de control de su LCD a los pines digitales de su Arduino.

    Pin de pantalla LCD 16 × 2 Pin de Arduino Digital
    1 (al riel GND en la placa de pruebas)
    2 (a riel de + 5 V en la placa de pruebas)
    3 2
    4 3
    5 4
    6 5
    7 (sin conexión)
    8 (sin conexión)
    9 (sin conexión)
    10 (sin conexión)
    11 11
    12 (al riel GND en la placa de pruebas)
    13 12
    14 (al pin central del potenciómetro)
    15 (a riel de + 5V en tablero)
    16 (al riel GND en la placa de pruebas)
  5. Ahora conecte el potenciómetro, que controla el contraste de la pantalla.

    El pin central del potenciómetro debe ir al pin 14 de la pantalla LCD y los otros dos pines del potenciómetro están conectados a la alimentación y a tierra, en cualquier orden.

    image0.jpg

LEER  Cómo crear un prototipo de un teclado y una pantalla para su proyecto Arduino de sistema de entrada con teclado

Ahora que ha conectado su LCD, ¡es hora de que haga algo interesante! Primero debe cargar algún código para asegurarse de que la pantalla LCD funcione correctamente. Este código es la primera parte del boceto de su reloj despertador. Se basa en él para agregar todas las demás funciones de su reloj.

Puede copiar el código del reloj de una sola vez, pero considere agregarlo en secciones, como se describe aquí. Eso facilita la resolución de problemas y la prueba del reloj por etapas, a medida que lo construye.

Ingrese el siguiente código en el IDE o descárguelo del sitio web complementario y cárguelo en su Arduino:

// Capítulo 7: Despertador Arduino
// Un reloj despertador que utiliza la placa de ruptura RTC DS1307 de Adafruit Industries
// y una pantalla LCD paralela de 16x2
#include <Wire.h> // Biblioteca de cables I2C para comunicarse con el DS1307 RTC
#include "RTClib.h" // Funciones de fecha y hora para el DS1307 RTC conectado
#include <LiquidCrystal.h> // Funciones de visualización para la pantalla LCD
RTC_DS1307 rtc; // Crea un reloj en tiempo real llamado rtc
LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Crea una pantalla LCD llamada lcd
configuración vacía () {
 Wire.begin (); // Habilita la comunicación para el LCD
 rtc.begin (); // Habilita el RTC
 lcd. comienzo (16, 2); // Habilita la pantalla LCD
 lcd.print ("¡Está vivo!"); // Imprime un mensaje, centrado, en la pantalla LCD para confirmar que funciona
 retraso (500); // Espera un momento para que podamos leerlo
 lcd.clear (); // Limpiar la pantalla LCD
}
bucle vacío () {
}

Cuando se carga este código, debería ver el mensaje “¡Está vivo!” visualizado durante medio segundo en la pantalla LCD. Si no ve nada o si la pantalla tiene caracteres confusos, ha conectado algo incorrectamente. Vuelve a la tabla de cableado.

LEER  Lo que debe saber sobre los sensores Arduino: uso de sensores capacitivos

Las primeras tres líneas de este código incluyen las bibliotecas que se utilizarán para su reloj. El primero incluye la biblioteca I2C que permite la comunicación con el módulo RTC. I2C, que se pronuncia “eye-squared cee” o “eye-two-cee”, es un enlace de comunicación para hablar entre circuitos integrados, en este caso su Arduino y el chip Dallas DS1307.

También es útil para comunicarse con muchos otros accesorios, como módulos GPS. Lo útil de I2C es que solo requiere dos pines, más energía y tierra. Esta biblioteca facilita la comunicación con la mayoría de los dispositivos I2C.

La siguiente biblioteca es RTCLib. Es una versión de una biblioteca escrita por JeeLab y modificada por Adafruit Industries para comunicarse con el módulo RTC. Se usa para obtener el tiempo del módulo RTC y usa la biblioteca I2C para negociar esa comunicación.

La última biblioteca es la biblioteca de pantallas LCD, que maneja la comunicación paralela con su pantalla. A diferencia de la biblioteca RTC que agregó manualmente, se incluye como una biblioteca estándar en la distribución del software Arduino.

Después de incluir las bibliotecas, el código crea dos objetos: un objeto de reloj llamado rtc y un objeto LiquidCrystal llamado lcd. Este objeto tiene parámetros que determinan qué pines digitales usa Arduino para comunicarse con la pantalla LCD.

Después de crear esos objetos, la función setup () pone las cosas en marcha. El I2C, RTCLib y el lcd tienen que estar habilitados, lo cual se hace con la función begin () . La función lcd.begin () toma dos parámetros, el número de columnas y el número de filas, que en su pantalla son 16 y 2. Una vez configurado, puede escribir mensajes en la pantalla simplemente usando lcd.print () función:

lcd.print (“¡Está vivo!”);

Hay dos espacios al comienzo de este texto, que centra el mensaje de 11 caracteres dentro del espacio de 16 caracteres en la línea superior. Normalmente controlas la posición del texto con la función setCursor () , pero no es necesaria aquí, una instrucción menos para poner en setup ().

Después de un breve retraso para que pueda ver que se ha impreso en la pantalla, la función lcd.clear () borra todo el texto, listo para ir al bucle principal ().

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *