#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Ultrasonic.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int g = 15;
int y = 2;
int r = 4;
int trigger = 5;
int echo = 18;
Ultrasonic ultrasonic(trigger, echo);
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
Serial.println("Lendo dados do sensor...");
pinMode(g, OUTPUT);
pinMode(y, OUTPUT);
pinMode(r, OUTPUT);
}
void loop() {
long distance = ultrasonic.read();
// Atualizando o LCD com a distância medida
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Litros:");
lcd.setCursor(0, 1);
lcd.print(distance);
lcd.print("l");
// Atualizando os LEDs com base na distância
if (distance < 20) {
digitalWrite(r, HIGH); // Vermelho - estado crítico
digitalWrite(y, LOW);
digitalWrite(g, LOW);
} else if (distance >= 20 && distance < 40) {
digitalWrite(r, LOW);
digitalWrite(y, HIGH); // Amarelo - estado de atenção
digitalWrite(g, LOW);
} else {
digitalWrite(r, LOW);
digitalWrite(y, LOW);
digitalWrite(g, HIGH); // Verde - estado normal
}
delay(1000);
}