Advertisement
elektronek

Martin Pavlíček - jednoduchý časovač

Sep 9th, 2022 (edited)
1,332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define RELE_PIN    3   // Rele na pinu D3
  2. uint16_t cas = 0;       // 3600 max
  3. uint8_t stav=0;         // Stav rele
  4.  
  5. void zapniRele()
  6. {
  7.     digitalWrite(RELE_PIN, LOW);    // Hodnota LOW zapina rele modul
  8. }
  9.  
  10. void vypniRele()
  11. {
  12.     digitalWrite(RELE_PIN, HIGH);   // Hodnota HIGH vypina rele modul
  13. }
  14.  
  15.  
  16. void setup()
  17. {
  18.     Serial.begin(9600);             // Init serial terminalu
  19.     pinMode(RELE_PIN, OUTPUT);      // Nastaveni pinu rele jako vystup
  20. }
  21.  
  22. void loop()
  23. {
  24.     // Podminka vyhodnoceni kazde cele hodiny a 0 - 15 sekund
  25.     if (cas / 60 == 0 && cas % 60 >= 0 && cas % 60 <= 15)
  26.     {
  27.         zapniRele();
  28.         stav=1;         // Stav rele
  29.     }
  30.     else
  31.     {
  32.         vypniRele();
  33.         stav=0;         // Stav rele
  34.     }
  35.     // Vypis do terminalu - zatim bez displeje
  36.     Serial.print("Aktualni cas: "); // Vypiseme cas v minutach a sekundach
  37.     Serial.print(cas / 60);         // Minuty
  38.     Serial.print(":");              // dvojtecka
  39.     Serial.print(cas % 60);         // Sekundy
  40.     Serial.print(" ");              // mezera
  41.     if (stav)
  42.         Serial.print("ZAP");        // Pokud je zapnuto
  43.     else
  44.         Serial.print("VYP");        // Pokud je vypnuto
  45.     Serial.println();               // Odradkovani
  46.     delay(1000);
  47.     cas++;
  48.     if (cas > 3600) cas=0;          // Cela hodina - vynulovat
  49. }
  50.    
  51.    
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement