Bardzo dziękuję za sugestie.
Zrezygnowałem ze stanu diody (nawyki z frontendu).
Dodałem flagę:
boolean miganie = false;
oraz kod (koniecznie na początku pętli loop i poza if "Bluetooth.available"):
if (miganie && aktualnyCzas - zapamietanyCzasLED1 >= 500UL) {
zapamietanyCzasLED1 = aktualnyCzas; // migająca led / Zapamietaj aktualny czas
digitalWrite(SWAwaryjne, !digitalRead(SWAwaryjne)); // migająca led / ustawiamy nowy stan na diodzie
}
Zmianę migania zgodnie z podpowiedzią umieściłem w:
(...)
if(Data==('6')){
miganie = true;
sendData("SWAwaryjne ON");
}
if(Data==('3')){
miganie = false;
digitalWrite(SWAwaryjne,0);
sendData("SWAwaryjne OFF");
}
(...)
i wszystko pięknie śmiga.
Przy if(Data==('3')) musiałem dodać "digitalWrite(SWAwaryjne,0);" ponieważ samo "miganie = false;" zatrzymywało proces migania i miałem 50/50 że diody pozostaną zapalone).
Jeszcze raz dziękuję obu panom za pomoc.
Zrezygnowałem ze stanu diody (nawyki z frontendu).
Dodałem flagę:
boolean miganie = false;
oraz kod (koniecznie na początku pętli loop i poza if "Bluetooth.available"):
if (miganie && aktualnyCzas - zapamietanyCzasLED1 >= 500UL) {
zapamietanyCzasLED1 = aktualnyCzas; // migająca led / Zapamietaj aktualny czas
digitalWrite(SWAwaryjne, !digitalRead(SWAwaryjne)); // migająca led / ustawiamy nowy stan na diodzie
}
Zmianę migania zgodnie z podpowiedzią umieściłem w:
(...)
if(Data==('6')){
miganie = true;
sendData("SWAwaryjne ON");
}
if(Data==('3')){
miganie = false;
digitalWrite(SWAwaryjne,0);
sendData("SWAwaryjne OFF");
}
(...)
i wszystko pięknie śmiga.
Przy if(Data==('3')) musiałem dodać "digitalWrite(SWAwaryjne,0);" ponieważ samo "miganie = false;" zatrzymywało proces migania i miałem 50/50 że diody pozostaną zapalone).
Jeszcze raz dziękuję obu panom za pomoc.