Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define rele 13
- #define botao 2
- boolean estado = false;
- unsigned long Tempo; // Variavel de 4 bytes para Tempo
- //------------------------------
- void setup()
- {
- //Serial.begin(9600); // Diag
- pinMode(rele, OUTPUT);
- pinMode(botao, INPUT);
- digitalWrite(botao, HIGH);
- Tempo = millis(); // Inicializa a variavel Tempo
- }
- //------------------------------
- void loop()
- {
- if (digitalRead(botao) == LOW) // Se botao foi apertado
- {
- delay(100); // Evita debouncing
- if (digitalRead(botao) == LOW) // Se botao continua apertado
- {
- delay(100); // Evita debouncing
- estado = !estado; // Inverte estado da saida
- Tempo = millis(); // Reinicializa a variavel
- //Serial.println(estado); // Diag
- }
- }
- if (digitalRead(botao) == HIGH) // Se botao está liberado
- {
- if (estado == true) // Se o estado for ligado
- {
- // if (Tempo - millis() >= 18000000) // Espera o tempo de 5 horas
- if (millis() - Tempo >= 10000) // Testa espera o tempo de 10 segundos
- {
- //Serial.println(millis() - Tempo); // Diag
- Tempo = millis(); // Reinicializa a variavel
- estado = false; // Informa desligado
- }
- }
- }
- digitalWrite(rele, estado); // HIGH (1) = +5V
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement