Saltar a contenido

Reto-04. Zumbador

Enunciado

Trabajaremos con el buzzer o zumbador partiendo de la reproducción de sonidos básicos hasta llegar a la reproducción de melodías completas.

Teoría

El buzzer o zumbador o altavoz es un transductor electroacústico (convierte una señal eléctrica en una onda de sonido) que produce un determinado zumbido o sonido. Existen de dos tipos:

  • Pasivos: no disponen de electrónica interna, por lo que tenemos que proporcionar una señal eléctrica para conseguir el sonido deseado.
  • Activos: disponen de un oscilador interno, por lo que únicamente tenemos que alimentar el dispositivo para que se produzca el sonido.

El zumbador que incorpora la placa TdR STEAM es de tipo pasivo y está conectado al pin D8.

Una de los parámetros que caracterizan a un sonido es su frecuencia de emisión, siendo la frecuencia el número de veces que se repite por unidad de tiempo (segundo). La transmisión del sonido se realiza por ondas a través en cualquier medio (sólido, líquido o gaseoso) excepto en el vacío. La frecuencia de un sonido nos indica cuantos ciclos por segundo tiene una onda.

En la imagen y la tabla siguientes vemos un dibujo con un fragmento de las teclas de un piano estando todo referido a una nota estándar, la nota "La" central que tiene una frecuencia de 440 Hz. Podemos ver la nota musical que reproduce, en las dos notaciones más comunes de los sonidos (Inglés: C D E F G A B, Alemán: C D E F G A H, Español, italiano y francés: Do Re Mi Fa Sol La Si) y además se encuentra la frecuencia que produce esa nota musical.

Sección de piano y notas
Sección de piano y notas

En ArduinoBlocks disponemos de un bloque que nos permite reproducir cualquier melodía RTTTL (del inglés, Ring Tone Text Transfer Language) y es el que vemos en la imagen siguiente:

Bloque Reproducir RTTTL
Bloque Reproducir RTTTL

Este bloque permite reproducir una melodía a partir de un texto con formato RTTTL, formato desarrollado por Nokia para ser usado para transferir tonos de llamada a teléfonos móviles. El formato RTTTL es una cadena dividida en tres secciones: nombre, valor predeterminado y datos. Por ejemplo, la siguiente cadena de texto se corresponde con la Intro de Donkey Kong:

d=4,o=5,b=140:8a#,8p,8d6,16p,16f.6,16g.6,16f.6,8a#,8p,8d6,16p,16f.6,16g.6,16f.6,8a#,8p,8d6,16p,16f.6,16g.6,16f.6,8a#,8p,8d6,16p,16f.6,16g.6,16f.6

Lo único que tenemos que hacer para reproducir la melodia es pegar esta cadena en la zona de texto del bloque.

ArduinoBlocks nos suministra información y enlaces referentes al tema accediendo desde nuestro proyecto a herramientas y escogiendo RTTTL Info, tal y como vemos en la imagen siguiente:

Acceso a RTTTL Info
Acceso a RTTTL Info

En la imagen siguiente tenemos desplegada la información que nos ofrece esta herramienta.

Información RTTTL
Información RTTTL

También podemos acceder a esta información haciendo clic derecho sobre el bloque y escogiendo la opción "Ayuda" de entre las mostradas en la ventana emergente.

En la TdR STEAM

El buzzer en la TdR STEAM
El buzzer en la TdR STEAM

Programando el reto

Los cuatro bloques destinados a trabajar con el zumbador los vemos en la imagen siguiente:

Los 4 bloques para trabajar con el zumbador
Los 4 bloques para trabajar con el zumbador

En el bloque Zumbador podemos modificar dos parámetros, el tiempo que dura cada sonido expresado en milisegundos (campo Ms) y la frecuencia en Hz a la que reproducirá el sonido el zumbador (campo Hz).

Vamos a comenzar haciendo un programa que reproduzca tres de las notas de la escala musical vista anteriormente. La solución al reto la tenemos disponible en Reto-04.

Reto 04
Reto 04

Actividades de ampliación

R4.A1. Reproducir la escala musical con las notas básicas utilizando los bloques Zumbador y Tono

R4.A2. Reproducir la melodía de la imagen siguiente sabiendo que las negras tienen una duración de 500ms, las negras con un puntito 750ms y las blancas 1000ms.

Himno a la alegria
Himno a la alegria

R4.A3. Reproducir diferentes melodías a partir de los bloques RTTTL (Ring Tone Text Transfer Language o lenguaje de tonos de llamada).

R4.A4. (No solucionado) Reproducir alguna otra melodía que descarguemos de las páginas web propuestas.

Solución R4.A1

El Programa de la imagen siguiente está disponible en el enlace Reto-04-A1: escala-musical.

Actividad 1 del reto 4
Actividad 1 del reto 4

Solución R4.A2

El Programa de la imagen siguiente está disponible en el enlace Reto-04-A2: partitura.

Actividad 2 del reto 4
Actividad 2 del reto 4

Mas adelante se explicará la forma de construcción del programa utilizando funciones. La melodía es el himno a la alegra.

Solución R4.A3

El Programa de la imagen siguiente está disponible en el enlace Reto-04-A3: melodias-RTTTL. La solución es sencilla, basta con escogger el bloque Zumbador Reproducir RTTTL y acoplarle el bloque RTTTL escogiendo la melodía a reproducir. En la solución se han puestos dos grupos de bloques con dos de las posibles melodías dejando un tiempo de 5 segundos entre una y otra. En este caso además los bloques se han colocado en "Inicializar" por lo que solamente se van a ejecutar una vez y no de manera indefinida.

Actividad 3 del reto 4
Actividad 3 del reto 4