Advertisement
RuiViana

OperaRele_10s

Dec 21st, 2016
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.41 KB | None | 0 0
  1. int porta_rele1 = 7;                                      //Porta ligada ao pino IN1 do modulo
  2. int porta_botao1 = 2;                                     //Porta ligada ao botao 1
  3. byte Flag = 0;
  4. //-------------------------------
  5. void setup()
  6. {
  7.   pinMode(porta_rele1, OUTPUT);                           //Define pinos para o rele como saida
  8.   pinMode(porta_botao1, INPUT);                           //Define pinos dos botoes como entrada
  9.   digitalWrite(porta_rele1, HIGH);                        //Estado inicial dos reles - desligados
  10. }
  11. //-------------------------------
  12. void loop()
  13. {
  14.   while (digitalRead(porta_botao1) == HIGH)               // Se o botao estiver apertado
  15.   {
  16.     delay(5);
  17.     while (digitalRead(porta_botao1) == HIGH)             // Se o botao continua apertado
  18.     {
  19.       delay(5);
  20.       if (digitalRead(porta_botao1) == LOW)               // Se o botïao foi liberado
  21.       {
  22.         digitalWrite(porta_rele1, HIGH);                  // Desliga rele
  23.         Flag = 1;                                         // Informa que botão foi acionado
  24.       }
  25.     }
  26.   }
  27.   if ((Flag == 1) && (digitalRead(porta_botao1) == LOW))  // Se Flag foi ligado e botão foi solto
  28.   {
  29.     delay (10000);                                        // Delay de 10 seg
  30.     digitalWrite(porta_rele1, LOW);                       // Liga rele
  31.     Flag = 0;                                             // Limpa Flag
  32.   }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement