#include <LiquidCrystal_I2C.h>
const int ECHO = 7;
const int TRIG = 8;
int duracao = 0;
long distancia = 0;
int red = 0;
int yel = 0;
int gre = 0;
const int buzzer = 9;
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
pinMode(ECHO, INPUT);
pinMode(TRIG, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(13, OUTPUT);
pinMode(4, OUTPUT);
pinMode(12, OUTPUT);
}
void loop() {
digitalWrite(TRIG, LOW);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
duracao = pulseIn(ECHO, HIGH);
distancia = duracao / 58;
Serial.print("Distancia em cm: ");
Serial.println(distancia);
delay(100);
digitalWrite(TRIG, LOW);
delayMicroseconds(10);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
duracao = pulseIn(ECHO, HIGH);
distancia = duracao / 58;
if (distancia < 5){
digitalWrite(13, HIGH);
digitalWrite(4, LOW);
digitalWrite(12, LOW);
tone(buzzer, 1200);
delay(200);
noTone(buzzer);
} else if (distancia >= 5 && distancia < 10) {
digitalWrite(13, LOW);
digitalWrite(4, HIGH);
digitalWrite(12, LOW);
tone(buzzer, 1200 - (distancia - 2) * 100);
delay(500);
noTone(buzzer);
} else if (distancia > 10) {
digitalWrite(13, LOW);
digitalWrite(4, LOW);
digitalWrite(12, HIGH);
delay(1000);
noTone(buzzer);
}
}