#define LED_AZ 3
#define LED_VM 4
#define LED_AM 5
#define LED_VD 6
// Variável que armazena o valor convertido pelo ADC
int valorAnalog;
void setup() {
Serial.begin(9600);
pinMode(LED_AZ, OUTPUT);
pinMode(LED_AM, OUTPUT);
pinMode(LED_VD, OUTPUT);
pinMode(LED_VM, OUTPUT);
}
void loop() {
valorAnalog = analogRead(A0);
delay(10); // 0.01 s
Serial.println("Valor convertido pelo ADC: " + String(valorAnalog));
if(valorAnalog < 200){
digitalWrite(LED_VD, HIGH);
digitalWrite(LED_AM, LOW);
}
if(valorAnalog >= 200 && valorAnalog < 650){
digitalWrite(LED_VD, LOW);
digitalWrite(LED_VM, LOW);
digitalWrite(LED_AM, HIGH);
}
if(valorAnalog >= 650 && valorAnalog < 950){
digitalWrite(LED_AM, LOW);
digitalWrite(LED_VM, HIGH);
}
if(valorAnalog >= 950 && valorAnalog < 1000){
pisca();
}
if(valorAnalog > 1000){
while(true){
Serial.println("Alarme!!");
piscaVermelho();
}
}
delay(500); // 0.5 s
}
void piscaVermelho(){
digitalWrite(LED_VM, HIGH);
delay(300); // 0.3s
digitalWrite(LED_VM, LOW);
delay(300);
}
void pisca(){
digitalWrite(LED_VD, HIGH);
digitalWrite(LED_AM, HIGH);
digitalWrite(LED_VM, HIGH);
delay(300); // 0.3s
digitalWrite(LED_VD, LOW);
digitalWrite(LED_AM, LOW);
digitalWrite(LED_VM, LOW);
delay(300);
}