• 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
#13
A może tak.
zadeklarować zmienną "lampa", jak ma wartość 0 to nie świeci a jak ma wartość 1 to świeci, ogólnie dla 1 przebiega proces włączania czyli rozjaśnianie lub wyłączania dla 0 czyli ściemnianie.

byte lampa = 0;

void Timer ()
{
dt = clock.getDateTime();

if ( t1HOn == dt.hour && t1MOn ==dt.minute)
{
lampa = 1;
}
if ( t1HOff == dt.hour && t1MOff ==dt.minute)
{

lampa = 0;
}

}

void Przyciski ()
{
if (jeżeli naciśnięty przycisk załącz lampę )
{
lampa = 1;
}
if (jeżeli naciśnięty przycisk wyłącz lampę )
{
lampa = 1;
}
}
 Powyżej podprogramy, które wywołujesz w pętli loop. Jest jeden mankament, jak mi się zdaje, to przez minutę jak przyjdzie czas załączania lub wyłączania nie będzie można przyciskami gasić lub zapalać lampy. Można to skrócić, ale nie wiem czy jest to konieczne.
Wydaje się proste, w każdej chwili (bez 2 minut na dobę) możesz zmienną "lampa" przyciskami i nie wpływa to na programowe załączanie i wyłączanie.
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. 
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Zmiana stanów logicznych oświetlenia - przez Agregacik - 25-11-2019, 17:19

Skocz do:


Przeglądający: 1 gości