În acest proiect, vom vedea cum se afișează ora și data pe un ecran LCD. Acest proiect poate fi foarte util pentru realizarea unui ceas deșteptător sau pur și simplu a unui ceas. Trebuie doar să adăugați baterii la placa Arduino și să imprimați o carcasă pe o imprimantă 3D pentru a avea un ceas real și independent.
Acum să ne uităm la materialele necesare pentru proiect:
O placă Arduino Uno
Un afișaj cu cristale lichide (LCD) de 16×2
Un potențiometru
Un rezistor de 220 ohmi
Fire de conectare (aproximativ cincisprezece!)
Potențiometrul este folosit pentru a regla luminozitatea ecranului. Poți renunța la el conectând 5V direct la firul maro, iar la GND-ul care merge de la potențiometru la ecran îl poți conecta direct la placa Arduino.
#include <LiquidCrystal.h>
int heure_date[6] = {10,34,18,18,10,2022};
int mod[6] = {60,60,24,31,12,3000};
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
}
void loop() {
heure_date[0]++;
for (int i = 0; i < 6 ; i++){
if (heure_date[i] == mod[i]) {
if (i<5) {heure_date[i+1] ++;}
heure_date[i] = 0;
}
}
lcd.setCursor(0,0);
for (int j = 3; j < 5; j++) {
if (heure_date[j]<10){
lcd.print("0");
lcd.print(heure_date[j]);
}
else {lcd.print(heure_date[j]);}
lcd.print("/");
}
lcd.print(heure_date[5]);
lcd.setCursor(0,1);
for (int j = 2; j >= 0; j--) {
if (heure_date[j]<10)
{
lcd.print ("0");
lcd.print(heure_date[j]);
}else {lcd.print(heure_date[j]);}
if (j != 0){
lcd.print(":");
}
}
delay(250);
}
După cum puteți vedea în imagine, ora și data plecării sunt fixe și este posibil să nu fie neapărat ziua corectă. Prin urmare, puteți schimba această dată singur în program.
Iată linia de modificat:
int heure_date[6] = {10,34,18,18,10,2022}; //al doilea minut oră zi lună an
După cum puteți vedea, ceasul și data nu se actualizează în continuare odată ce placa Arduino este oprită. Acest lucru poate fi deranjant dacă, de exemplu, realizați un ceas. Pentru a rezolva această problemă, puteți adăuga la proiect un modul de ceas RTC (cum ar fi DS3231) care va calcula ora chiar și atunci când placa Arduino este oprită, datorită unei baterii independente de sursa de alimentare a plăcii Arduino.
Iată simularea proiectului: