Arduino UNO R4 - zumbador piezoeléctrico

En esta guía, aprenderemos a controlar un zumbador con un Arduino UNO R4. Abordaremos los detalles de cómo hacerlo.

Arduino UNO R4 zumbador piezoeléctrico

Acerca de Buzzer

Los zumbadores emiten sonidos como pitidos o melodías. Están disponibles en diferentes tipos, cada uno con características únicas. Analicemos estos tipos según características específicas:

  • Método de Control:
    • Zumbadores activos
    • Zumbadores pasivos
  • Mecanismo para generar sonido:
    • Zumbadores piezoeléctricos
    • Zumbadores estándar
  • Requisitos de voltaje:
    • Bajo voltaje (3-5 V)
    • Alto voltaje (12 V)

    Vamos a verlo con más detalle.

    Zumbador activo vs Zumbador pasivo

    • Zumbador activo:
      • Hace ruido cuando se le aplica electricidad.
      • Debe recibir electricidad constante para seguir haciendo ruido.
      • Es fácil de usar con una fuente de alimentación.
      • Generalmente se encuentra en sistemas de alarma simples.
    • Zumbador pasivo:
      • Necesita una señal separada que cambie para producir ruido.
      • Puede producir varios sonidos ajustando la señal.
      • Necesita una configuración más compleja para funcionar.
      • Con frecuencia se utiliza para crear música o diferentes sonidos.

      Zumbador Piezoeléctrico vs Zumbador Convencional

      • Zumbador piezoeléctrico:
        • Funciona con cristales piezoeléctricos.
        • Emite sonidos agudos y claros.
        • Flexible para producir diferentes tonos y frecuencias.
        • Eficiente y a menudo se utiliza en alarmas y dispositivos musicales.
      • Zumbador regular:
        • Funciona con bobinas electromagnéticas.
        • Genera sonidos simples y con zumbido.
        • Tiene pocas variaciones en el tono.
        • Comúnmente se encuentra en dispositivos simples como timbres y alarmas básicas.

        En el mercado, puedes encontrar un zumbador activo de 3-24V. Puedes usarlo como un zumbador activo de 3 a 5 V o como un zumbador de alto voltaje (12 V...).

        • Si conectas este zumbador al pin del Arduino UNO R4, emite un sonido estándar, adecuado para cosas como ruidos de teclado numérico.
        • Si conectas este zumbador a través de un relé a alta tensión, emite un sonido fuerte, adecuado para alarmas.

        En esta guía, cubriremos cómo usar zumbadores que requieren 3-5V, tanto tipos activos como pasivos. Para zumbadores que requieren 12V, consulte nuestra guía sobre el Arduino UNO R4 - zumbador de 12V haciendo clic aquí: Tutorial de zumbador de 12V para Arduino UNO R4

        Esquema de pines

        Un zumbador normalmente tiene dos conectores.

        • Pin negativo (-): conectar a GND (0V)
        • Pin positivo (+): conectar directamente o a través de un relé para recibir la señal de control del Arduino UNO R4
        Pinout del zumbador piezoeléctrico

        Cómo funciona un zumbador activo

        • Cuando conectas VCC al pin positivo, el zumbador piezoeléctrico emite un sonido continuo.
        Cómo funciona un zumbador piezoeléctrico
        • Para crear diferentes tonos con un zumbador piezoeléctrico, envía una onda cuadrada de una frecuencia específica al pin positivo. Diferentes frecuencias producen tonos diferentes. Para reproducir una melodía, cambia la frecuencia de la onda cuadrada.
        Cómo funciona un zumbador piezoeléctrico

        Cómo funciona un zumbador pasivo

        • El zumbador pasivo no emite un sonido continuo simplemente conectando VCC al pin positivo, a diferencia del zumbador activo.
        • Al igual que el zumbador activo, cuando aplicas una onda cuadrada de una determinada frecuencia (y un ciclo de trabajo del 50%) al pin positivo, el zumbador piezoeléctrico producirá sonidos. Diferentes frecuencias producen diferentes tonos. Puedes formar una melodía cambiando la frecuencia de la señal en el pin positivo.

Diagrama de Cableado

  • El diagrama de cableado entre Arduino Uno R4 y el zumbador piezoeléctrico
Diagrama de cableado del zumbador del Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

  • El diagrama de cableado entre Arduino Uno R4 y el módulo de zumbador piezoeléctrico
Diagrama de cableado del módulo zumbador para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Cómo Programar para un Zumbador

