#include <LiquidCrystal_I2C.h>
int trigger = 2;
int echo = 3;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
digitalWrite(trigger, LOW);
lcd.init();
lcd.backlight();
}
void loop() {
int dist = ultra();
if (dist <= 20 || dist > 300) {
Serial.println("Fuera de Rango");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("UL_FEE_20241");
lcd.setCursor(1, 1);
lcd.print("Fuera de Rango");
delay(1000);
} else if (dist <= 35 && dist > 20) {
Serial.println("Cerca >> Abrir");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("UL_FEE_20241");
lcd.setCursor(1, 1);
lcd.print("Cerca >> Abrir");
delay(1000);
} else if (dist <= 300 && dist > 35) {
Serial.println("Lejos >> Cerrar");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("UL_FEE_20241");
lcd.setCursor(1, 1);
lcd.print("Lejos >> Cerrar");
delay(1000);
}
}
int ultra() {
digitalWrite(trigger, HIGH);
delayMicroseconds(10);
digitalWrite(trigger, LOW);
float t = pulseIn(echo, HIGH);
float d = t / 59;
return d;
}