Nota

Hola, ¡bienvenido a la Comunidad de Entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook! Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 con otros entusiastas.

¿Por qué unirse?

  • Soporte experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.

  • Aprende y comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.

  • Vistas previas exclusivas: Obtén acceso anticipado a nuevos anuncios de productos y adelantos.

  • Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.

  • Promociones y sorteos festivos: Participa en sorteos y promociones de temporada.

👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.

Zumbador Pasivo

Descripción general

En este proyecto, utilizaremos dos funciones para hacer vibrar el zumbador pasivo y producir sonido. La función tone() genera una onda cuadrada con una frecuencia especificada (y un ciclo de trabajo del 50%) en un pin. Se puede especificar una duración, o la onda continuará hasta que se llame a noTone(). Al igual que el zumbador activo, el zumbador pasivo también utiliza la inducción electromagnética para funcionar. La diferencia es que un zumbador pasivo no tiene su propia fuente de oscilación, por lo que no emitirá sonido si se utilizan señales de CC. Sin embargo, esto permite que el zumbador pasivo ajuste su propia frecuencia de oscilación y produzca diferentes notes como «do, re, mi, fa, sol, la, ti».

Componentes necesarios

En este proyecto, necesitamos los siguientes componentes.

Es definitivamente conveniente comprar un kit completo, aquí está el enlace:

Nombre

ELEMENTOS EN ESTE KIT

ENLACE

Elite Explorer Kit

300+

Elite Explorer Kit

También puedes comprarlos por separado en los enlaces a continuación.

INTRODUCCIÓN A LOS COMPONENTES

ENLACE DE COMPRA

Arduino Uno R4 WiFi

-

Protoboard

COMPRAR

Cables de Puente

COMPRAR

Resistor

COMPRAR

Transistor

COMPRAR

Zumbador

COMPRAR

Conexión

Nota

Al conectar el zumbador, asegúrate de verificar sus pines. El pin más largo es el ánodo y el más corto es el cátodo. Es importante no mezclarlos, ya que hacerlo impedirá que el zumbador produzca sonido.

../_images/16-passive_buzzer_bb.png

Diagrama esquemático

../_images/16_passive_buzzer_schematic.png

Código

Nota

  • Puedes abrir el archivo 16-passive_buzzer.ino directamente en la ruta elite-explorer-kit-main\basic_project\16-passive_buzzer.

  • O copia este código en Arduino IDE.

Al terminar de cargar el código en la placa R4, escucharás una melodía que contiene siete notes.

Análisis del Código

  1. Incluir la biblioteca de tonos: Esta biblioteca proporciona los valores de frecuencia para varias notes musicales, permitiendo usar noteción musical en tu código.

    Nota

    Coloca el archivo pitches.h en el mismo directorio que el código para asegurar un funcionamiento correcto. pitches.h

    ../_images/16_passive_buzzer_piches.png
    #include "pitches.h"
    
  2. Definir constantes y arreglos:

    • buzzerPin es el pin digital en el Arduino donde se conecta el zumbador.

    • melody[] es un arreglo que almacena la secuencia de notes a reproducir.

    • noteDurations[] es un arreglo que almacena la duración de cada note en la melodía.

    const int buzzerPin = 8;
    int melody[] = {
      NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
    };
    int noteDurations[] = {
      4, 8, 8, 4, 4, 4, 4, 4
    };
    
  3. Reproducir la melodía:

    • El bucle for itera sobre cada note de la melodía.

    • La función tone() reproduce una note en el zumbador por una duración específica.

    • Se añade una demora entre notes para distinguirlas.

    • La función noTone() detiene el sonido.

    void setup() {
      for (int thisNote = 0; thisNote < 8; thisNote++) {
        int noteDuration = 1000 / noteDurations[thisNote];
        tone(buzzerPin, melody[thisNote], noteDuration);
        int pauseBetweenNotes = noteDuration * 1.30;
        delay(pauseBetweenNotes);
        noTone(buzzerPin);
      }
    }
    
  4. Función de bucle vacía: Dado que la melodía se reproduce solo una vez en el setup, no hay código en la función loop.

  5. Siéntete libre de experimentar con la alteración de las notes y duraciones en los arreglos melody[] y noteDurations[] para crear tus propias melodías. Si te interesa, hay un repositorio en GitHub (robsoncouto/arduino-songs ) que ofrece código Arduino para reproducir varias canciones. Aunque su enfoque puede diferir de este proyecto, puedes consultar sus notes y duraciones como referencia.