int buzzer = 5;
int pino_trig = 18;
int pino_echo = 19;
int LED1 = 23;
int LED2 = 22;
int LED3 = 21;
void setup() {
Serial.begin(9600);
pinMode(pino_trig, OUTPUT);
pinMode(pino_echo, INPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
digitalWrite(pino_trig, LOW);
delayMicroseconds(2);
digitalWrite(pino_trig, HIGH);
delayMicroseconds(10);
digitalWrite(pino_trig, LOW);
long duracao = pulseIn(pino_echo, HIGH);
int distancia = duracao * 0.0343 / 2;
Serial.print("Distância: ");
Serial.print(distancia);
Serial.println("cm");
if (distancia < 5) {
vermelho();
}
else if (distancia < 15) {
amarelo();
} else if (distancia < 30) {
verde();
} else {
apagar();
}
delay(1000);
}
void vermelho() {
digitalWrite(LED1, HIGH);
tone(buzzer, 494);
}
void amarelo() {
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
tone(buzzer, 440);
delay(300);
noTone(buzzer);
}
void verde() {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, HIGH);
tone(buzzer, 392);
delay(600);
noTone(buzzer);
}
void apagar() {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
noTone(buzzer);
}