#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define TRIG 2
#define ECHO 4
#define b1 16
#define b2 17
int contador = 0, litro = 0, t_p = 0;
long duration;
int distance;
bool s_e = 0, s_s = 0;
LiquidCrystal_I2C LCD(0x27, 16, 2);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("by Gabriel Luz");
LCD.init();
LCD.backlight();
LCD.setCursor(0,0);
LCD.print(" Gabriel Luz ");
LCD.setCursor(0,1);
LCD.print("TEC.MECATRONICA");
delay(1000);
LCD.clear();
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(b1, OUTPUT);
pinMode(b2, OUTPUT);
}
void loop() {
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
duration = pulseIn(ECHO, HIGH);
contador = duration * 0.017;
litro = map(contador, 3, 100, 10000, 0);
LCD.setCursor(0, 0);
LCD.print(litro);
LCD.print(" L ");
delay(10);
if(litro <= 1000){
s_e = 1;
}
if(litro >= 10000){
s_e = 0;
digitalWrite(b2, LOW);
digitalWrite(b1, LOW);
LCD.setCursor(0, 1);
LCD.print("b1=OFF b2=OFF");
s_s = !s_s;
}
if(s_e == 1 && s_s == 1){
LCD.setCursor(0, 1);
LCD.print("b1=ON b2=OFF");
digitalWrite(b1, HIGH);
digitalWrite(b2, LOW);
}
if(s_e == 1 && s_s == 0){
LCD.setCursor(0, 1);
LCD.print("b1=OFF b2=ON ");
digitalWrite(b2, HIGH);
digitalWrite(b1, LOW);
}
}