circuito de distancia con bauzzer

// -------------------- DEFINICIÓN DE PINES --------------------

const int trigPin = 9; // Pin TRIG del sensor ultrasónico

const int echoPin = 10; // Pin ECHO del sensor ultrasónico

const int buzzer = 8; // Pin del buzzer

const int led = 7; // Pin del LED rojo

// -------------------- VARIABLES --------------------

long duracion; // Tiempo que tarda el eco en regresar

float distancia; // Distancia calculada en centímetros

void setup() {

Serial.begin(9600); // Inicia comunicación serial

pinMode(trigPin, OUTPUT); // TRIG como salida

pinMode(echoPin, INPUT); // ECHO como entrada

pinMode(buzzer, OUTPUT); // Buzzer como salida

pinMode(led, OUTPUT); // LED como salida

}

void loop() {

// -------- GENERAR PULSO ULTRASÓNICO --------

digitalWrite(trigPin, LOW); // Asegura pulso limpio

delayMicroseconds(2); // Espera breve

digitalWrite(trigPin, HIGH); // Activa el sensor

delayMicroseconds(10); // Pulso de 10 microsegundos

digitalWrite(trigPin, LOW); // Apaga el pulso

// -------- MEDIR TIEMPO DEL ECO --------

duracion = pulseIn(echoPin, HIGH); // Mide duración del eco

// -------- CALCULAR DISTANCIA --------

distancia = duracion * 0.034 / 2; // Conversión a cm

// -------- MOSTRAR EN SERIAL --------

Serial.print("Distancia: ");

Serial.print(distancia);

Serial.println(" cm");

// -------- LÓGICA DE SENSOR DE REVERSA --------

if (distancia > 50) {

// MUY LEJOS → sin alerta

noTone(buzzer); // Apaga buzzer

digitalWrite(led, LOW); // Apaga LED

}

else if (distancia > 30) {

// DISTANCIA MEDIA → pitido lento

tone(buzzer, 1000); // Genera tono de 1000 Hz

digitalWrite(led, HIGH); // Enciende LED

delay(400); // Tiempo encendido

noTone(buzzer); // Apaga buzzer

digitalWrite(led, LOW); // Apaga LED

delay(400); // Tiempo apagado

}

else if (distancia > 15) {

// CERCA → pitido rápido

tone(buzzer, 1500); // Tono más agudo

digitalWrite(led, HIGH); // Enciende LED

delay(150); // Encendido corto

noTone(buzzer); // Apaga buzzer

digitalWrite(led, LOW); // Apaga LED

delay(150); // Apagado corto

}

else {

// MUY CERCA → sonido continuo

tone(buzzer, 2000); // Tono continuo

digitalWrite(led, HIGH); // LED fijo encendido

}

delay(50); // Pequeña pausa para estabilidad

}

¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar