const int trigPin = 12;
const int echoPin = 11;
const int buzzerPin = 10; // Pin del buzzer
const int ledPin = 9; // Pin del LED
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT); // Configura el pin Trig como salida
pinMode(echoPin, INPUT); // Configura el pin Echo como entrada
pinMode(buzzerPin, OUTPUT); // Configura el pin del buzzer como salida
pinMode(ledPin, OUTPUT); // Configura el pin del LED como salida
Serial.begin(9600); // Inicia la comunicación serie a 9600 baudios
}
void loop() {
// Limpia el pin Trig
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Genera un pulso de 10 microsegundos en el pin Trig
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Lee el tiempo de duración del pulso en el pin Echo
duration = pulseIn(echoPin, HIGH);
// Calcula la distancia en centímetros
distance = duration * 0.034 / 2;
// Imprime la distancia en el Monitor Serie
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
// Si la distancia es menor o igual a 10 cm, enciende el buzzer y el LED
if (distance <= 10) {
tone(buzzerPin, 1000); // Genera un tono de 1000 Hz
digitalWrite(ledPin, HIGH); // Enciende el LED
} else {
noTone(buzzerPin); // Apaga el tono del buzzer
digitalWrite(ledPin, LOW); // Apaga el LED
}
delay(500); // Espera medio segundo antes de realizar otra medición
}