giovedì 8 marzo 2012

Orologio LCD con Arduino

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!

6 commenti:

  1. Se si vuole eliminare il potenziometro ed avere il contrasto sempre al massimo, basta collegare il pin3 del display al GROUND.

    RispondiElimina
    Risposte
    1. A me da i seguenti errori.. a cosa è dovuto?

      sketch_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

      Elimina
  2. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  3. domanda stupida: hai integrato la libreria SWRTC in arduino, vero?

    RispondiElimina
  4. No.. ho appena iniziato ad usarlo quindi non so ancora come muovermi.. ora provo a vedere come si integrano le librerie! grazie!

    RispondiElimina