Ir al contenido

2.5 Buzzer activo 2560

En esta lección vas a aprender cómo generar sonidos usando un buzzer activo con tu placa Mega 2560. Es un ejercicio ideal para entender el funcionamiento básico de los componentes acústicos en electrónica. Resumen Vas a ver lo sencillo que …

En esta lección vas a aprender cómo generar sonidos usando un buzzer activo con tu placa Mega 2560. Es un ejercicio ideal para entender el funcionamiento básico de los componentes acústicos en electrónica.

Resumen

Vas a ver lo sencillo que es programar una secuencia sonora. El objetivo es que logres controlar las frecuencias de salida para emitir distintos tipos de pitidos.

Componentes necesarios

(1) Elegoo Mega 2560 R3, (1) Buzzer activo y (2) Cables DuPont H-M (Hembra a Macho).

Introducción a los componentes

Los buzzers electrónicos se alimentan con corriente continua (DC) y vienen con un circuito integrado. Se usan muchísimo en computadoras, alarmas, juguetes y dispositivos automotrices. Se dividen en activos y pasivos: si ponés los pines hacia arriba, el que tiene la placa de circuito verde a la vista es el pasivo, mientras que el que está cerrado con cinta negra es el activo. La diferencia clave es que el activo tiene un oscilador interno, por lo que suena apenas recibe energía. El pasivo, en cambio, no tiene esa fuente y necesita ondas cuadradas de entre 2K y 5K para funcionar. Por esto mismo, el activo suele ser un poco más caro.

Esquema de conexión y Diagrama de cableado

Asegurate de conectar el pin positivo del buzzer al pin digital 12 de la placa y el negativo a tierra (GND) para que el circuito cierre correctamente.

Código

Podés descargar el archivo .ino y abrirlo con el IDE de Arduino. Antes de cargarlo, chequeá que tenés seleccionado el modelo 2560 y los drivers instalados. El programa define el pin 12 como salida y usa bucles para alternar entre dos frecuencias distintas, generando un sonido intermitente.


int buzzer = 12; // Pin del buzzer activo
void setup()
{
  pinMode(buzzer, OUTPUT); // Inicializa el pin como salida
}
void loop()
{
  unsigned char i;
  while(1)
  {
    // Emite una frecuencia
    for(i=0; i<80; i++)
    {
      digitalWrite(buzzer, HIGH);
      delay(1); // Espera 1ms
      digitalWrite(buzzer, LOW);
      delay(1); // Espera 1ms
    }
    // Emite otra frecuencia
    for(i=0; i<100; i++)
    {
      digitalWrite(buzzer, HIGH);
      delay(2); // Espera 2ms
      digitalWrite(buzzer, LOW);
      delay(2); // Espera 2ms
    }
  }
}

Estructura de control: while

Un bucle while se repite de forma continua e infinita hasta que la expresión entre paréntesis se vuelve falsa. Es fundamental que algo dentro del código cambie esa variable (como un contador o un sensor) para poder salir; de lo contrario, el programa se queda trabado ahí. Si querés un bucle infinito a propósito, podés usar while(1) y después programar un "break" para forzar la salida cuando se cumpla una condición específica.

Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.

Fuente: Adaptado al español desde el wiki oficial (licencia CC BY-SA). Revisión técnica por equipo Breva.
25%
Tecnología real Impresión 3D en Rosario FilAr fabricado por nosotros Probá antes de comprar Soporte técnico local Academia Mini Makers Robótica y electrónica Showroom tecnológico Empresas y escuelas Asesoramiento real No somos marketplace Somos makers Kits para empezar Repuestos y mantenimiento Envío a todo el país Factura A para empresas Demos los sábados Tu proyecto empieza acá Tecnología real Impresión 3D en Rosario FilAr fabricado por nosotros Probá antes de comprar Soporte técnico local Academia Mini Makers Robótica y electrónica Showroom tecnológico Empresas y escuelas Asesoramiento real No somos marketplace Somos makers Kits para empezar Repuestos y mantenimiento Envío a todo el país Factura A para empresas Demos los sábados Tu proyecto empieza acá