Practicas con Buzzer
¿ Que es un Buzzer ?
Un buzzer (o zumbador) es un pequeño dispositivo electrónico que produce un sonido intermitente o continuo (un "pitido"). Su función principal es servir como un mecanismo de señalización o aviso acústico.
Practica 1:
Materiales:
- Arduino Uno R3
- Buzzer Piezoeléctrico
- Protoboard
- Cables
Explicación del Circuito:
- Pin Digital 13: El cable rojo conecta este pin del Arduino con la pata positiva (+) del buzzer en la protoboard. El Arduino enviará pulsos eléctricos a diferentes velocidades (frecuencias) a través de este pin.
- GND (Tierra): El cable negro conecta el pin GND del Arduino al carril negativo de la protoboard, y de ahí a la pata negativa (-) del buzzer. Esto cierra el circuito para que la corriente fluya.
Explicación del Código:
Definición de Notas
- Al principio verás muchos #define NOTE_.... Estas son constantes que asignan el nombre de una nota musical a su frecuencia en Hertz (Hz). Por ejemplo, el DO central (NOTE_C4) vibra a 262 Hz.
Configuración (setup)
- pinMode(buzzerPin, OUTPUT); Aquí le indicamos al Arduino que el Pin 13 funcionará como una salida, ya que enviará energía hacia el buzzer.
El Bucle Principal (loop)
- La función loop llama a tocarIntro(), espera 2 segundos y vuelve a empezar. Esto hace que la melodía se repita infinitamente.
La Función tocarIntro
- Arrays: melodia[] guarda la secuencia de notas y duraciones[] guarda qué tan larga es cada una (donde 4 es una negra y 8 es una corchea).
- Cálculo del tiempo: 1000 / duraciones[i] convierte el tipo de nota en milisegundos.
- Función tone(): Es la función de Arduino que hace vibrar el buzzer a la frecuencia exacta de la nota.
Practica 2:
Materiales:
- Arduino Uno R3.
- Buzzer
- LED Verde.
- Resistencia
- Protoboard.
- Cables
Explicación del Circuito:
- Alimentación General: Has conectado el pin 5V (cable rojo) y el pin GND (cable negro) del Arduino a los rieles laterales de la protoboard. Esto permite que todo el circuito comparta la misma "tierra".
- El Buzzer (Pin 7): El cable verde lleva la señal desde el Pin Digital 7 hasta el lado positivo del piezoeléctrico. El lado negativo cierra el circuito yendo al riel de tierra (GND).
- El LED (Pin 13): El cable amarillo conecta el Pin Digital 13 al ánodo (pata larga) del LED.
- La Resistencia: Está conectada entre el cátodo (pata corta) del LED y el riel de tierra. Su función es limitar la corriente para proteger el componente.
Explicación del Código:
Definición de Variables de Ritmo: En lugar de escribir números sueltos, usas variables como d_short (100ms) o p_very_short (50ms). Esto es muy útil: si quieres que toda la canción sea más rápida, solo cambias el valor de la variable al principio y todo el código se ajusta solo.
Sincronización Luz-Sonido:
- digitalWrite(pinLED, HIGH); // Enciende la luz
- tone(pinSonido, 165); // Inicia el sonido (Nota E3)
- delay(d_short); // Mantiene ambos activos
- digitalWrite(pinLED, LOW); // Apaga la luz
- noTone(pinSonido); // Silencia el sonido
Al poner el comando del LED justo al lado del tone(), logras que el LED parpadee exactamente al ritmo de cada nota musical.
Estructura de Patrones
La canción esta dividida en 3 bloques lógicos (Riff principal, Variación y Cierre). Esto hace que el código sea mucho más fácil de leer y entender como una composición musical.
Practica 3:
Materiales:
- Arduino Uno R3.
- Sensor Ultrasonido
- Buzzer
- 8 LEDs
- 8 Resistencias
- Protoboard grande.
- Cables
Explicación del Circuito:
El circuito organiza los componentes para que funcionen como una escala de peligro:
Sensor: Tiene 4 pines. VCC va a 5V, GND a tierra, Trig (disparador) al pin 7 y Echo (receptor) al pin 6.
Barra de LEDs: Estás usando 8 pines digitales (3, 4, 5, 9, 10, 11, 12 y 13). Cada LED tiene su propia resistencia conectada al cátodo (tierra) para evitar que se quemen.
Buzzer: Conectado al pin 8. Se activará solo cuando el objeto esté muy cerca.
Alimentación: Usas los rieles laterales de la protoboard para repartir 5V y GND a todos los componentes de forma ordenada.
Explicación del Código:
Medición de Distancia:
La función readUltrasonicDistance envía un pulso de sonido y mide cuánto tarda en regresar. En el loop, multiplicas ese tiempo por 0.01723 para convertirlo en centímetros.
La Escalera de Niveles (if / else if):
El programa evalúa la distancia constantemente:
Distancia > 85 cm: Se ejecuta apagado(), todas las luces se apagan.
85 cm a 55 cm: Se activan los niveles 1 al 7. A medida que el objeto se acerca, se van encendiendo más LEDs (primero los verdes, luego amarillos, luego rojos).
Menos de 50 cm (Alerta Máxima): Se activa el nivel8() (todos los LEDs encendidos) y se ejecuta el comando tone(piezo, 1000, 300), que hace que el buzzer emita un pitido de advertencia.
Funciones de Nivel:
Cada función (como nivel3()) primero llama a apagado() para "limpiar" la barra de luz y luego enciende exactamente los LEDs que corresponden a esa distancia. Esto evita que los LEDs se queden encendidos por error cuando te alejas.

Comentarios
Publicar un comentario