¿Qué es el módulo KY-012?
El KY-012 es un módulo compatible con Arduino que lleva integrado un buzzer o zumbador activo.
El buzzer activo emite un sonido cuando se le aplica una corriente eléctrica.
Este módulo forma parte del kit de 37 sensores compatible con Arduino.
¿Para qué sirve el módulo KY-012?
El módulo KY-012 tiene varias aplicaciones debido a la capacidad del buzzer activo para generar sonidos controlados cuando se le suministra corriente eléctrica.
Algunos de los usos más comunes incluyen:
- Alarmas: Los buzzers activos se utilizan en sistemas de seguridad y alarmas para alertar sobre situaciones de emergencia, como intrusiones, incendios, escapes de gas, etc.
- Señalización en dispositivos electrónicos: Muchos dispositivos electrónicos, como electrodomésticos, equipos de oficina, juguetes y dispositivos médicos, utilizan buzzers activos para proporcionar retroalimentación audible al usuario, como indicadores de encendido, advertencias de errores o notificaciones de eventos.
- Indicadores de estado: En sistemas automatizados y de control, los buzzers activos pueden utilizarse para indicar diferentes estados o condiciones, como advertir sobre condiciones anormales, confirmar la finalización de una tarea o señalar una acción requerida.
- Juegos y juguetes electrónicos: Los buzzers activos se emplean en una variedad de juegos y juguetes electrónicos para agregar interactividad y proporcionar efectos de sonido.
- Comunicación no verbal: En entornos donde la comunicación oral es limitada o no es posible, como dispositivos de asistencia para personas con discapacidad, los buzzers activos pueden usarse como herramientas de comunicación no verbal.
Especificaciones del módulo KY-012
Estructura física
El módulo lleva conectado un buzzer activo:
Y tiene 3 pines, aunque solo dos de ellos están realmente conectados y son funcionales:
- GND: Es el pin etiquetado con un signo menos (-). Este pin lo conectaremos a tierra.
- IN: Es el pin al que debemos enviar la corriente eléctrica para hacer sonar el buzzer. Está etiquetado con una S.
- Pin central: No se utiliza.
Algunos fabricantes conectan los pines GND e IN al revés. Fíjate siempre en las etiquetas impresas en el módulo.
Especificaciones técnicas
En la siguiente tabla puedes consultar las especificaciones técnicas del módulo KY-002:
Voltaje de funcionamiento | De 3.5V a 5.5V |
Corriente de operación | 30mA |
Frecuencia de resonancia | 2500Hz ± 300Hz |
Nível de presión sonora (SPL) | 85Db a 10cm |
Temperatura de trabajo | De -20ºC a 70ºC |
Dimensiones | 18.5mm x 15mm |
¿Cómo funciona el buzzer activo?
Un buzzer activo funciona utilizando un circuito interno que incluye un oscilador y un transductor piezoeléctrico.
Se aplica una corriente eléctrica continua al buzzer activo, generalmente a través de dos terminales (positivo y negativo).
El buzzer activo contiene un oscilador interno que genera una señal eléctrica oscilante a una frecuencia específica cuando se aplica el suministro de energía. Esta frecuencia determina el tono del sonido que producirá el buzzer.
La señal eléctrica oscilante del oscilador se aplica al transductor piezoeléctrico dentro del buzzer. Este transductor está hecho de un material piezoeléctrico, que se deforma físicamente cuando se le aplica una tensión eléctrica. La deformación del material piezoeléctrico produce vibraciones mecánicas que generan ondas sonoras en el aire, creando así el sonido audible.
Las vibraciones mecánicas generadas por el transductor piezoeléctrico se propagan a través del aire, produciendo el sonido característico del buzzer activo a la frecuencia determinada por el oscilador interno.
¿Cómo conectar el módulo KY-012 con Arduino?
A continuación vamos a conectar el módulo KY-012 con nuestro Arduino. Revisaremos los materiales necesarios, las conexiones y el sketch.
Materiales
Aquí tienes la lista materiales necesarios para conectar el módulo buzzer activo con Arduino:
Una placa Arduino (Yo usaré Arduino UNO) | ||
Un módulo KY-012 | ||
Cables | ||
Una protoboard | ||
Un ordenador con el IDE de Arduino instalado |
Conexiones
Las conexiones son facilísimas:
El pin S (IN) va conectado a un pin digital del Arduino. Yo he elegido el pin 2, pero si prefieres utilizar otro no habrá ningún problema.
El pin – (GND) va conectado a tierra. Yo he utilizado una protoboard para hacer esta conexión, pero si quieres puedes conectarlo directamente al pin GND de Arduino.
Y ya está. Fácil, ¿verdad?
¿Cómo programar el módulo KY-012 con Arduino?
El sketch necesario para utilizar este módulo es similar al utilizado para encender un led:
//DECLARACIONES
const int KY012 = 2;
//CONFIGURACIÓN
void setup ()
{
pinMode (KY012, OUTPUT);
}
//FUNCIÓN LOOP
void loop ()
{
digitalWrite (KY012, HIGH);
delay (1000);
digitalWrite (KY012, LOW);
delay (1000);
}
Declaraciones
La constante KY012 tiene el valor del pin digital en el que está conectado el módulo.
const int KY012 = 2;
En mi caso el pin 2. Si lo has conectado a otro pin digital cambia este valor.
Configuración
Cuando enviemos un pulso alto al pin digital KY012 el buzzer debe emitir un sonido y cuando enviemos un pulso bajo debe permanecer en reposo. Por lo tanto tenemos que configurar este pin como salida.
pinMode (KY012, OUTPUT);
Recuerda que la función pinMode() nos permite configurar un pin digital. En este caso usamos el modo OUTPUT para que sea una salida digital.
Función loop
Aquí es donde va la lógica que nos permitirá activar o desactivar el buzzer.
void loop ()
{
digitalWrite (KY012, HIGH);
delay (1000);
digitalWrite (KY012, LOW);
delay (1000);
}
Con la primera instrucción de la función loop() enviamos un pulso alto (HIGH) al pin KY012 para que emita sonido:
digitalWrite (KY012, HIGH);
La siguiente instrucción provoca un retraso de un segundo antes de que se ejecute la siguiente instrucción. De esta forma el sonido permanezca activo ese tiempo:
delay (1000);
A continuación enviamos un pulso bajo (LOW) para que el sonido cese y el buzzer se quede en reposo:
digitalWrite (KY012, LOW);
Y por último volvemos a usar delay(1000) al final de la función loop() para que esta no se repita hasta que pase 1 segundo. Así conseguimos que el buzzer permanezca en reposo ese tiempo antes de que lo volvamos a activar con la siguiente repetición de loop().
Y con esto terminamos el sketch.
Ahora cárgalo en tu Arduino y mira la cara que se le queda a tu gato 🤣.
¡Suscríbete a la newsletter y no te pierdas nada!
Te avisaré cuando publique nuevo contenido en paraarduino.com y en mi canal de YouTube (@ParaArduino).