You are on page 1of 6

ALARMA CON ARDUINO

Y BUZZER ACTIVO
(ZUMBADOR)

1 AGOSTO, 2016

¿QUÉ ES UN BUZZER ACTIVO?


Los buzzer activos, en ocasiones denominados zumbadores, son dispositivos que generan
un sonido de una frecuencia determinada y fija cuando son conectados a tensión.

Un buzzer activo incorpora un oscilador simple por lo que únicamente es necesario


suministrar corriente al dispositivo para que emita sonido. En oposición, los buzzer pasivos
necesitan recibir una onda de la frecuencia.

Al incorporar de forma interna la electrónica necesaria para hacer vibrar el altavoz un


buzzer activo resulta muy sencillo de conectar y controlar. Además, no suponen carga para el
procesador ya que no este no tiene que generar la onda eléctrica que se convertirá en sonido.
En contra posición, tienen la desventaja de que no podremos variar el tono del sonido
emitido, por lo que no podremos realizar melodías, cosa que si podremos hacer con los buzzer
pasivos.

PUBLICIDAD: Encarga tus propias PCBs a media en PCBWAY

Físicamente pueden ser muy parecidos, o incluso idénticos, a los buzzer pasivos, por lo que
puede llegar a ser difícil determinar a simple vista si un buzzer es activo o pasivo.

Existen buzzer activos en un gran abanico de tamaños y potencias, desde tonos casi
imperceptibles hasta alarmas realmente estridentes. El consumo eléctrico, lógicamente, también
varia con la potencia del buzzer.

Podemos emplear los buzzer activos de menor potencia, por ejemplo, para dar avisos al
usuario o proporcionar un feedback ante alguna acción, como pulsar un botón, para que el usuario
compruebe que su acción ha sido recibida.

Por su parte, los buzzer de mayor potencia son adecuados para generar alarmas de forma
sencilla, por ejemplo, combinados con un sensor de movimiento, un sensor de agua, o un sensor
de llama, entre otros.

PRECIO
Existen una gran variedad de buzzer activos que podemos usar en nuestros proyectos de
Arduino. Por ejemplo, podemos encontrar unas placas con un buzzer activo y la electrónica
necesaria para hacerlo funcionar por 0.45€, en vendedores internacionales de eBay y AliExpress.

Respecto a los buzzer activos de mayor potencia, podemos encontrar de 90 a 110 dB por 2
a 3€.
En este caso, necesitaremos una etapa de potencia para poder activar suministrar la potencia
requerida por el buzzer.

ESQUEMA DE MONTAJE
Si usamos una placa con la electrónica integrada el montaje es realmente sencillo, ya que el
propio módulo incorpora los componentes necesarios para proporcionar la corriente necesaria al
buzzer activo.

Por tanto, simplemente alimentamos el módulo conectando Vcc y GND a 5V y GND de


Arduino, y finalmente

Si necesitamos conectar un buzzer activo de mayor potencia, deberemos emplear


un transistor BJT, o MOSFET para amplificar la corriente, o emplear una salida por relé.

Por ejemplo, si usamos un módulo con un MOSFET IRF520N el montaje sería el siguiente.
En ambos casos la conexión vista desde Arduino es la misma, ya que únicamente
necesitamos usar una salida digital para encender el módulo.
EJEMPLO DE CÓDIGODE
MONTAJE
El código necesario es sencillo, ya que para a controlar el buzzer únicamente necesitamos
emplear una salida digital, tal y como vimos en la entrada salidas digitales.

Por ejemplo, el siguiente código simplemente encendería y apagaría el diodo láser 5


segundos, dejándolo descansar 20 segundos.

1 const int pin = 9;


2
3 void setup() {
4 pinMode(pin, OUTPUT); //definir pin como salida
5 }
6
7 void loop(){
8 digitalWrite(pin, HIGH); // poner el Pin en HIGH
9 delay(5000); // esperar 5 segundos
10 digitalWrite(pin, LOW); // poner el Pin en LOW
11 delay(20000); // esperar 20 segundos
12 }
En el siguiente ejemplo, queremos que el buzzer se active como alarma ante un determinado
evento. Supongamos que tenemos una cierta función GetSystemState() que realiza las mediciones
de sensores y cálculos necesarios para determinar si la alarma tiene que ser encendida.

Simplemente realizamos la llamada a la función, y encendemos la alarma si es necesario,


manteniéndola encendida un mínimo de 5 segundos.

1 const int pin = 9;


2
3 bool isAlarmOn = 0; //almacena el estado de la alarma
4
5 void setup() {
6 pinMode(pin, OUTPUT); //definir pin como salida
7 }
8
9 bool GetSystemState()
10 {
11 return true; //cambiar en función del sensor usado
12 }
13
14 void loop(){
15 isAlarmOn = GetSystemState();
16
17 if(isAlarmOn)
18 {
19 digitalWrite(pin, HIGH); // poner el Pin en HIGH
20 delay(5000); // esperar 5 segundos
21 }
22 else
23 {
24 digitalWrite(pin, LOW); // poner el Pin en LOW
25 }
26 delay(1000);
27 }

You might also like