Translate

viernes, 8 de febrero de 2013

Primeros pasos con un buzzer

Introducción: El buzzer o zumbador

El zumbador – buzzer o piezo speaker en inglés-, es un elemento capaz de transformar la electricidad en sonido.



El corazón de los buzzer piezoeléctricos es un simple disco piezo, que consiste de una placa cerámica con una capa metálica. Si el disco es controlado por un circuito oscilante externo se habla de un transductor piezo eléctrico. Si el circuito oscilador está incluido en la carcasa, se le denomina zumbador piezoeléctrico.
Aplicaciones

Los generadores de sonidos piezoeléctricos son dispositivos aptos para el diseño de alarmas y controles acústicos de estrecho rango de frecuencia, por ejemplo en aparatos domésticos y de medicina.
Montaje

Primero vamos a fijarnos en el buzzer, como veréis tiene dos cables, el negro y el rojo, que conectaremos:

-          El negro al GND de la placa de Arduino.
-          El rojo entre una resistencia de 100 Ohm y una salida digital de Arduino.

Es importante recordar que la presencia de los dos colores de los cables revelan que los piezos tienen polaridad, y que los cables indican precisamente como conectar nuestro dispositivo a la placa. Haz el siguiente montaje:


Ojo con los pines que uséis, solo podemos usar los pines PWM.

Programación del Arduino


En función setup declaro que el pin 11 será un pin de salida, el cual está conectado el buzzer:

void setup()
{
     pinMode(11, OUTPUT);   // El pin 11 es donde tenemos conectado el Buzzer
}

Desarrollo una función a la que llamo sonar, en la que haré que el buzzer “toque” 2 tonos diferentes, parando entre cada uno de ellos 500ms:
void sonar (){
     analogWrite(buzzer,20); //emite 1 sonido
     delay(500); //espera medio segundo
     analogWrite(buzzer,120); //emite otro sonido
     delay(500); //espera medio segundo
}
El código final queda así:
/////////////////////////////////////////////////////////
/// www.opiron.com                                   ///
// by A.Girod                                        ///
// Haciendo "cantar" a un buzzer                     ///
////////////////////////////////////////////////////////

void setup()
{
     pinMode(11, OUTPUT);   // El pin 11 es donde tenemos conectado el Buzzer
}
 
void loop()
{
   ring();                 // con este ejemplo hacemos que el buzzer vaya tocando
                           // tonos de diferentes frecuencias alternativamente
}
void ring (){
     analogWrite(11,20); //emite 1 sonido
     delay(500); //espera medio segundo
     analogWrite(11,120); //emite otro sonido
     delay(500); //espera medio segundo
}

La función tone de Arduino

La función tone() de Arduino genera ondas PWM a una frecuencia deseada con un ciclo de trabajo del 50% - ver más sobre PWM en el enlace .
La sintaxis de la función es:

      tone(pin, frecuencia)
tone(pin, frecuencia, duración)


Esta función nos será realmente valiosa para generar 2 parámetros de las notas músicales: frecuencia (tono o altura en música) y la duración. 
Haremos una programación con otro código sobre Arduino para ver cómo funciona:
Primero de todo declaramos las variables pin, frecuencia y duración:
int pin=11;
int frecuencia=250;
int duracion= 1000;
Es decir, tocaremos una nota de 250Hz durante un segundo (1000ms).
La ponemos dentro de la función setup, para que se ejecute cuando arranquemos el programa:

void setup() {
  
    tone(pin, frecuencia, duracion);
}
Finalmente, el código queda de esta manera:
/////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
// www.opiron.com                                    ///
// by A.Girod                                        ///
// Haciendo "cantar" a un buzzer  2                   ///
////////////////////////////////////////////////////////

int pin=11;
int frecuencia=250;
int duracion= 1000;

 void setup() {
  
    tone(pin, frecuencia, duracion);
}
 
void loop() {
 // Nada
}

3 comentarios:

  1. Hola, tengo un buzzer pero en vez de tener 2 pines posee 3 pines. ¿Eso quiere decir que es doble? O sea que tiene dos buzzer en uno? Gracias

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Felicito al autor por su ingenio. Muy interesante su trabajo. Por estas razones,
    me gustaría compartir uns página web muy interesante dedicada precisamente a los discos piezoeléctricos:

    http://www.rivel.com.es/discos_piezoelectricos.htm

    Te animo a seguir experimentando. Gracias por tu conocimiento.

    ResponderEliminar