const int trigPin = 2;
const int echoPin = 3;
const int ledPin1 = 4;
const int ledPin2 = 5;
const int buzzerPin = 6;
void setup() {
pinMode(trigPin, OUTPUT); // Configurar el pin Trig como salida
pinMode(echoPin, INPUT); // Configurar el pin Echo como entrada
pinMode(ledPin1, OUTPUT); // Configurar el pin del LED 1 como salida
pinMode(ledPin2, OUTPUT); // Configurar el pin del LED 2 como salida
pinMode(buzzerPin, OUTPUT); // Configurar el pin del buzzer como salida
Serial.begin(9600); // Inicializar la comunicación serie a 9600 bps
}
void loop() {
long duration, distance;
// Enviar un pulso de 10us en el pin Trig
digitalWrite(trigPin, LOW);
delayMicroseconds(1000);
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
// Leer el tiempo que tarda el pulso en volver al pin Echo
duration = pulseIn(echoPin, HIGH);
// Calcular la distancia en cm
distance = duration * 0.034 / 2;
// Mostrar la distancia en el Monitor Serie
Serial.print("OBJETO A LA DISTANCIA DE:");
Serial.println(distance);
// Si la distancia es menor a 30 cm, encender los LEDs de forma discontinua y el buzzer
if (distance < 30) {
digitalWrite(ledPin1, HIGH); // Encender LED 1
digitalWrite(ledPin2, LOW); // Apagar LED 2
digitalWrite(buzzerPin, HIGH); // Encender buzzer
delay(500); // Esperar 250 ms
digitalWrite(ledPin1, LOW); // Apagar LED 1
digitalWrite(ledPin2, HIGH); // Encender LED 2
delay(500); // Esperar 250 ms
} else {
digitalWrite(ledPin1, LOW); // Apagar LED 1
digitalWrite(ledPin2, LOW); // Apagar LED 2
digitalWrite(buzzerPin, LOW); // Apagar buzzer
}
delay(50); // Pequeña pausa antes de la siguiente lectura
}