Tässä projektissa näemme, miten aika ja päivämäärä näytetään LCD-näytöllä. Tämä projekti voi olla erittäin hyödyllinen herätyskellon tai tavallisen kellon tekemiseen. Sinun tarvitsee vain lisätä paristot Arduino-levylle ja tulostaa kotelo 3D-tulostimella saadaksesi oikean itsenäisen kellon.

Vaikeusaste:

Tarvittavat varusteet

Katsotaanpa nyt projektin tarvittavia materiaaleja:

Arduino Uno -kortti
16×2 nestekidenäyttö (LCD)
Potentiometri
220 ohmin vastus
Hypperijohdot (noin viisitoista!)

Kellokaavio Arduino

Schéma horloge Arduino

Mihin potentiometriä käytetään?

Potentiometriä käytetään näytön kirkkauden säätöön. Voit pärjätä ilman sitä kytkemällä 5 V suoraan ruskeaan johtoon ja potentiometristä näyttöön menevän GND:n suoraan Arduino-levyyn.

Ohjelma Arduino-kellolle

#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);
}
 

Muuta ohjelmassa kellonaikaa ja päivämäärää!

Kuten kuvasta näkyy, lähtöaika ja -päivä ovat kiinteitä, eivätkä ne välttämättä ole oikea päivä. Voit siis muuttaa tätä päivämäärää itse ohjelmassa.

Muokattava rivi on seuraava:

int heure_date[6] = {10,34,18,18,10,2022}; //seconde minute heure jour mois année

Miten säilytetään nykyinen aika, kun Arduino on pois päältä?

Kuten näet, kellonaika ja päivämäärä eivät päivity jatkuvasti Arduino-levyn sammuttamisen jälkeen. Tämä voi olla ärsyttävää esimerkiksi silloin, kun teet kelloa. Voit ratkaista tämän ongelman lisäämällä projektiin RTC-kellomoduulin (kuten DS3231), joka laskee ajan, vaikka Arduino-levy olisi sammutettu, koska se toimii paristolla, joka ei riipu Arduino-levyn virtalähteestä.

Arduino kellosimulaatio

Tässä on projektin simulaatio: