RTCModuleDS1302 och LCDI2C16x02 (A0, A1, A2 inte lödas-utan en bro) (6 / 6 steg)
Steg 6: Bibliotek för LCDI2C16x02
Skiss för LCDI2C och RTCModule DS1302 (ingen bro innebär A0, A1, A2 inte lödas över använda LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7, 3, positiv); / / Addr, sv, Rw, Rs, d4, d5, d6, d7, backlighpin, polaritet
och om lödda använda LiquidCrystal_I2C lcd (0x20, 2, 1, 0, 4, 5, 6, 7, 3, positiv); Addr, sv, Rw, Rs, d4, d5, d6, d7, backlighpin, polaritet):
#include < Wire.h >
#include < LCD.h >
#include < LiquidCrystal_I2C.h >
#include < DS1302.h >
Init DS1302
DS1302 rtc (2, 3, 4);
Init LCD
LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7, 3, positiv); Addr, sv, Rw, Rs, d4, d5, d6, d7, backlighpin, polaritet
void setup()
{
Ställa in klockan till run-läge och inaktivera skrivskydd
RTC.halt(false);
rtc.writeProtect(false);
Setup LCD till 16 x 2 tecken
LCD.BEGIN (16, 2);
Följande rader kan kommenteras ut för att använda värden redan lagrade i DS1302
rtc.setDOW(FRIDAY); Satt dagen av veckan till fredag
rtc.setTime (12, 54, 0); Ställa in tiden till 12:00:00 (24hr format)
rtc.setDate (7, 2, 2015); Ställ in datum till 6 augusti, 2010
}
void loop()
{
Visa tid centrerad på den övre raden
lcd.setCursor (4, 0);
LCD.Print(RTC.getTimeStr());
Visa förkortat dagen av veckan i det nedre vänstra hörnet
lcd.setCursor (0, 1);
LCD.Print(RTC.getDOWStr(FORMAT_SHORT));
Visa datum i det nedre högra hörnet
lcd.setCursor (6, 1);
LCD.Print(RTC.getDateStr());
Vänta en sekund innan du upprepar :)
fördröjning (1000);
}