En este proyecto veremos cómo mostrar la hora y la fecha en una pantalla LCD. Este proyecto podría ser muy útil para hacer un despertador o simplemente un reloj. Todo lo que necesitas hacer es añadir baterías a la placa Arduino e imprimir una caja usando una impresora 3d para tener un verdadero reloj autónomo. Dificultad : Material necesario A continuación veremos el hardware necesario para el proyecto:Placa Arduino UnoUna pantalla LCD de cristal líquido de 16×2Un potenciómetroUna resistencia de 220ohmiosCables de conexión (¡unos quince!) Diagrama del reloj Arduino ¿Para qué sirve el potenciómetro? El potenciómetro se utiliza para ajustar el brillo de la pantalla. Se puede prescindir de él conectando 5V directamente al cable marrón y el GND que va del potenciómetro a la pantalla se puede conectar directamente a la placa Arduino. Programa de reloj Arduino #include <LiquidCrystal.h> // Library for LCD Screen int time_date[6] = {10, 34, 18, 18, 10, 2022}; //second minute hour day month year int limits[6] = {60, 60, 24, 31, 12, 3000}; // increment limits LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Initialize the library with the connected pins void setup() { lcd.begin(16, 2); // Initialize the LCD with its dimensions } void loop() { time_date[0]++; // time increment for (int i = 0; i < 6 ; i++){ if (time_date[i] == limits[i]) { // check limit overflow if (i<5) {time_date[i+1]++;} time_date[i] = 0; } } lcd.setCursor(0,0); // Position cursor on first line for (int j = 3; j < 5; j++) { // display date if (time_date[j]<10){ lcd.print("0"); lcd.print(time_date[j]); } else {lcd.print(time_date[j]);} lcd.print("/"); } lcd.print(time_date[5]); lcd.setCursor(0,1); // Position cursor on second line for (int j = 2; j >= 0; j--) { // display time if (time_date[j]<10) { lcd.print("0"); lcd.print(time_date[j]); }else {lcd.print(time_date[j]);} if (j != 0){ lcd.print(":"); } } delay(250); } Cambia la hora y la fecha en el programa Como puede ver en la imagen, la fecha y hora de inicio son fijas y no coinciden necesariamente con el día correcto. Por lo tanto, puede cambiar esta fecha usted mismo en el programa.Aquí tiene la línea que debe cambiar: int time_date[6] = {10, 34, 18, 18, 10, 2022}; //second, minute, hour, day, month, year ¿Cómo puedo mantener la hora actual cuando el Arduino está apagado? Como puedes ver, el reloj y la fecha no siguen actualizándose una vez que la placa Arduino se ha apagado. Esto puede ser molesto si estás haciendo un reloj, por ejemplo. Para solucionar este problema, puedes añadir al proyecto un módulo de reloj rtc (como el DS3231), que calculará la hora incluso cuando la placa Arduino esté apagada gracias a una batería independiente de la alimentación de la placa Arduino. Simulación de reloj Arduino He aquí la simulación del proyecto: