Witam, przepraszam za kiepski tytuł ale nie mam pomysłu jak opisać problem.
Robię sobie urządzenie posiadające RTC, jest to na razie moduł DS1307. Docelowo chciałbym móc wybrać dzień tygodnia, określić ramy godzinowe np 10:00 - 15:00 i w tych godzinach załączać przekaźnik co określony czas, np co 30 minut.
Właściwie mam cały program ale przyszedł czas napisania metody dla uruchamiania tego przekaźnika co 30 minut. i tutaj zaczynają się problemy bo jeśli uruchomię tą funkcję i będziemy mieli np 11:40 da to 11:70, a co za tym idzie funkcja nigdy nie zadziała. Oczywiście żaden to problem, można zrobić to np. (40 + 30) - 60 = 10 i w takim wypadku dodać +1 do godziny a jako minuty ustawić to co zostało z działania i problem się rozwiązał. Ale idąc dalej to samo zacznie się dziać z godzinami a następnie dniami miesiącami (uwzględnienie miesięcy 30 i 31 dniowych plus luty) później lata przestępne itp.
dlatego mam pytanie, czy jest na to jakieś proste rozwiązanie jakaś biblioteka etc ?
Jedyne co przychodzi mi do głowy to zmiana modułu na DS3231 który obsługuje dwa alarmy sprzętowo które można by podstawić pod zmienne i funkcje ustawiania alarmu, wtedy co ustawiony okres czasu moduł sam wyśle do atmegi sygnał, że "już pora"
Robię sobie urządzenie posiadające RTC, jest to na razie moduł DS1307. Docelowo chciałbym móc wybrać dzień tygodnia, określić ramy godzinowe np 10:00 - 15:00 i w tych godzinach załączać przekaźnik co określony czas, np co 30 minut.
Właściwie mam cały program ale przyszedł czas napisania metody dla uruchamiania tego przekaźnika co 30 minut. i tutaj zaczynają się problemy bo jeśli uruchomię tą funkcję i będziemy mieli np 11:40 da to 11:70, a co za tym idzie funkcja nigdy nie zadziała. Oczywiście żaden to problem, można zrobić to np. (40 + 30) - 60 = 10 i w takim wypadku dodać +1 do godziny a jako minuty ustawić to co zostało z działania i problem się rozwiązał. Ale idąc dalej to samo zacznie się dziać z godzinami a następnie dniami miesiącami (uwzględnienie miesięcy 30 i 31 dniowych plus luty) później lata przestępne itp.
dlatego mam pytanie, czy jest na to jakieś proste rozwiązanie jakaś biblioteka etc ?
Jedyne co przychodzi mi do głowy to zmiana modułu na DS3231 który obsługuje dwa alarmy sprzętowo które można by podstawić pod zmienne i funkcje ustawiania alarmu, wtedy co ustawiony okres czasu moduł sam wyśle do atmegi sygnał, że "już pora"