#include <LiquidCrystal.h>
int eco = 9;
int trig = 8;
int sensor = 10; // PIR o infrarrojo
int duracion;
int distancia;
int estado;
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup() {
pinMode(eco, INPUT);
pinMode(trig, OUTPUT);
pinMode(sensor, INPUT); // ← CORREGIDO
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Iniciando sistema");
delay(1000);
lcd.clear();
}
void loop() {
estado = digitalRead(sensor);
if (estado == HIGH) {
lcd.clear(); // ← PARA BORRAR MENSAJE ANTERIOR
lcd.setCursor(0, 0);
lcd.print("Objeto detectado");
// Medir distancia
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duracion = pulseIn(eco, HIGH);
distancia = duracion / 58.2;
lcd.setCursor(0, 1);
lcd.print("Distancia: ");
lcd.print(distancia);
lcd.print(" cm");
}
else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("No hay objeto");
lcd.setCursor(0, 1);
lcd.print(" "); // limpia línea 2
}
delay(500); // espera medio segundo
}