#include <LiquidCrystal_I2C.h>
#define TRIG 9
#define ECHO 8
#define LEDV 7
#define LEDR 6
LiquidCrystal_I2C lcd (0x27, 16, 2);
long tiempo;
int distancia;
void setup() {
lcd.init();
lcd.backlight();
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(LEDR, OUTPUT);
pinMode(LEDV, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Enviar pulso ultrasónico
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
// Leer el tiempo del eco
tiempo = pulseIn(ECHO, HIGH);
// Convertir tiempo en distancia (cm)
distancia = tiempo * 0.034 / 2;
// Mostrar la distancia en cm
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
lcd.setCursor(0,0);
lcd.print("Distancia :");
lcd.setCursor(0,1);
lcd.print(distancia);
lcd.setCursor(3,1);
lcd.print("cm");
// Si el objeto está a menos de 10 cm, encender LED
if (distancia < 10 && distancia > 0) {
digitalWrite(LEDV, LOW);
digitalWrite(LEDR, HIGH);
}
else {
digitalWrite(LEDR, LOW);
digitalWrite(LEDV, HIGH);
}
delay(200);
}