#define TRIG_PIN 3
#define ECHO_PIN 2
#define LED1_PIN 12
#define LED2_PIN 13
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
long duration;
int distance;
// Gera o pulso para o sensor
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Lê o tempo de resposta
duration = pulseIn(ECHO_PIN, HIGH);
// Calcula a distância em cm
distance = duration * 0.034 / 2;
// Exibe a distância no monitor serial
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
// Controle do LED1
if (distance < 90) {
digitalWrite(LED1_PIN, HIGH); // Liga LED1 se a distância for menor que 90 cm
} else if (distance > 95) {
digitalWrite(LED1_PIN, LOW); // Desliga LED1 se a distância for maior que 95 cm
}
// Controle do LED2
if (distance > 99) {
digitalWrite(LED2_PIN, HIGH); // Liga LED2 se a distância for maior que 99 cm
} else if (distance <= 95) {
digitalWrite(LED2_PIN, LOW); // Desliga LED2 se a distância for menor ou igual a 95 cm
}
// Exibe o estado dos LEDs no monitor serial
Serial.print("LED1: ");
Serial.print(digitalRead(LED1_PIN));
Serial.print(", LED2: ");
Serial.println(digitalRead(LED2_PIN));
// Atraso de 500ms para estabilidade
delay(500);
}