Advertisement
elektronek

Jiří Lexa - časové sepnutí bez delay

Jul 29th, 2020
2,500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // cislo 5 jsou sekundy za kolik to ma sepnout
  2. uint16_t X = 5 * 1000;
  3. unsigned long oldMillis=0;  
  4.  
  5. void setup() {
  6.   pinMode(13, OUTPUT);  //dioda
  7.   pinMode(12, OUTPUT);  //rele
  8.   pinMode(10, INPUT_PULLUP);   //cidlo
  9. }
  10.  
  11. void loop() {
  12.   if (digitalRead(10) == LOW)
  13.   { //kdyz neni signal z cidla - zapni rele (az po X sekundach)
  14.     if (oldMillis+X <= millis())
  15.     {
  16.       digitalWrite(13, HIGH);
  17.       digitalWrite(12, HIGH);
  18.     }
  19.   }
  20.   else
  21.   { //kdyz dojde signal z cidla vypni rele hned!
  22.     oldMillis=millis();
  23.     digitalWrite(13, LOW);
  24.     digitalWrite(12, LOW);
  25.   }
  26.   //delay (1000); DELAY SUCKS!!!
  27. }
  28.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement