Timbre con dos tonos 2016 - jorgerivera/ULCR-BINGE61 GitHub Wiki
UNIVERSIDAD LATINA DE COSTA RICA - BACHILLERATO EN INGENIERÍA ELECTRÓNICA - MICROCONTROLADORES
Marco Sánchez Barquero
Timbre con dos tonos, Introducción a Arduino
Descripción del sistema
El laboratorio consiste en la elaboración de un timbre el cual emite dos tonos diferentes con frecuencias distintas, para ello será requerido la implementación y uso del arduino en el cual irán conectados dos push button, los cuales al ser presionados alguno de los dos, harán que el timbre o buzzer haga el sonido de la frecuencia que se ha configurado.
Lista de materiales
Los materiales requeridos para la elaboración de este laboratorio son:
- Arduino UNO
- Protoboard
- Un buzzer
- Dos push button
- Dos resistencias de 330 Ohms
Diagrama del circuito

Código del programa
int buzzerPin = 2;
int button1Pin = 3;
int button2Pin = 4;
const int Do = 262;
const int Re = 294;
void setup() {
pinMode(buzzerPin, OUTPUT);
pinMode(button1Pin, INPUT);
pinMode(button2Pin, INPUT);
}
void loop()
{
int buttonState = digitalRead(button1Pin);
if (buttonState == HIGH)
{
tone(buzzerPin, Do, 2000);
}
else
{
int buttonState = digitalRead(button2Pin);
if (buttonState == HIGH)
{
tone(buzzerPin, Re, 2000);
}
}
}
Descripción del programa
Primeramente, se declaran las variables globales buzzerPin para indicar el pin digital en el cual estará conectado el buzzer, para este caso se eligió el pin 2, button1Pin se conectará el primer push button y se eligió para que sea en el pin 3 digital, finalmente button2Pin se conectará el segundo push button y para este se eligió el ping 4 digital. Adicional a esto se declaran las variables la cuales llevaran la frecuencia a la cual sonará el timbre o buzzer, se declaró la variable Do para simular el sonido de la nota Do con una frecuencia de 262 y la variable Re para simular el sonido de la nota Re con una frecuencia de 294. Dentro del Void Setup se realiza la configuración para que el buzzerPin sea una salida del sistema, button1Pin y button2Pin sean entradas del sistema. Dentro del Void Loop se declaran las variables buttonState para que sean leídos los estados del button1Pin y button2Pin, por lo que si en la primera condición el button1Pin estuviera en alto (Push Button presionado) la salida en el buzzerPin emitirá el sonido de la nota Do, caso contrario si el button2Pin estuviera en alto, la salida en el buzzerPin emitirá el sonido de la nota Re. Para poder realizar está condición es requerido las funciones if y tone, está última se configuró para que el sonido se mantuviera por un tiempo de 2000 ms.