Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int TL1 = 5;
- const int TL2 = 2; //musí to být pin 2 nebo 3
- const int REL1 = 13;
- const int REL2 = 7;
- unsigned int casovac1 = 3000; //délka čekání před aktivací REL2 po impulzu od vstupu chyba TL2
- unsigned int casovac2 = 1000; //délka aktivace REL2
- // Od tud bych na to nešahal//
- bool debug = false; // nastavení jestli chci debugovací informace na seriovém portu
- bool chyba = false; // proměnná aktivace chyby na TL2
- unsigned int timer_start = 0; //inicializace proměnné pro časovač
- void setup() {
- pinMode(TL1, INPUT_PULLUP); //Pin TL1 je vstup s integrovaným PullUP rezistorem
- pinMode(TL2, INPUT_PULLUP); //Pin TL2 je vstup s integrovaným PullUP rezistorem
- pinMode(REL1, OUTPUT); //Pin REL1 je výstup
- pinMode(REL2, OUTPUT); //pin REL2 je výstup
- digitalWrite(REL1, HIGH); //Defaultní hodnota na výstupu REl1 je HIGH tzn 5V
- digitalWrite(REL2, HIGH); //Defaultní hodnota na výstupu REl2 je HIGH tzn 5V
- delay(1000); //Čekej 1000ms pro ustálení hodnot
- attachInterrupt(digitalPinToInterrupt(TL2), blik, FALLING); //Přiřazení interruptu pro vstup chyba TL2, při aktivaci sestupnou hranou spustí podprogram blik
- if (debug) { //pokud je debug true tak nastaví seriový port a bude na něj odesílat debugovací informace
- Serial.begin(9600);
- Serial.println("Debuger!!!");
- }
- }
- void loop() {
- if (!digitalRead(TL1)) {
- digitalWrite(REL1, LOW);
- if (debug) {
- Serial.println("Stisknuto tlačítko ZAPNOUT");
- }
- }
- if (millis() - timer_start >= casovac1 && chyba) {
- if (debug) {
- Serial.println("Aktivace výstupu chyba");
- }
- digitalWrite(REL2, LOW);
- delay(casovac2);
- digitalWrite(REL2, HIGH);
- if (debug) {
- Serial.println("Deaktivace výstupu chyba");
- }
- chyba = false;
- }
- }
- void blik() {
- timer_start = millis();
- chyba = true;
- if (debug) {
- Serial.println("Stisknuto tlačítko CHYBA");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement