Arduino Polska Forum
Jak to zrobić? if ((zakresCzas >= zakres1) && (zakresCzas < zakres2)) - 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: Jak to zrobić? if ((zakresCzas >= zakres1) && (zakresCzas < zakres2)) (/watek-jak-to-zrobi%C4%87-if-zakresczas-zakres1-zakresczas-zakres2)



Jak to zrobić? if ((zakresCzas >= zakres1) && (zakresCzas < zakres2)) - OMK - 06-02-2018

Kod:
if ((zakresCzas >= zakres1) && (zakresCzas < zakres2))
   {
 digitalWrite(PRZEK_1, ON);
  }else{
    digitalWrite(PRZEK_1, OFF);
  }
Mam coś takiego. Ustawiam czas OD zakres1 DO zakres2 i chcę, aby przekaźnik włączał się od - do a poza zakresem był wyłączony. Wszystko działa jak zakres1, czyli godzina jest wcześniejsza od godziny zakres2, ale jak ustawie np., że ma działać OD 22:15 DO 07:30 to niestety już nie.

Pomóżcie to zmienić  Huh   Jakoś mam brak pomysłu i wiedzy. Może bardziej wiedzy.
Pozdrawiam


RE: Jak to zrobić? - adix - 06-02-2018

Zamieniaj godziny na string albo porównuj najpierw godziny potem minuty.
jeśli godzina a=azadane i minua b=bzadana to wykonaj funkcje.


RE: Jak to zrobić? - Robson Kerman - 06-02-2018

Sprawdzaj czy miedzy zakres1, a zakres2 następuje zmiana daty, każdy RTC to oferuje.
Jeśli tak, to do zakres2 dodaj 24:00.


RE: Jak to zrobić? - krn78 - 07-02-2018

I taka sugestia, trochę OT... kiedy zakładasz temat, pisz w nim, o co Ci chodzi. Tak zresztą widnieje w Regulaminie.


RE: Jak to zrobić? if ((zakresCzas >= zakres1) && (zakresCzas < zakres2)) - OMK - 07-02-2018

A przyszło mi coś takiego do głowy że jeżeli zakres1 jest większe od zakres2 to dodać do zakres2 np. 24 i potem jeżeli CZAS_aktualny jest >= zakres2 to PRZEK_1 OFF. Nie wiem tylko jak to zapisać w C i nie jestem pewien czy to zadziała. Pomoże ktoś napisać taką funkcje? Jakoś zmienić i dopisać co na początku.
PS. Temat zmieniłem wg. sugestii "krn78" choć nie wiem jaki powinien być aby był zrozumiały.


RE: Jak to zrobić? if ((zakresCzas >= zakres1) && (zakresCzas < zakres2)) - DamianAdamski - 11-02-2018

Zerknij do mojego tematu.
https://forum.arduinopolska.pl/watek-wy%C5%82%C4%85cznik-czasowy
Zakres działa ok tylko mam problem z godzina 8 i 9 bo rozpoznaje jako octal constant.
Może tutaj ktoś pomoże.