Problema con mi alarma(resuelto)

tengo un problema, he hecho un tipo de alarma y la pantalla lcd no se enciende, dejo aqui los planos y si alguien puede resolverme el codigo se lo agradezco muchisimo y aquí os dejo el código #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
}

Editado por Moderador

Si no adjuntas el código es difícil que podamos resolver algo.

Muchas gracias por tu comentario máximo esfuerzo aquí tienes el código

#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
}

Editador por Moderador

El código funciona perfectamente.


Simulación en wokwi.com

Sube una foto de tu montaje (que se vean claras las conexiones) así lo revisamos.

Agrego: Edita tus posts y adjunta el código como corresponde según las Normas del Foro en Español, punto 7.