Arduino - Reloj LCD

En este tutorial, vamos a aprender a hacer un reloj LCD mediante:

Puedes elegir entre dos módulos RTC: DS3231 y DS1307. Consulta DS3231 vs DS1307

Acerca del módulo RTC LCD, DS3231 y DS1307

Si no conoces LCD, DS3231 y DS1307 (disposición de pines, cómo funcionan, cómo programarlos ...), aprende sobre ellos en los siguientes tutoriales:

Instalar bibliotecas de LCD y RTC

  • Navega al icono de Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “LiquidCrystal I2C”, luego encuentra la biblioteca LiquidCrystal_I2C de Frank de Brabander.
  • Haz clic en el Instalar botón para instalar la biblioteca LiquidCrystal_I2C.
Biblioteca LiquidCrystal I2C para Arduino
  • Busca “RTClib”, luego localiza la librería RTC de Adafruit. Esta librería funciona con DS3231 y DS1307.
  • Haz clic en el botón Instalar para instalar la librería RTC.
Biblioteca RTC de Arduino
  • Puede que se le solicite instalar algunas otras dependencias de bibliotecas
  • Haga clic en el botón Instalar Todo para instalar todas las dependencias de las bibliotecas.
Biblioteca de dependencias RTC para Arduino

Lectura de la hora desde el módulo RTC DS3231 y mostrarla en la pantalla LCD

Diagrama de cableado

Diagrama de cableado de Arduino DS3231 LCD

This image is created using Fritzing. Click to enlarge image

Código de Arduino - DS3231 y LCD

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-lcd-clock */ #include <LiquidCrystal_I2C.h> #include <RTClib.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows RTC_DS3231 rtc; void setup() { Serial.begin(9600); lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight // SETUP RTC MODULE if (!rtc.begin()) { Serial.println("Couldn't find RTC"); Serial.flush(); while (true) ; } // automatically sets the RTC to the date & time on PC this sketch was compiled rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } void loop() { DateTime now = rtc.now(); int year = now.year(); int month = now.month(); int day = now.day(); int hour = now.hour(); int minute = now.minute(); int second = now.second(); lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Date: "); lcd.print(year); lcd.print("/"); lcd.print(month); lcd.print("/"); lcd.print(day); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Time: "); lcd.print(hour); lcd.print(":"); lcd.print(minute); lcd.print(":"); lcd.print(second); delay(1000); // Update every second }

Pasos R\u00e1pidos

  • Copie el código anterior y ábralo con Arduino IDE
  • Haga clic en el botón Subir en Arduino IDE para subir el código al Arduino
  • Ver el resultado en la pantalla LCD

Lectura de la hora desde el módulo RTC DS1307 y mostrarla en la pantalla LCD

Diagrama de cableado

Diagrama de cableado de Arduino DS1307 LCD

This image is created using Fritzing. Click to enlarge image

Código de Arduino - DS1307 y LCD

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-lcd-clock */ #include <LiquidCrystal_I2C.h> #include <RTClib.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows RTC_DS1307 rtc; void setup() { Serial.begin(9600); lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight // SETUP RTC MODULE if (!rtc.begin()) { Serial.println("Couldn't find RTC"); Serial.flush(); while (true) ; } // automatically sets the RTC to the date & time on PC this sketch was compiled rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } void loop() { DateTime now = rtc.now(); int year = now.year(); int month = now.month(); int day = now.day(); int hour = now.hour(); int minute = now.minute(); int second = now.second(); lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Date: "); lcd.print(year); lcd.print("/"); lcd.print(month); lcd.print("/"); lcd.print(day); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Time: "); lcd.print(hour); lcd.print(":"); lcd.print(minute); lcd.print(":"); lcd.print(second); delay(1000); // Update every second }

Pasos R\u00e1pidos

  • Copie el código anterior y ábralo con el IDE de Arduino
  • Haga clic en el botón Subir en el IDE de Arduino para cargar el código al Arduino
  • Vea el resultado en la pantalla LCD

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!