#include <Arduino.h>
// Define o pino do sensor
const int sensorPin = 19;
// Define o pino de LED para indicar quando o sensor está desligado
const int ledPin = 18;
// Variáveis para armazenar o tempo
unsigned long startTime = 0;
unsigned long endTime = 0;
unsigned long totalDowntime = 0; // Variável para acumular o tempo de desligamento
void setup() {
pinMode(sensorPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Verifica se o sensor está desligado
if (digitalRead(sensorPin) == LOW) {
// Se o sensor estiver desligado, marca o tempo inicial
startTime = millis();
// Acende o LED para indicar que o sensor está desligado
digitalWrite(ledPin, HIGH);
} else {
// Se o sensor estiver ligado, marca o tempo final
endTime = millis();
// Apaga o LED
digitalWrite(ledPin, LOW);
// Calcula o tempo em que o sensor ficou desligado
unsigned long downtime = endTime - startTime;
// Adiciona o tempo de desligamento à variável de tempo total de desligamento
totalDowntime += downtime;
// Imprime o tempo em que o sensor ficou desligado
Serial.print("O sensor ficou desligado por ");
Serial.print(downtime / 1000); // Converte para minutos
Serial.println(" minutos.");
// Imprime o tempo total de desligamento acumulado
Serial.print("Tempo total de desligamento acumulado: ");
Serial.print(totalDowntime / 60000); // Converte para minutos
Serial.println(" minutos.");
// Aguarda um curto intervalo para evitar leituras falsas
//delay(500);
}
}