Zumbador piezoeléctrico pasivo

LD-BZPN-1705

Zumbador piezoeléctrico pasivo

Zumbador piezoeléctrico SIN oscilador, requiere excitación mediante señal de frecuencia adecuada (100Hz...5KHz).

Ideal para conectar a la placa Compluino / Arduino.

Estado: NUEVOEN STOCK  (27) Entrega 24/48 h
0,89
21.00% IVA incluido
unidades

Añadir a cesta

Peso: 5 gramos

Especificaciones técnicas:

  • Paso (distancia entre terminales): 10 mm
  • Diámetro: 17 mm
  • Longitud: 7 mm
  • Voltaje de funcionamiento:  5V
  • Rango de voltaje de funcionamiento 1..30V
  • Consumo:  1mA máx
  • Frecuencia de resonancia: 4KHz

Dimensiones (mm):

¿Qué es un zumbador?

Un zumbador es un dispositivo electroacústico que convierte la corriente eléctrica en sonido. Existen dos tipos de zumbadores: activos y pasivos.

  • Un zumbador activo es un zumbador que emite sonido con una freciencia fija predeterminada. Para conseguirlo cuenta con su propio oscilador, configurado para generar siempre la misma frecuencia. Por este motivo no es posible que emita sonidos diferentes.
  • Un zumbador pasivo es un zumbador capaz de emitir sonidos con frecuencias distintas. Al no contar con un oscilador interno, será el controlador al que lo conectemos el que deba generar la señal necesaria para cada frecuencia deseada.

Esquema y diagrama de montaje

Para conectar este zumbador solo es necesario conectar una de sus patas a FND y la otra, con una resistencia de 100 ohmios, a un pin de salida digital.

El montaje con una placa Compluino UNO resulta especialmente sencillo al disponer esta placa de pines de alimentación (+5V y GND) asociados a todas las entradas y salidas de la placa.

Programa de ejemplo: reproduce una canción completa

Utilizando arrays para programar secuencias largas de datos podemos reproducir canciones con el zumbador.

// Una canción completa

#define ZUMBADOR 8

 

//Frecuencias de las notas musicales usadas

#define NOTA_E6  1319

#define NOTA_G6  1568

#define NOTA_A6  1760

#define NOTA_AS6 1865

#define NOTA_B6  1976

#define NOTA_C7  2093

#define NOTA_D7  2349

#define NOTA_E7  2637

#define NOTA_F7  2794

#define NOTA_G7  3136

#define NOTA_A7  3520

 

// Melodía principal de Mario Bros

int melodia[] = {

 NOTA_E7, NOTA_E7, 0, NOTA_E7, 0, NOTA_C7, NOTA_E7, 0,

 NOTA_G7, 0, 0,  0, NOTA_G6, 0, 0, 0,

 

 NOTA_C7, 0, 0, NOTA_G6, 0, 0, NOTA_E6, 0,

 0, NOTA_A6, 0, NOTA_B6, 0, NOTA_AS6, NOTA_A6, 0,

 

 NOTA_G6, NOTA_E7, NOTA_G7, NOTA_A7, 0, NOTA_F7, NOTA_G7,

 0, NOTA_E7, 0, NOTA_C7, NOTA_D7, NOTA_B6, 0, 0,

 

 NOTA_C7, 0, 0, NOTA_G6, 0, 0, NOTA_E6, 0,

 0, NOTA_A6, 0, NOTA_B6, 0, NOTA_AS6, NOTA_A6, 0,

 

 NOTA_G6, NOTA_E7, NOTA_G7, NOTA_A7, 0, NOTA_F7, NOTA_G7,

 0, NOTA_E7, 0, NOTA_C7, NOTA_D7, NOTA_B6, 0, 0

};

 

// Duración de cada nota de la melodía

int tiempo[] = {

 12, 12, 12, 12, 12, 12, 12, 12,

 12, 12, 12, 12, 12, 12, 12, 12,

 

 12, 12, 12, 12, 12, 12, 12, 12,

 12, 12, 12, 12, 12, 12, 12, 12,

 

 9, 9, 9, 12, 12, 12, 12,

 12, 12, 12, 12, 12, 12, 12, 12,

 

 12, 12, 12, 12, 12, 12, 12, 12,

 12, 12, 12, 12, 12, 12, 12, 12,

 

 9, 9, 9, 12, 12, 12, 12,

 12, 12, 12, 12, 12, 12, 12, 12

};

 

//Declaración de variables

int nota;

int duracion_nota;

int pausa_entre_notas;

 

void setup()

{

   pinMode(ZUMBADOR, OUTPUT);                    

}

 

void loop()

