Instalación y uso de EasyBuzzer para Arduino

Instalación y uso de EasyBuzzer para Arduino

En el capítulo anterior mostré la conexión de un zumbador, al cual, enseñé la forma básica para hacerlo sonar. En este verás como descargar, instalar y utilizar la biblioteca EasyBuzzer para Arduino.

Descargar EasyBuzzer

En GitHub disponemos de esta biblioteca gratuita llamada EasyBuzzer.

Para descargarla, puedes ir a este enlace.

Descargar EasyBuzzer Arduino

Se te descargará un archivo .zip que no hace falta que abras.

Una vez la tengas descargada, vamos al IDE de Arduino > Menú superior > Programa > Incluir Librería > Añadir biblioteca .ZIP...

Como curiosidad, la traducción de "Incluir Librería" es incorrecta, la traducción sería "Incluir Biblioteca".

Importar biblioteca arduino ide

Selecciona el archivo descargado y ya estará. Ahora, tu IDE de Arduino tiene más funcionalidades.

Importar la biblioteca EasyBuzzer

Para importar la biblioteca de EasyBuzzer, tan solo hay que escribir arriba del todo esta línea:

#include <EasyBuzzer.h>

Si no te da ningún error, quiere decir que la tienes instalada correctamente.

Vayamos al setup(). Aquí, pondremos el pin positivo para poder controlarlo. Yo lo tengo en el 3.

void setup() {
  // Pin del zumbador
  EasyBuzzer.setPin(3);
}

En el mismo setup() también pondremos la llamada a una función de EasyBuzzer llamada beep. Fíjate que cada vez que llamamos a algo de la biblioteca EasyBuzzer, lo hacemos con su nombre y luego un punto.

Debería quedarte todo así:

#include <EasyBuzzer.h>

void setup() {
  // Pin del zumbador
  EasyBuzzer.setPin(3);
  
  // Ajustes del tono
  EasyBuzzer.beep(
    500 //Frecuencia en Hz
  );
}

void loop() {
  // Bucle de actualización de la biblioteca
  EasyBuzzer.update();
}

En la función EasyBuzzer.beep() podemos pasar varios argumentos en un orden concreto. Mínimo tenemos que poner uno tal y como ves en el código anterior. Este primer argumento representa la frecuencia en hercios. Ves probando valores y verás que el sonido cambia.

Si ejecutas este código en tu Arduino, el zumbador va a pitar en esa frecuencia constantemente, no va a parar.

Añade un segundo argumento para indicar el número de veces que quieres que se ejecute el sonido:

EasyBuzzer.beep(
    500, // Frecuencia en Hz
    10 // Número de pitidos
  );

Podemos agregar una función como tercer argumento. Con ella puedes inventar el código que quieras. A mí, se me ocurre hacer una función que lleve dentro una llamada a EasyBuzzer.beep() para hacer que cuando acabe de emitir los 10 pitidos que le he indicado, que haga 1 pitido extra en otra frecuencia.

#include <EasyBuzzer.h>

void setup() {
  // Pin del zumbador
  EasyBuzzer.setPin(3);
  
  // Ajustes del tono
  EasyBuzzer.beep(
    500, //Frecuencia en Hz
    10, // Número de pitidos
    sonidoFinal // Llamada a función
  );
}

void sonidoFinal(){
  EasyBuzzer.beep(
    350, //Frecuencia en Hz
    1 // Número de pitidos
  );
}

void loop() {
  // Bucle de actualización de la biblioteca
  EasyBuzzer.update();
}

Solo piensa, que incluso en la función del pitido final, si le indicas aquí también el tercer argumento, puedes hacer que llame a otra función. Por ejemplo, si llamo al propio setup(), crea un bucle infinito, aunque podrías crear más funciones haciendo diferentes cosas en lugar de esto.

#include <EasyBuzzer.h>

void setup() {
  // Pin del zumbador
  EasyBuzzer.setPin(3);
  
  // Ajustes del tono
  EasyBuzzer.beep(
    500, //Frecuencia en Hz
    10, // Número de pitidos
    sonidoFinal // Llamada a función sonidoFinal()
  );
}

void sonidoFinal(){
  EasyBuzzer.beep(
    350, //Frecuencia en Hz
    1, // Número de pitidos
    setup //Llamada a la función setup()
  );
}

void loop() {
  // Bucle de actualización de la biblioteca
  EasyBuzzer.update();
}

Crear una secuencia con EasyBuzzer

Ahora que ya dominas lo básico, vamos a utilizar más opciones de la función EasyBuzzer.beep() para crear una secuencia.

Primero, analicemos la función EasyBuzzer.Beep().

El primer argumento se corresponde con la frecuencia en hercios (tono), el segundo especifica la duración del pitido en milisegundos, el tercero especifica la duración de los silencios en milisegundos entre pitido y pitido. El cuarto es para el número de pitidos de la secuencia. El quinto especifica en milisegundos la duración de la pausa entre ciclo y ciclo. El sexto sirve para especificar el número de ciclos y por último, podemos llamar opcionalmente a una función. En mi caso, he llamado a la función sonidoFinal().

Esta función, lo que hace es utilizar una función llamada EasyBuzzer.singleBeep que sirve para realizar un único pitido. Este va a durar 3 segundos (3000 ms).

#include <EasyBuzzer.h>

void setup() {
  // Pin del zumbador
  EasyBuzzer.setPin(3);
  
  // Ajustes del tono
  EasyBuzzer.beep(
    500, //Frecuencia en Hz
    700, // Duración del pitido
    800, // Duración del silencio entre pitidos
    5, // Número de pitidos
    3000, // Pausa final entre ciclos
    3, // Número de ciclos
    sonidoFinal // Llamada a función
  );
}

void sonidoFinal(){
  EasyBuzzer.singleBeep(
    350, //Frecuencia en Hz
    3000 // Duración del pitido
  );
}

void loop() {
  // Bucle de actualización de la biblioteca
  EasyBuzzer.update();
}

Hasta aquí este capítulo, que sepas que puedes hacer hasta música. Solo tienes que buscar música Arduino en Google y te saldrán un montón. Si necesitas ayuda para saber como utilizar eso, déjame un comentario.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

logo arduino Entrada anterior ¿Cómo funciona un zumbador (buzzer) en Arduino?
curso de Python Entrada siguiente Tipos de datos primitivos, conversiones y errores – 100 días de Python #2