Arduino uno DS1307RTC – zegar z budzeniem

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Witam, jak dopisać budzenie o godzinie 6.00 do DS1307RTC.
Tak aby włączał się przekaźnik i można by go wyłączyć ręcznie np. switchem ręcznym off , z możliwością sterowania tym przekaźnikiem on, niezależnie od “budzenia”

oto mój zegar:

#include <DS1307RTC.h>
#include <Time.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define BACKLIGHT_PIN 3
LiquidCrystal_I2C lcd(0x27,20,4);

const char *monthName[12] = {
“Jan”, “Feb”, “Mar”, “Apr”, “May”, “Jun”,
“Jul”, “Aug”, “Sep”, “Oct”, “Nov”, “Dec”
};

void setup() {

lcd.begin(16, 2);
lcd.setBacklight(HIGH);
}

void loop() {
tmElements_t tm;

if (RTC.read(tm)) {

lcd.setCursor (0, 0);
LCDprint2digits(tm.Hour);
lcd.print(‘:’);
LCDprint2digits(tm.Minute);
lcd.print(‘:’);
LCDprint2digits(tm.Second);
lcd.setCursor (0, 1);
lcd.print(tm.Day);
lcd.print(‘/’);
lcd.print(monthName[tm.Month-1]);
lcd.print(‘/’);
lcd.print(tmYearToCalendar(tm.Year));
} else {
if (RTC.chipPresent()) {
lcd.println(“DS1307 stoi. Uruchom Zegar”);
}
else {
lcd.println(“DS1307 blad oczczytu!”);
lcd.println(“sprawdz polaczenie”);
}
delay(9000);
}
delay(1000);
}

//void print2digits(int number) {
// if (number >= 0 && number < 10) {
// Serial.write(‘0’);
// }
// Serial.print(number);
//}

void LCDprint2digits(int number) {
if (number >= 0 && number < 10) {
lcd.write(‘0’);
}
lcd.print(number);
}

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Ocena: 1/5 (głosów: 3)

Podobne posty

Jeden komentarz

Odpowiedz

anuluj

Masz uwagi?