{

   for (nota = 0; nota < 78; nota++)             

   {

      duracion_nota = 1000 / tiempo[nota];

      tone(ZUMBADOR, melodia[nota], duracion_nota);      

      pausa_entre_notas = duracion_nota * 1.60;

      delay(pausa_entre_notas);

   }

}

Programa de ejemplo: pitido al iniciar un programa

Para mostrar lo sencillo que es programar el zumbador programaremos un pequeño sonido inicial. Solo ocurrirá una vez cuando encendamos la placa controladora.

Recuerda que en la función "tone" debes introducir la frecuencia de la nota que quieres reproducir.

// Pitido inicial

#define ZUMBADOR 8

void setup()

{

 pinMode(ZUMBADOR, OUTPUT);

 

 tone(ZUMBADOR, 293); //Nota RE

 delay(200);

 tone(ZUMBADOR, 440); //Nota LA

 delay(200);

 noTone(ZUMBADOR);

}

void loop()

{

}

Programa de ejemplo: pitido controlado con un pulsador

Podemos ampliar el programa anterior añadiendo un pulsador. programaremos que el zumbado pite al comenzar el programa y cada vez que presionemos el pulsador.

Este es el programa necesario.

// Pitido inicial y cada vez que pulso

#define PULSADOR 2

#define ZUMBADOR 8

void setup()

{

 pinMode(PULSADOR, INPUT_PULLUP);

 pinMode(ZUMBADOR, OUTPUT);

 

 tone(ZUMBADOR, 293); //Nota RE

 delay(200);

 tone(ZUMBADOR, 440); //Nota LA

 delay(200);

 noTone(ZUMBADOR);

}

 

void loop()

{

   if (digitalRead(PULSADOR) == LOW)

   {

     tone(ZUMBADOR, 659); //Nota MI

   }

   else

   {

     noTone(ZUMBADOR);

   }

}

Programa de ejemplo: ¡tu primer teclado eléctrico!

Con dos pulsadores más y algunas modificaciones en el programa anterior podemos contruir nuestro propio teclado eléctrico. La combinación de unos pulsadores u otros dará lugar a una octava completa.

Este es el programa necesario.

// piano eléctrico

#define PULSADOR1 2

#define PULSADOR2 4

#define PULSADOR3 6

#define ZUMBADOR 8

 

void setup()

{

 pinMode(PULSADOR1, INPUT_PULLUP);

 pinMode(PULSADOR2, INPUT_PULLUP);

 pinMode(PULSADOR3, INPUT_PULLUP);

 pinMode(ZUMBADOR, OUTPUT);

 

}

 

void loop()

{

 if ((digitalRead(PULSADOR1) == HIGH) & (digitalRead(PULSADOR2) == HIGH) & (digitalRead(PULSADOR3) == HIGH)) //Sin pulsar, silencio

 {

   noTone(ZUMBADOR);

 }

 

 else if ((digitalRead(PULSADOR1) == HIGH) & (digitalRead(PULSADOR2) == HIGH) & (digitalRead(PULSADOR3) == LOW)) //001 - Do

 {

   tone(ZUMBADOR, 523); //Do

 }

 

 else if ((digitalRead(PULSADOR1) == HIGH) & (digitalRead(PULSADOR2) == LOW) & (digitalRead(PULSADOR3) == HIGH)) //010 - Re

 {

   tone(ZUMBADOR, 587); // Re

 }

 

 else if ((digitalRead(PULSADOR1) == HIGH) & (digitalRead(PULSADOR2) == LOW) & (digitalRead(PULSADOR3) == LOW)) //011 - Mi

 {

   tone(ZUMBADOR, 659); //Mi

 }

 

 else if ((digitalRead(PULSADOR1) == LOW) & (digitalRead(PULSADOR2) == HIGH) & (digitalRead(PULSADOR3) == HIGH)) //100 - Fa

 {

   tone(ZUMBADOR, 698); //Fa

 }

 

 else if ((digitalRead(PULSADOR1) == LOW) & (digitalRead(PULSADOR2) == HIGH) & (digitalRead(PULSADOR3) == LOW)) //101 - Sol

 {

   tone(ZUMBADOR, 783); //Sol

 }

 

 else if ((digitalRead(PULSADOR1) == LOW) & (digitalRead(PULSADOR2) == LOW) & (digitalRead(PULSADOR3) == HIGH)) //110 - La

 {

   tone(ZUMBADOR, 880); //La

 }

 

 else if ((digitalRead(PULSADOR1) == LOW) & (digitalRead(PULSADOR2) == LOW) & (digitalRead(PULSADOR3) == LOW)) //111 - Si

 {

   tone(ZUMBADOR, 987); //Si

 }

}

Productos relacionados