#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

int botState;

#define trigger 4
#define echo 2

#define ledR 13
#define ledY 12
#define ledG 14

#define bot 19
#define bomba 27

#define portOP 26
#define portCL 25

void setup() {
  Serial.begin(115200);
  pinMode(echo, INPUT);
  pinMode(trigger, OUTPUT);

  pinMode(ledR, OUTPUT);
  pinMode(ledY, OUTPUT);
  pinMode(ledG, OUTPUT);

  pinMode(portCL, OUTPUT);
  pinMode(portOP, OUTPUT);

  pinMode(bot, INPUT_PULLUP);
  pinMode(bomba, OUTPUT);

  lcd.init();
  lcd.backlight();
}

void loop() {
  digitalWrite(trigger, LOW);
  delayMicroseconds(10);
  digitalWrite(trigger, HIGH);

  int sinal = (pulseIn(echo, HIGH)/58.75);
  Serial.println(sinal);
  Serial.println(botState);

  if (sinal < 20){
    digitalWrite(ledR, HIGH);
    digitalWrite(ledY, LOW);
    digitalWrite(ledG, LOW);
  }
  else if (sinal < 40 && sinal >= 20){
    digitalWrite(ledR, LOW);
    digitalWrite(ledY, HIGH);
    digitalWrite(ledG, LOW);
  }
  else{
    digitalWrite(ledR, LOW);
    digitalWrite(ledY, LOW);
    digitalWrite(ledG, HIGH);
  }
  
lcd.setCursor(0, 0);
  lcd.print("Litros:");

  lcd.setCursor(8, 0);

  if (sinal >= 100){
    lcd.print(sinal);
  }
  else if (sinal >= 10){
    lcd.print("0");
    lcd.print(sinal);
  }
  else{
    lcd.print("00");
    lcd.print(sinal);
  }

  if(digitalRead(bot) == LOW){
    botState = !botState;
    delay(175);
  }

  if (botState == true && sinal >= 20){
      digitalWrite(bomba, HIGH);
      delay(250);
      digitalWrite(bomba, LOW);
      delay(250);

      lcd.setCursor(0,1);
      lcd.print("Funcionando");
  }
  else{
    lcd.setCursor(0,1);
    lcd.print("Parada     ");
  }

  if(sinal < 400){
    digitalWrite(portCL, HIGH);
    digitalWrite(portOP, LOW);
    lcd.setCursor(13, 0);
    lcd.print("ABR");
  }
  else{
    digitalWrite(portCL, LOW);
    digitalWrite(portOP, HIGH);
    lcd.setCursor(13, 0);
    lcd.print("FCH");
  }

  delay(100);
}



  
$abcdeabcde151015202530fghijfghij