/*βββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β 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