/*☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄ ☄
☄ ☘ DATOS GENERALES: ☄
☄ NOMBRE: Uso básico buzzer pasivo. ☄
☄ FECHA: 06 de Noviembre de 2024. ☄
☄ VERSIÓN: 1.0. ☄
☄ ☄
☄ AUTOR: M. en C. Esli Castellanos Berján. ☄
☄ E-MAIL: [email protected]. ☄
☄ COMPAÑÍA: Universidad de Colima - Facultad de Telemática. ☄
☄ ☄
☄ uC: ATMEGA328p. ☄
☄ Nombre placa comercial: Arduino UNO. ☄
☄ ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄ ☄
☄ ☘ DESCRIPCIÓN DEL PROGRAMA: ☄
☄ Arquitectura de software que ejemplifica el uso del buffer pasivo. ☄
☄ Voltaje de operación buzzer pasivo: 5V. ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄ ☄
☄ ☘ NOTAS: ☄
☄ Song.h es una compilación de algunas canciones. ☄
☄ ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄*/
/*
Para mandar una frecuencia hacia el buzzer es necesario un pin PWM.
La función tone(), necesita de tres parámetros:
1.- Pin en donde está conectado el buzzer (definido previamente como salida).
2.- Frecuencia, esta debe estar entre la frecuencia que indica el fabricante (2KHZ, esta puede variar).
3.- Duración, Especifica cuando durará el tono, si este no es definido sonará siempre hasta encontrar la función noTone();
La función noTone(), se utiliza para detener un tono el cual no ha sido especificado su tiempo.
*/
#define buzzerP 3 // Colocar en un pin PWM. 📢
#define buzzerA 2 // Colocar en un pin Digital. 📢
void setup ( void ) {
pinMode ( buzzerP, OUTPUT );
pinMode ( buzzerA, OUTPUT );
Serial.begin ( 115200 );
}
void loop ( void ) {
buzzerPasivo ( );
buzzerActivo ( );
//my_soundtrack.megalovania ( );
//my_soundtrack.marcha_imperial ( );
//my_soundtrack.peaches ( );
}
void buzzerActivo ( void ) {
Serial.println ( "Buzzer Activo: Activado." );
digitalWrite ( buzzerA, HIGH );
delay ( 2000 );
limpiar_consola ( );
Serial.println ( "Buzzer Activo: Desactivado." );
digitalWrite ( buzzerA, LOW );
delay ( 1000 );
limpiar_consola ( );
}
void buzzerPasivo ( void ) {
Serial.println ( "Buzzer Pasivo: Frecuencia 2 KHz." );
tone ( buzzerP, 2000 ); // Generar un tono de 2000 Hz ( 2 kHz ).
delay ( 1000 ); // Esperar 1 segundo.
noTone ( buzzerP ); // Apagar el buzzer.
delay ( 500 ); // Esperar medio segundo.
limpiar_consola ( );
Serial.println ( "Buzzer Pasivo: Frecuencia 1.5 KHz." );
tone ( buzzerP, 1500 ); // Generar un tono de 1500 Hz ( 1.5 kHz ).
delay ( 1000 ); // Esperar 1 segundo.
noTone ( buzzerP ); // Apagar el buzzer.
delay ( 500 ); // Esperar medio segundo.
limpiar_consola ( );
Serial.println ( "Buzzer Pasivo: Frecuencia 500 Hz." );
tone ( buzzerP, 500 ); // Generar un tono de 500 Hz (1.5 kHz).
delay ( 1000 ); // Esperar 1 segundo.
noTone ( buzzerP ); // Apagar el buzzer.
delay ( 500 ); // Esperar medio segundo.
limpiar_consola ( );
Serial.println ( "Buzzer Pasivo: Frecuencia 250 Hz." );
tone ( buzzerP, 250 ); // Generar un tono de 500 Hz (1.5 kHz).
delay ( 1000 ); // Esperar 1 segundo.
noTone ( buzzerP ); // Apagar el buzzer.
delay ( 500 ); // Esperar medio segundo.
limpiar_consola ( );
}
void limpiar_consola ( void ) {
for ( uint8_t i = 0; i < 10; i++ )
Serial.println();
}
Buzzer Pasivo
Buzzer Activo