Cześć robie sobie mały projekt i stanołem przed pwenym problemem z którym nie potrafie sobie poradzić otóż mam 3 funkcje które sterują czterema przekaźnikami
1 Funkcja start przekaźnika 1 i 2
2 Funkcja start przekaźnika 3
3 Funkcja start przekaxnika 4
I z tym jest git, tyle że teraz muszę to uruchamiać w określonym czasie, i tu pojawia się problem mojej małej wiedzy w programowaniu.
Załozeniem jest aby:
funkcja 1: startowała w każdą sobotę o np 19:00 i sie wykonywała w całości,
funckja 2: startowała codziennie od 10 rano i trzymała przekaźnik do 17.
funkcja 3: startowała codziennie o np 17 na 30 minut
Próbowałem używać millis(); z tej ale to nie rozwiązuje mojego problemu gdyż tam mogę robić np włączenie przekaźnika za 10 minut ale już go nie zatrzymuje bo nie wiem jak odmierzyć w tym 60 minut aby nie przerywać liczenia pozostałych funcji
/*----------------------------------------------------------------------------------*/
unsigned long previousMillis = 0;
const long interval1 = 60000; //1 minuta
const long interval2 = 45000; //45 sekund
const long interval3 = 30000; //30sekund
const long interval4 = 15000; //15sekund
/*----------------------------------------------------------------------------------*/
void setup()
{
//ustawienia przekaznikow
}
void loop()
{
/* automatyczna funkcja z odmierzaniem */
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval1) {
// save the last time you blinked the LED
previousMillis = currentMillis;
digitalWrite(przekaznik1, LOW);
}
if (currentMillis - previousMillis >= interval2) {
// save the last time you blinked the LED
previousMillis = currentMillis;
digitalWrite(przekaznik2, LOW);
}
if (currentMillis - previousMillis >= interval3) {
// save the last time you blinked the LED
previousMillis = currentMillis;
digitalWrite(przekaznik3, LOW);
}
if (currentMillis - previousMillis >= interval4) {
// save the last time you blinked the LED
previousMillis = currentMillis;
digitalWrite(przekaznik4, LOW);
}
}
Nie wiem czy tego milles uzywac czy tu ma jakiś switch case ma byc :(