Questa volta vedremo come costruire un orologio LCD con arduino.
Al momento non dispongo di un RTC hardware, per cui mi dovrò accontentare della libreria RTC software:
Necessario:
-Arduino
-Display LCD HD44780 o compatibile
-Potenziometro 10k.
Disporre sulla breadboard i componenti così:
E caricare sull'Arduino questo sketch:
#include <LiquidCrystal.h>
#include <swRTC.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
swRTC rtc; 
void setup() {
    rtc.stopRTC();
    rtc.setTime(18, 31, 25);
    rtc.setDate(8, 03, 2012);
    rtc.startRTC();
    lcd.begin(16, 2);
}
void loop() {
    lcd.setCursor(0, 0);
    lcd.print(rtc.getHours(), DEC);
    lcd.print(":");
    lcd.print(rtc.getMinutes(), DEC);
    lcd.print(":");
    lcd.print(rtc.getSeconds(), DEC);
    lcd.print("  ");
    lcd.setCursor(0, 1);
    lcd.print(rtc.getDay(), DEC);
    lcd.print(":");
    lcd.print(rtc.getMonth(), DEC);
    lcd.print(":");
    lcd.print(rtc.getYear(), DEC);
    lcd.print("  ");
}
Fatto! 

 
Se si vuole eliminare il potenziometro ed avere il contrasto sempre al massimo, basta collegare il pin3 del display al GROUND.
RispondiEliminaA me da i seguenti errori.. a cosa è dovuto?
Eliminasketch_oct30a:5: error: 'swRTC' does not name a type
sketch_oct30a.cpp: In function 'void setup()':
sketch_oct30a:8: error: 'rtc' was not declared in this scope
sketch_oct30a.cpp: In function 'void loop()':
sketch_oct30a:19: error: 'rtc' was not declared in this scope
Questo commento è stato eliminato dall'autore.
RispondiEliminadomanda stupida: hai integrato la libreria SWRTC in arduino, vero?
RispondiEliminaNo.. ho appena iniziato ad usarlo quindi non so ancora come muovermi.. ora provo a vedere come si integrano le librerie! grazie!
RispondiEliminapure a me da errori
RispondiElimina