RTC sekundnik - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: RTC sekundnik (/watek-rtc-sekundnik) |
RTC sekundnik - pawcio404 - 28-11-2017 Witam, Mam pytanie odnośnie odliczania czasu przy pomocy modułu RTC. Nie chcę używać funkcji delay(); oraz millis();, za dużo elementów do odliczania. Chciałbym zrobić, aby arduino wraz z modułem RTC odliczało czas i np. jeśli minie 400s ma włączyć led 1, drugie urządzenie ma być uruchomione na czas 80s. Obecnie korzystam z bibliotek TimeLib.h i DS1307RTC.h RE: RTC sekundnik - azbest22 - 28-11-2017 jak nie chcesz się bawić z przerwaniami to zdaje się ds1307 ma pin opisany jako out i generuje sygnał co dokładnie sekundę. Możesz go sprawdzać na jakimś pinie arduino i powiększać w pętli jakąś zmienną za każdym razem jak się zmieni stan pinu. albo nawet dowolną ilość zmiennych dla każdego z twoich zadań. jak wynik w ifie sprawdzisz że ok to zerujesz daną zmienną i wykonujesz jakieś tam swoje zadanie, a ona liczy się od zera. Cytat:SQW/OUT (Square Wave/ Output Driver) - a tu wycinek z dokumentacji układu. RE: RTC sekundnik - pawcio404 - 06-12-2017 A nie ma lepszego rozwiązania? Ponieważ mam 12 zmiennych czasowych, do których przy tej metodzie będę musiał zaimplementować dodatkowych 12 zmiennych pomocniczych. Dodatkowo chciałbym się zapytać czy jest możliwość zapisu w pamięci eeprom wartości powyżej 255, czytałem trochę o przesunięciu bitowym ale nie wiem jak się za to zabrać. Edit: Narazie bazuje na stworzeniu dodatkowych zmiennych i robie działanie (now() - zmiennaReferencyja > zmienna). RE: RTC sekundnik - Burakko - 07-12-2017 A mógł byś opisać co dokładnie chcesz by się działo ? Co ma robić program ? Wtedy można było by pęknąć jakieś przykłady. I czy pracować ma to w domu czy na zewnątrz. W końcu zima a różnica temperatur nie sprzyja RTC i wtedy bym polecił DS3231 bo posiada kompensacje temperaturową. RE: RTC sekundnik - pawcio404 - 20-12-2017 Przepraszam za opóźnienie ale byłem dość zajęty. Chciałbym zrobić program, który włączałby urządzenie co 2min na czas 15s. RE: RTC sekundnik - JasQ - 03-01-2018 Tyle że przy użyciu rtc jest jakby nie patrząc więcej do liczenia bo czas rtc musisz przeliczać na minuty sekundy itd . możesz to zrobić w prosty sposób na millis np. tu odpalany z przycisku Kod: int czas_pracy_1 = 15; a jak chcesz cyklicznie to tak Kod: int czas_pracy_1 = 3; ponieważ "cm" jest stała dla całego programu możesz sobie te 3 linijki powtórzyć dla każdego urządzenia z tym że dla każdego musisz zrobić osobny cykl i Pm |