Cómo agregar y probar la pantalla LCD para su proyecto reloj arduino
Una vez que haya programado y probado el corazón palpitante de su reloj de Arduino, necesita una manera de mostrar el tiempo sin necesidad de utilizar el monitor de serie. Aquí es donde la pantalla LCD viene en.
Éste es bastante barato y utiliza el controlador Hitachi HD44780 muy común. Estos módulos LCD son fácilmente reconocibles porque tienen 16 pines en una sola fila y utilizan lo que se conoce como interfaz paralela.
Debido a esto, el Arduino utiliza varios pines digitales para hacer el trabajo de visualización. Este proceso es algo complicado, pero por suerte, hay una biblioteca de Arduino para ello ya que hace que sea muy fácil de enviar el texto a la pantalla sin tener que preocuparse acerca de los comandos de bajo nivel que de otro modo serían necesarios.
Utiliza el modo de 4 bits para mostrar el texto, que necesita sólo siete pines digitales de Arduino para controlar la visualización. También necesita energía para el propio LCD, y por la luz de fondo. Por último, usted controla el contraste de la pantalla utilizando el potenciómetro.
Conecte el siguiente:
Añadir su pantalla LCD y el potenciómetro a la placa.
Conecte las clavijas de alimentación y tierra sobre su pantalla LCD, que son pernos 15 y 16, respectivamente.
Conecte la tierra y el poder de la retroiluminación de la pantalla LCD, que son Pines 1 y 2, respectivamente.
Conecte las clavijas de control para su LCD a los pines digitales en su Arduino.
16x2 LCD Pin Arduino Digital Pin 1 (a GND ferrocarril en placa) 2 (a + 5V ferrocarril en placa) 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 (a GND ferrocarril en placa) 13 12 14 (al potenciómetro pin central) 15 (a + 5V ferrocarril en placa) 16 (a GND ferrocarril en placa) Ahora conecte el potenciómetro, que controla el contraste de la pantalla.
El pasador central del potenciómetro debe ir al pin 14 de la pantalla LCD y los otros dos pines del potenciómetro están conectado a la alimentación y la tierra, en cualquier orden.
Ahora que ha conectado el LCD, es hora de que haga algo interesante! Lo primero que necesita para subir algo de código para asegurarse de que el LCD funciona correctamente. Este código es la primera parte de su dibujo despertador. Usted construye sobre ella para agregar todas las demás funciones de su reloj.
Puede copiar el código para el reloj de una sola vez, pero tenga en cuenta la adición en secciones, como se describe aquí. Eso hace que sea fácil de solucionar problemas y probar el reloj en etapas, a medida que lo construye.
Escriba el siguiente código en el IDE, o descargarlo de la página web compañero y subirlo a tu Arduino:
// Capítulo 7: Arduino Reloj despertador // Un despertador que utiliza la junta Adafruit Industrias DS1307 RTC Breakout // y una pantalla LCD de 16x2 Paralelo # include // I2C Biblioteca alambre para comunicarse con el DS1307 RTC # include "RTClib.h" // fecha y hora para el DS1307 RTC conectados #include // funciones de visualización de la pantalla LCD DisplayRTC_DS1307 rtc- // Crear un reloj en tiempo real llamado rtcLiquidCrystal lcd (12, 11, 5, 4, 3, 2) - // Crear LCD llamada configuración lcdvoid () {Wire.begin () - // Habilita la comunicación para la LCDrtc.begin () - // Habilita el RTClcd.begin (16, 2) - // Habilita el LCDlcd.print ("¡Está vivo ! ") - // Imprimir un mensaje, centrado, a la pantalla LCD para confirmar que es workingdelay (500) - // Espere un momento para que podamos leer itlcd.clear () - // Borrar la pantalla LCD} void loop () {}
Cuando se carga el código, debería ver el mensaje "! ¡Está vivo " visualizado por un medio segundo en la pantalla LCD. Si no ves nada, o si la pantalla se ha distorsionado personajes, que ha conectado algo incorrectamente. Volver a la tabla de cableado.
Las tres primeras líneas de este código son las bibliotecas que se pueden utilizar para su reloj. La primera incluye la biblioteca I2C que permite la comunicación con el módulo de RTC. I2C, pronunciado "-ojo cuadrado cee " o " ojo-dos-cee, " es un enlace de comunicación para hablar entre los circuitos integrados, en este caso la placa Arduino y el chip Dallas DS1307.
También es útil para la comunicación con un montón de otros accesorios, tales como módulos GPS. Lo útil sobre I2C es que sólo requiere dos alfileres, además de poder y tierra. Esta biblioteca hace que la comunicación bastante fácil con la mayoría de dispositivos I2C.
La próxima biblioteca es el RTCLib. Es una versión de una biblioteca escrita por JeeLab y modificado por Adafruit Industrias para la comunicación con el módulo de RTC. Se utiliza para obtener el tiempo desde el módulo RTC y utiliza la biblioteca I2C para negociar esa comunicación.
La última biblioteca es la biblioteca de la pantalla LCD, que se encarga de la comunicación paralela con la pantalla. A diferencia de la biblioteca RTC que agregó manualmente, se incluye como una biblioteca estándar en la distribución de software Arduino.
Después de incluir las bibliotecas, el código crea dos objetos: un objeto llamado reloj RTC y un objeto LiquidCrystal llamada lcd. Este objeto tiene parámetros que determinan qué pines digitales del Arduino utiliza para comunicarse con la pantalla LCD.
Después de crear los objetos, los configurar() la función se pone las cosas en marcha. El I2C, RTCLib y el lcd, todos han de ser permitido, que se realiza por el comenzar() función. los lcd.begin () función toma dos parámetros, el número de columnas y el número de filas, que en la pantalla son 16 y 2. Después de esto se ha establecido, puede escribir mensajes a la pantalla simplemente usando el lcd.print () función:
lcd.print (" Es Alive ") -
Hay dos espacios al principio de este texto, que se centra el mensaje de 11 caracteres en el espacio de 16 caracteres en la línea superior. Normalmente controlar la posición del texto con la setCursor () función, pero no se necesita aquí - una instrucción de menos de poner en configurar().
Después de un breve retraso por lo que se puede ver que se ha impreso a la pantalla, el lcd.clear () función borra todo el texto, listo para ir a por el bucle principal().