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