// Definición de pines para conexión de componentes
const int trigPin = 2; // Pin del sensor ultrasónico - Trigger
const int echoPin = 15; // Pin del sensor ultrasónico - Echo
const int buzzerPin = 22; // Pin para el buzzer
const int motorPin = 21; // Pin para el motor
const float distanciaUmbral = 100; // Distancia de umbral en metros/distancia
void setup() {
pinMode(trigPin, OUTPUT); // Configurar el pin del trigger como salida
pinMode(echoPin, INPUT); // Configurar el pin del echo como entrada
pinMode(buzzerPin, OUTPUT); // Configurar el pin del buzzer como salida
pinMode(motorPin, OUTPUT); // Configurar el pin del motor como salida
}
void loop() {
// Generar pulso corto en el pin del trigger para iniciar la medición
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Medir la duración del pulso en el pin del echo para determinar la distancia
unsigned long duracion = pulseIn(echoPin, HIGH);
unsigned int distancia = duracion * 0.034 / 2; // Convertir el tiempo a distancia en centímetros
if (distancia <= distanciaUmbral) {
// Obstáculo detectado, activar alerta
activarAlerta();
} else {
// No hay obstáculo, desactivar alerta
desactivarAlerta();
}
delay(100); // Esperar antes de realizar la siguiente medición
}
void activarAlerta() {
digitalWrite(buzzerPin, HIGH); // Encender el buzzer
digitalWrite(motorPin, HIGH); // Encender el motor (vibrador)
}
void desactivarAlerta() {
digitalWrite(buzzerPin, LOW); // Apagar el buzzer
digitalWrite(motorPin, LOW); // Apagar el motor (vibrador)
}