• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Synchronizowanie przekaźnika z wyświetlaczem LCD i modułem RTC
#2
Zanim podłączysz przekaźnik użyj LED lub buzera, może jakiś głośnik i generator dźwięku zastąpi przekaźnik w ogóle. A jeśli program zadziała, lecz tylko z przekaźnikiem będą problemy wyszukaj w Google "gasik przekaźnika", RC, był niedawno taki temat na innym forum, są opisy na blogach.
Nie jestem przekonany, że dobrze używasz tego zegara, może sam zegar jest po prostu do bani. Czytanie czasu w każdym obiegu loop sprawi, że 99% czasu działania tego programu pochłonie sprawdzanie jaka jest godzina, czy minęła już sekunda. A i tak będzie to mocno przybliżone, bo przecież jest opóźnienie, zegar musi przekazać dość dużo danych, zanim trafi w tę konkretną chwilę może być zajęty czymś innym. Robię tak z millis(), ale uC nie gada wtedy z urządzeniem zewnętrznym, nie muszę mu wysłać polecenia, odebrać wiadomości, przeanalizować w funkcjach i użyć wyników, cała funkcja czas() z millis() trwa kilka us.
Albo zrobiłbym to używając millis(), przykłady zobaczysz w ostatnich moich postach, czas z RTC synchronizował okresowo, może co minutę. Albo wziąłbym zegar RTC z wyjściem sygnału prostokątnego 1Hz, jak zegar odliczy nową sekundę to zmienia stan pinu, podłączasz to pod przerwanie zewnętrzne i informacja jest przekazana do Arduino w czasie nanosekund.
Jak nie chcesz używać millis, bo tu dokładność też będzie zależeć co jeszcze się pojawi w kodzie, można użyć dwóch wolnych timerów z UNO i ich przerwań.
   
Nie wszystkie RTC mają wyprowadzone ten sygnał, a Twój nie ma go raczej wcale.
Używasz modulo, ta sekcja
Kod:
    if(myRTC.seconds %10)
    {
      sprintf(time ....
nie wykona się tylko dla liczby sekund podzielnej przez 10 bez reszty. Nie wiem czy o to Ci chodziło. 
Można przeprowadzić takie działanie i porównanie, że jeśli reszta z dzielenia przez 10 jest równa 9 to zrób cośtam (lub tylko wtedy nie rób), może tego bardziej szukasz?
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Synchronizowanie przekaźnika z wyświetlaczem LCD i modułem RTC - przez kaczakat - 04-02-2022, 00:49

Skocz do:


Przeglądający: 1 gości