const int trigPin = 9; // Pin del Trig del sensor ultrasónico
const int echoPin = 10; // Pin del Echo del sensor ultrasónico
const int ledPin = 13; // Pin del LED
const int buzzerPin = 12; // Pin del buzzer
long duration;
int distance;
void setup() {
// Iniciar los pines
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
// Comenzar la comunicación serial
Serial.begin(9600);
}
void loop() {
// Emitir un pulso en el pin Trig
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Medir el tiempo que tarda el pulso en llegar de vuelta
duration = pulseIn(echoPin, HIGH);
// Calcular la distancia en centímetros
distance = duration * 0.0344 / 2;
// Mostrar la distancia en el monitor serial
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
// Lógica para encender el LED y el buzzer
if (distance < 10) {
// Si la distancia es menor a 10 cm, encender el LED y el buzzer
digitalWrite(ledPin, HIGH);
digitalWrite(buzzerPin, HIGH);
} else if (distance >= 10 && distance < 20) {
// Si la distancia está entre 10 y 20 cm, solo encender el LED
digitalWrite(ledPin, HIGH);
digitalWrite(buzzerPin, LOW);
} else {
// Si la distancia es mayor a 20 cm, apagar el LED y el buzzer
digitalWrite(ledPin, LOW);
digitalWrite(buzzerPin, LOW);
}
// Esperar un momento antes de la siguiente medición
delay(500);
}