Usar la biblioteca Arduino UNO R4 facilita reproducir una melodía. No necesitas entender cómo crear una onda cuadrada. Solo necesitas usar dos funciones de la biblioteca: tone() y noTone().

Código del Arduino UNO R4

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-piezo-buzzer */ #include "pitches.h" #define BUZZER_PIN 6 // The Arduino UNO R4 pin connected to the buzzer // notes in the melody: int melody[] = { NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4 }; // note durations: 4 = quarter note, 8 = eighth note, etc.: int noteDurations[] = { 4, 8, 8, 4, 4, 4, 4, 4 }; void setup() { // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 8; thisNote++) { // to calculate the note duration, take one second divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1000 / noteDurations[thisNote]; tone(BUZZER_PIN, melody[thisNote], noteDuration); // to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(BUZZER_PIN); } } void loop() { // no need to repeat the melody. }

Pasos R\u00e1pidos

Siga estas instrucciones paso a paso:

  • Si es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecta el zumbador piezoeléctrico al Arduino Uno R4 según el diagrama proporcionado.
  • Conecta la placa Arduino Uno R4 a tu ordenador usando un cable USB.
  • Abre el IDE de Arduino en tu ordenador.
  • Selecciona la placa adecuada Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Copia y pega el código proporcionado en el IDE de Arduino.
  • Para crear un archivo llamado pitches.h en el IDE de Arduino, realiza una de las siguientes acciones:
    • Haz clic en el botón debajo del icono del monitor serie y selecciona New Tab.
    • Alternativamente, puedes pulsar Ctrl+Shift+N en tu teclado.
    Arduino IDE 2 añade un archivo.
    • Nombra el archivo como pitches.h y haz clic en el botón Aceptar.
    Arduino IDE 2 agrega el archivo pitches.h
    • Copie el código a continuación y péguelo en el archivo llamado pitches.h.
    /************************************************* * Public Constants *************************************************/ #define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 58 #define NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_A2 110 #define NOTE_AS2 117 #define NOTE_B2 123 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define NOTE_AS3 233 #define NOTE_B3 247 #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 440 #define NOTE_AS4 466 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A5 880 #define NOTE_AS5 932 #define NOTE_B5 988 #define NOTE_C6 1047 #define NOTE_CS6 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 1865 #define NOTE_B6 1976 #define NOTE_C7 2093 #define NOTE_CS7 2217 #define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOTE_B7 3951 #define NOTE_C8 4186 #define NOTE_CS8 4435 #define NOTE_D8 4699 #define NOTE_DS8 4978
    • Haz clic en el botón Subir en el IDE de Arduino para cargar el código en Arduino UNO R4.
    Cargar código en el IDE de Arduino
    • Escucha la música.

Modificando el código de Arduino UNO R4

Ahora, cambiaremos el código para reproducir la canción «Jingle Bells».

Solo necesitamos modificar dos arreglos: int melody[] y int noteDurations[].

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-piezo-buzzer */ #include "pitches.h" #define BUZZER_PIN 6 // The Arduino UNO R4 pin connected to the buzzer // notes in the melody: int melody[] = { NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_G5, NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, NOTE_F5, NOTE_F5, NOTE_F5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_D5, NOTE_D5, NOTE_E5, NOTE_D5, NOTE_G5 }; // note durations: 4 = quarter note, 8 = eighth note, etc, also called tempo: int noteDurations[] = { 8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 2, 8, 8, 8, 8, 8, 8, 8, 16, 16, 8, 8, 8, 8, 4, 4 }; void setup() { // iterate over the notes of the melody: int size = sizeof(noteDurations) / sizeof(int); for (int thisNote = 0; thisNote < size; thisNote++) { // to calculate the note duration, take one second divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1000 / noteDurations[thisNote]; tone(BUZZER_PIN, melody[thisNote], noteDuration); // to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(BUZZER_PIN); } } void loop() { // no need to repeat the melody. }

※ Nota:

El código mencionado utiliza la función delay(), que detiene la ejecución de otros fragmentos de código mientras suena una melodía. Para evitar esto, puedes usar la biblioteca ezBuzzer. Esta biblioteca permite que el zumbador emita pitidos o reproduzca una melodía sin detener el resto del código.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Rétate a ti mismo

  • Reproduce tu canción favorita con un zumbador piezoeléctrico.
  • Configura una alarma que se active si alguien se acerca a tus pertenencias. Consejo: Ver Arduino UNO R4 - Sensor de Movimiento.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!