En este tutorial vas a aprender cómo usar un buzzer pasivo con tu placa UNO. El objetivo de la práctica es configurar el componente para que reproduzca ocho notas musicales distintas, generando una escala que va desde el Do central hasta el Do agudo, con una duración de medio segundo por nota.
Resumen
El propósito del experimento es generar ocho sonidos diferentes, cada uno con una duración de 0,5 segundos: empezando en Do5 (523Hz), Re5 (587Hz), Mi5 (659Hz), Fa5 (698Hz), Sol5 (784Hz), La5 (880Hz), Si5 (988Hz) hasta llegar al Do6 agudo (1047Hz).
Componentes requeridos
(1) x Elegoo Uno R3
(1) x Buzzer pasivo
(2) x Cables Hembra-Macho (cables Dupont)
Introducción al componente
El principio de funcionamiento del buzzer pasivo se basa en el uso de señales PWM para generar audio haciendo vibrar el aire. Siempre que cambies la frecuencia de vibración, podés generar sonidos distintos. Por ejemplo, enviando un pulso de 523Hz obtenés la nota Do. Con este componente podés incluso reproducir melodías completas. Tené cuidado de no usar la función analogWrite() para mandarle pulsos a un buzzer ACTIVO, porque la frecuencia de salida de esa función es fija (500Hz).
Esquema de conexión y diagrama de cableado
Seguí el esquema para conectar el buzzer a los pines correspondientes de la placa. Asegurate de que los cables estén firmes para evitar interferencias en la señal.
Código
Hacé clic en el enlace para descargar el archivo del programa a tu computadora. Antes de abrirlo, fijate de tener instalado el Arduino IDE y los drivers de la placa UNO. Si tenés dudas sobre cómo instalar el entorno, consultá la primera parte de la guía.
📥 DESCARGAR passive_buzzer.zip
Antes de correr el código, asegurate de haber instalado la librería pitches. El archivo comprimido de este tutorial incluye un archivo llamado "pitches"; simplemente importalo al entorno de desarrollo siguiendo los pasos habituales.
La directiva #include "pitches.h" sirve para incluir un archivo de cabecera que mapea frecuencias físicas (en Hertz) con nombres de notas musicales. Esto te permite usar nombres como NOTE_C4 o NOTE_A4 en vez de tener que memorizar los valores de frecuencia específicos para cada tono.
Uso de Arrays (Arreglos)
Un array es una colección de variables a las que accedés mediante un número de índice. En Arduino, los arrays empiezan siempre desde el índice 0. Esto significa que en un array de diez elementos, el primero está en el índice 0 y el último en el 9. Tené mucho cuidado de no intentar acceder a un índice mayor al tamaño del array menos uno, porque estarías leyendo sectores de memoria que el sistema usa para otras cosas, lo que puede provocar datos inválidos o fallos en el firmware.
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.