• 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
Zmiana stanów logicznych oświetlenia
#14
(25-11-2019, 12:51)Krzaczek napisał(a): Semi bardzo Ci dziękuję za odpowiedź. Zagłębię się w temat przerwań i spróbuję zrobić tak jak mi zasugerowałeś. Jeżeli już zrobię to oczywiście w odpowiedzi udostępnię program Smile
Jak chcesz aby program był bardziej pro (na Arduino to raczej niemożliwe) to RTC powinien byc w uC (programowy) synchronizowany zewnętrzym RTC. W razie problemów z zewnętrznym RTC, wewnętrzny nadal działa a program sygnalizuje problem.
Obsługa I2C na AVR też wymagała by zmiany. W praktyce arduinowe libs won i trzeba napisać swoje, odporne na status F8 i dodać funkcję "reanimacji" blokady I2C przez slave.
Te dwie modyfikacje (tak z 1 dzień roboty) zbliżą program do bardziej niezawodnego.


(25-11-2019, 17:19)Agregacik napisał(a): to przez minutę jak przyjdzie czas załączania lub wyłączania nie będzie można przyciskami gasić lub zapalać lampy.
Jak dla mnie nie do zaakceptowania. Modyfikuje soft, w którym czasem (przez arduinowe libs) program nie reaguje przez ponad 5 sekund. To potrafi człowieka doprowadzić do wściekłości a co dopiero 60 sekund.


(25-11-2019, 17:19)Agregacik napisał(a): Przerwanie można wykorzystać do sterowania rozjaśnianiem i ściemnianiem ale ja bym w pierwszej wersji zastosował delay (10). Mało eleganckie ale jak program tylko to robi co opisałeś to wystarczy.
Delay można zrobić na początku, jak działa, to jak najszybciej wywalić to.
Niestety, w Arduino nie da się (nie jest łatwo) wywalić wszystkie delay i "while ( zdarzenie ), bo są one w bibliotekach :-( Taki wątpliwy urok Arduino.

Nawet tak prosty projekt, jak sterowanie światełkiem w akwarium może być dużym wyzwaniem na Arduino jeśli ma to działać pewnie. Gdyby przyszło dodać nadzór przez ETH, rejestrację parametrów jak temp wody w czasie i inne bajery, to projekt jest praktycznie nie do zrealizowania na Arduino z wykorzystaniem jednego uC a jak już na pewno pochłonie bardzo ale to bardzo dużo czasu więc szybciej i lepiej zrobić odcinając się od Arduino.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Zmiana stanów logicznych oświetlenia - przez semi - 25-11-2019, 18:37

Skocz do:


Przeglądający: 1 gości