#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Configuración de pines del sensor ultrasónico
const int trigPin = 13;
const int echoPin = 12;
// Configuración de la pantalla LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C 0x27 y tamaño 16x2
void setup() {
// Configuración de pines del sensor ultrasónico
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Iniciar comunicación serial
Serial.begin(115200);
// Iniciar la pantalla LCD
lcd.begin(16, 2);
lcd.print("Iniciando...");
delay(1000);
lcd.clear();
}
void loop() {
// Enviar un pulso de 10 microsegundos en el pin TRIG
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Leer el tiempo que tarda en recibir el pulso en el pin ECHO
long duration = pulseIn(echoPin, HIGH);
// Calcular la distancia (duración en cm)
float distance = duration * 0.034 / 2;
// Mostrar la distancia en la pantalla LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distancia:");
lcd.setCursor(0, 1);
lcd.print(distance);
lcd.print(" cm");
// Mostrar la distancia en el monitor serial
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
// Esperar un momento antes de medir nuevamente
delay(500);
}