Advertisement
adolf01

Untitled

Sep 7th, 2020
1,527
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const int TL1 = 5;
  2. const int TL2 = 2;          //musí to být pin 2 nebo 3
  3. const int REL1 = 13;
  4. const int REL2 = 7;
  5.  
  6. unsigned int casovac1 = 3000;   //délka čekání před aktivací REL2 po impulzu od vstupu chyba TL2
  7. unsigned int casovac2 = 1000;   //délka aktivace REL2
  8.  
  9. // Od tud bych na to nešahal//
  10.  
  11. bool debug = false;          // nastavení jestli chci debugovací informace na seriovém portu
  12. bool chyba = false;         // proměnná aktivace chyby na TL2
  13.  
  14. unsigned int timer_start = 0;   //inicializace proměnné pro časovač
  15.  
  16.  
  17. void setup() {
  18.   pinMode(TL1, INPUT_PULLUP);   //Pin TL1 je vstup s integrovaným PullUP rezistorem
  19.   pinMode(TL2, INPUT_PULLUP);   //Pin TL2 je vstup s integrovaným PullUP rezistorem
  20.   pinMode(REL1, OUTPUT);        //Pin REL1 je výstup
  21.   pinMode(REL2, OUTPUT);        //pin REL2 je výstup
  22.   digitalWrite(REL1, HIGH);     //Defaultní hodnota na výstupu REl1 je HIGH tzn 5V
  23.   digitalWrite(REL2, HIGH);     //Defaultní hodnota na výstupu REl2 je HIGH tzn 5V
  24.   delay(1000);                  //Čekej 1000ms pro ustálení hodnot
  25.   attachInterrupt(digitalPinToInterrupt(TL2), blik, FALLING);   //Přiřazení interruptu pro vstup chyba TL2, při aktivaci sestupnou hranou spustí podprogram blik
  26.  
  27.   if (debug) {                  //pokud je debug true tak nastaví seriový port a bude na něj odesílat debugovací informace
  28.     Serial.begin(9600);
  29.     Serial.println("Debuger!!!");
  30.   }
  31. }
  32.  
  33. void loop() {
  34.   if (!digitalRead(TL1)) {
  35.     digitalWrite(REL1, LOW);
  36.     if (debug) {
  37.       Serial.println("Stisknuto tlačítko ZAPNOUT");
  38.     }
  39.   }
  40.   if (millis() - timer_start >= casovac1 && chyba) {
  41.     if (debug) {
  42.       Serial.println("Aktivace výstupu chyba");
  43.     }
  44.     digitalWrite(REL2, LOW);
  45.     delay(casovac2);
  46.     digitalWrite(REL2, HIGH);
  47.  
  48.     if (debug) {
  49.       Serial.println("Deaktivace výstupu chyba");
  50.     }
  51.     chyba = false;
  52.   }
  53. }
  54.  
  55. void blik() {
  56.   timer_start = millis();
  57.   chyba = true;
  58.   if (debug) {
  59.     Serial.println("Stisknuto tlačítko CHYBA");
  60.   }
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement