Witam, jak dopisać budzenie o godzinie 6.00 do DS1307RTC

Zrobiłeś coś fajnego z wykorzystaniem Arduino? Pochwal się tym!
ODPOWIEDZ
userHD
Młodszy majsterkowicz
Posty: 1
Rejestracja: 31 lip 2016, 09:07

Witam, jak dopisać budzenie o godzinie 6.00 do DS1307RTC

Post autor: userHD » 31 lip 2016, 09:14

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);
pinMode(8, OUTPUT);
}

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);
if (tm.Hour == 21 && tm.Minute == 15 && tm.Second == 01) {
digitalWrite(8, HIGH);
delay(2000);
digitalWrite(8, LOW);
delay(2000);
digitalWrite(8, HIGH);
delay(2000);
digitalWrite(8, LOW);

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

prośba o pomoc...

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


rosak
Młodszy majsterkowicz
Posty: 25
Rejestracja: 2 lip 2016, 16:30

Re: Witam, jak dopisać budzenie o godzinie 6.00 do DS1307RTC

Post autor: rosak » 6 sie 2016, 16:52

Podłączę się do pytania. Robię oświetlenie ogrodu i chciałbym aby np. o 21 zapalały się światła ale żeby też niezależnie od tego, można było je ręcznie zapalić. Teoretycznie powinno działać tak:
if (digitalRead(switch, LOW) || tm.Hour == 21) {
...
Niestety po wgraniu tego kodu w ogóle brak reakcji na switch.
rosak
Młodszy majsterkowicz
Posty: 25
Rejestracja: 2 lip 2016, 16:30

Re: Witam, jak dopisać budzenie o godzinie 6.00 do DS1307RTC

Post autor: rosak » 6 sie 2016, 19:02

Racja Krapi, tak też robiłem, pomyłka tylko tu na forum.
rosak
Młodszy majsterkowicz
Posty: 25
Rejestracja: 2 lip 2016, 16:30

Re: Witam, jak dopisać budzenie o godzinie 6.00 do DS1307RTC

Post autor: rosak » 7 sie 2016, 12:43

Na razie nie będę nic wklejał, muszę jeszcze raz przetestować tą opcję, tym bardziej, że mówisz, że powinno działać. Niestety nie mogę się dogadać ze swoją Atmegą przez Bluetooth podłączony wg projektu Bluino. Raz działa, raz nie. Nie mam czasu teraz się z tym grzebać.
Autor wątku czyli główny zainteresowany powinien natomiast przetestować tą opcję i napisać czy działa.
BTW jestem nowy na forum, i dziwi mnie, że nie dostaję powiadomień o odpowiedzi do tego tematu.
ODPOWIEDZ

Strony partnerskie: