// Definición de pines para el sensor ultrasónico
const int TRIGGER_PIN = 5; // Pin Trigger del sensor ultrasónico
const int ECHO_PIN = 18; // Pin Echo del sensor ultrasónico
// Definición del pin para el buzzer
const int BUZZER_PIN = 13; // Pin donde conectamos el buzzer
// Definimos la distancia máxima permitida en centímetros
const float DISTANCIA_MAXIMA = 200.0; // 2 metros = 200 cm
void setup() {
// Inicializamos los pines del sensor ultrasónico
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
// Inicializamos el pin del buzzer
pinMode(BUZZER_PIN, OUTPUT);
// Inicializamos la comunicación serial para ver datos en el monitor serie
Serial.begin(115200);
}
void loop() {
// Disparar una señal ultrasónica
digitalWrite(TRIGGER_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
// Medir el tiempo que tarda en recibir el eco
long duracion = pulseIn(ECHO_PIN, HIGH);
// Calcular la distancia en centímetros
float distancia = (duracion * 0.034) / 2;
// Mostrar la distancia en el monitor serie
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
// Si la distancia es menor o igual a 200 cm, activar el buzzer
if (distancia <= DISTANCIA_MAXIMA) {
tone(BUZZER_PIN, 1000); // Sonar a 1000 Hz
} else {
noTone(BUZZER_PIN); // Apagar el buzzer si está fuera del rango
}
// Pequeña pausa antes de la siguiente medición
delay(500);
}