Saltar la navegación

Buzzer: Zumbador

Varias prácticas con el zumbador (buzzer)

  • Si los conectáis al revés, simplemente no sonará, y tendréis que dar la vuelta.
  • Además para este primer montaje, necesitamos usar un pin PWM (como el 9) porque es la alternancia entre HIGH y LOW lo que produce el efecto piezoeléctrico (recordad que una señal PWM envía un tren de ondas cuadradas de amplitud variable), por lo que lo más cómodo es usar un pin PWM en lugar de programar un efecto equivalente en un pin normal.

Conexiones buzzer

Este es el código del PROGRAMA1, que simplemente emite un beep

-----------------------------------------------------------------------------------------------------

void setup() {
  pinMode(9, OUTPUT);
  beep(50);
  beep(50);
  beep(50);
  delay(1000);
}
void loop() {
  beep(200);
}

void beep(unsigned char pausa) {
  analogWrite(9, 20);
  delay(pausa);                 // Espera
  analogWrite(9, 0);            // Apaga
  delay(pausa);                 // Espera
}

-----------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------

Arduino dispone de la función tone() que genera una señal de la frecuencia indicada, y notone() que la corta.

Prueba este PROGRAMA2, con el buzzer conectado al pin digital 9

-----------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------

// Genera señales de tono variable para hacer una melodía

int speakerPin = 9;

int numTones = 10;
int tones[ ] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494};
// mid C C# D D# E F F# G G# A

void setup()
{ }

void loop()
{
  for (int i = 0; i < numTones; i++)
  {
    tone(speakerPin, tones[i]);
    delay(500);
  }
  noTone(speakerPin);
}