Lo Último en IP@P
- Stellar Data Recovery revoluciona la recuperación de archivos perdidos en discos duros externos
- Goblin Mine: La Estrategia Económica Detrás del Juego de Minería que está Fascinando a Todos
- Estos son los nuevos Cargadores UGREEN: potencia y portabilidad en dos versiones que no te puedes perder
- UGREEN Nexode Pro: El Cargador Ultradelgado que revoluciona la carga de dispositivos móviles
- La computación en la nube está transformando los juegos Online y estas son sus grandes ventajas
Para realizar proyectos con Arduino no es necesario tener experiencia en electrónica, sólo tienes que ponerte manos a la obra para familiarizarte con ese mundo y, en especial, con el IDE de Arduino que es donde se pegan los códigos, es decir, las instrucciones que quieras que se ejecuten.
Una excelente idea para complementar algunos tipos de proyectos en Arduino, es incorporarles sonidos mediante el uso de un buzzer pasivo o un altavoz. Son muy fáciles de trabajar y podrás reproducir todo tipo de sonidos o melodías.
Teniendo esto en cuenta, a lo largo de este post te enseñaremos ¿Cómo reproducir sonidos con Arduino y buzzer pasivo o altavoz?, mediante una guía paso a paso. Sumado a eso, conocerás tres interesantes ideas de proyectos fáciles que puedes realizar tú mismo y poner en práctica tus conocimientos.
¿Qué es un Buzzer y cómo funciona en Arduino?
Un Buzzer pasivo o altavoz no son más que dispositivos cuya función consiste en convertir una señal eléctrica en una onda de sonido. Un dato importante que se debe mencionar, es que no disponen de electrónica interna, por lo que se le debe proporcionar una señal eléctrica para conseguir el sonido deseado.
En palabras más simples, el buzzer pasivo se encarga de producir un sonido mientras se le suministra corriente. Es ideal para integrar con Arduino porque permite crear un sonido de alerta o notificación cuando se genere algún evento determinado. Entonces, el usuario debe programar el microcontrolador para que envíe una señal al buzzer cuando se produzca dicho evento, con el propósito de que avise con un sonido.
Un ejemplo muy práctico se aplica cuando utilizas un sensor de temperatura y deseas que se te avise cuando sobrepase los 100 grados centígrados. Cuando el sensor detecte dichos niveles de temperatura, el buzzer se encargará de producir un sonido de alerta. Aparte de eso, hay muchas otras aplicaciones para las cuales este elemento puede ser útil con Arduino. De esta forma, puedes dar espacio para la imaginación y desarrollar todo tipo de proyectos interesantes.
Aprende paso a paso cómo reproducir sonidos con un buzzer o altavoz con Arduino
Reproducir sonidos con un buzzer normal o con un módulo pasivo para Arduino es más sencillo de lo que parece. Sólo tienes que conectarlo y escribir en Arduino IDE un código simple (aunque toma en cuenta que la base dependerá de lo que tú quieras conseguir). Arduino posee dos funciones principales que ayudan al usuario a generar de forma fácil señales eléctricas para convertir en sonido, todo esto mediante cualquiera de las salidas digitales disponibles. Estas funciones son tone() y noTone().
Como su nombre lo indica, están encargadas de generar o detener la señal del tono en un pin:
tone(pin, frecuencia)
: activa un tono de frecuencia determinada en un pin dadonoTone(pin)
: detiene el tono en el pin
Cabe destacar, que gracias a la función de tone() existe la posibilidad de especificar la duración del sonido generado:
tone(pin, frequencia, duracion)
: activa un tono de frecuencia y duración determinados en un pin dado
Sin embargo debes considerar que, debido a su sencillez, cuando empleas las funciones para la generación del tono, hay ciertas limitaciones importantes que te indicamos a continuación:
- Tone emplea el Timer 2, es decir, que mientras esté funcionando no se pueden usar las salidas PWM en los pines 3 y 11 en Arduino Nano y Arduino Uno (pines 9 y 10 en Arduino Mega).
- No se puede utilizar la función de tone() en dos pines de forma simultánea. Entonces en estos casos tienes que proceder a apagar el tono con la función noTone() antes de usarlo en otro pin.
- Los rangos que se pueden emplear en la función tone son de 31 Hz a 65535 Hz.
Para que tengas la explicación mucho más clara, te compartimos algunos ejemplos sencillos de código donde se aplican las funciones especificadas anteriormente:
Ejemplo 1
Con este código que te mostraremos, el buzzer emitirá sonido 1 segundo y se detendrá.
Luego, vuelve a producir 1 segundo nuevamente y así sucesivamente:
/* Programa simple para emitir pitidos de 1 segundo intermitentes */ const int buzzer = 9; //El pin al que se conecta el buzzer es el 9 void setup(){ pinMode(buzzer, OUTPUT); // Pin 9 declarado como salida } void loop(){ tone(buzzer, 50); // Envía señal de 1Khz al zumbador delay(1000); noTone(buzzer); // Detiene el zumbador delay(1000); //Espera un segundo y vuelve a repetir el bucle }
Ejemplo 2
En este segundo caso, se emplea el buzzer o altavoz conectado en el Pin9 con el objetivo de generar una función de 440Hz durante un periodo de un segundo, pararlo durante 500ms y, por último, producir un tono de 523Hz durante 300ms.
Más en Hardware
- El accidente del transbordador espacial Challenger: ¿Cuáles fueron las verdaderas causas del desastre?
- ¿Cómo instalar Windows 10 en una Raspberry Pi desde cero y sin errores? Guía paso a paso
- ¿Cómo configurar Chromecast desde cualquier dispositivo? Guía paso a paso
- Trucos de Google Home: Conviértete en un experto con estos tips y consejos secretos - Lista 2024
- ¿Cómo actualizar Google Chromecast a la última versión disponible? Guía paso a paso
SÍGUENOS EN 👉 YOUTUBE TV
Después repetir el programa tras una pausa de 500 ms:
const int pinBuzzer = 9; void setup() { } void loop() { //generar tono de 440Hz durante 1000 ms tone(pinBuzzer, 440); delay(1000); //detener tono durante 500ms noTone(pinBuzzer); delay(500); //generar tono de 523Hz durante 500ms, y detenerlo durante 500ms. tone(pinBuzzer, 523, 300); delay(500); }
Ejemplo 3
Esta última opción utiliza un array con frecuencias que se recorren secuencialmente para realizar un barrido que aproxima las diferentes notas musicales.
Veamos:
const int pinBuzzer = 9; const int tonos[] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494}; const int countTonos = 10; void setup() { } void loop() { for (int iTono = 0; iTono < countTonos; iTono++) { tone(pinBuzzer, tonos[iTono]); delay(1000); } noTone(pinBuzzer); }
Lista de los mejores proyectos Arduino con buzzer que puedes hacer tu mismo para practicar
Los proyectos con Arduino ofrecen mucho espacio para la imaginación de las personas, debido a que les permiten incorporar en la placa diferentes elementos para realizar todo tipo de creaciones. Tal es el caso de la incorporación de sensores, buzzer u otros elementos para determinados propósitos. En este sentido, te mostraremos tres principales ideas que puedes desarrollar tu mismo para practicar y familiarizarte mejor con este entorno.
En todos los casos, requerirás de al menos una placa Arduino y un buzzer:
Alarma básica o despertadores
¿Sabías que puedes crear tu propia alarma o despertador?. No es tan difícil como parece. Con la ayuda de una placa Arduino, un buzzer y algunos otros elementos, puedes crear desde tu casa una alarma que te indique cuándo despertar, o para programar sonidos en determinados momentos del día.
Sensores con sonido
Otro uso muy interesante que se le puede dar a un buzzer con Arduino, es incorporarlo en aparatos que tengan determinados sensores. Por ejemplo, si creas un sensor de gas y quieres que se te notifique cuando supere el límite establecido, con la aplicación de un altavoz lograrás que se produzca un sonido cuando eso ocurra.
Aparte de eso, hay otro ejemplo práctico para el cual te puede ser de gran utilidad un sensor con sonido. Por ejemplo, si quieres detectar el acercamiento de objetos o personas y emitir un sonido cuando ya estén dentro del rango que establezcas.
Reproductor de melodías
Finalmente, con un buzzer pasivo y un Arduino, puedes crear un aparato que produzca determinadas melodías conocidas como las de “Star Wars” o “Piratas del Caribe”. Para conseguirlo, debes programarlo para poder sacar diferentes intensidades de sonidos, frecuencias y duración.
En consecuencia, podrás crear las melodías que quieras. En estos casos, hay que declarar el pin9 como una salida (sin tener que ponerle un nombre) y posteriormente usar la estructura de la función tone (pin, frecuencia, duración). A través de dicha estructura se definen los tres parámetros separados por comas, con lo cual se constituyen todo tipo de notas en cualquier tiempo y cualquier melodía. Ten en cuenta que si posees conocimientos musicales, podrás elaborar tus propias melodías.
Arduino:1.8.7 (Windows 10), Tarjeta:"Arduino/Genuino Uno"
zumbador_new:21:11: error: redefinition of 'const int pinBuzzer'
const int pinBuzzer = 9;
^