const int trigPin = 14; // Pin GPIO para Trig
const int echoPin = 26; // Pin GPIO para Echo
const int ledPin = 12; // Pin GPIO para el LED
void setup() {
pinMode(trigPin, OUTPUT); // Configura Trig como salida
pinMode(echoPin, INPUT); // Configura Echo como entrada
pinMode(ledPin, OUTPUT); // Configura el LED como salida
Serial.begin(115200); // Inicializa la comunicación serie
}
void loop() {
// Genera un pulso en el pin Trig
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Mide el tiempo del pulso en el pin Echo
long startTime = micros();
while (digitalRead(echoPin) == LOW); // Espera que Echo pase a HIGH
long startEcho = micros();
while (digitalRead(echoPin) == HIGH); // Espera que Echo pase a LOW
long endEcho = micros();
// Calcula la duración y la distancia
long duration = endEcho - startEcho;
float distance = duration * 0.034 / 2;
// Muestra la distancia en el Monitor Serie
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
// Enciende el LED si la distancia es de 10 cm o menor
if (distance <= 10) {
digitalWrite(ledPin, HIGH); // Enciende el LED
} else {
digitalWrite(ledPin, LOW); // Apaga el LED
}
delay(500); // Espera 500 ms antes de la siguiente medición
}