Estamos con otro tutorial de Practicando Arduino, vamos a volver a ver como emitir sonidos con un buzzer (zumbador), pero en lugar de usar digitalWrite() vamos a usar la función tone().
Para este tutorial necesitaremos:
1 Placa Arduino Uno
1 Protoboard
1 Resistencia de 100Ω (opcional)
1 Zumbador
Cables para realizar las conexiones
El circuito es exactamente igual al del tutorial anterior salvo que quitamos el potenciómetro, quedando así:
Código fuente:
int duracion=250; //Duración del sonido int fMin=2000; //Frecuencia más baja que queremos emitir int fMax=4000; //Frecuencia más alta que queremos emitir int i=0; void setup(){ pinMode (7, OUTPUT); //pin configurado como salida } void loop(){ //sonido más agudo for (i=fMin;i<=fMax; i++) tone(7, i, duracion); //sonido más grave for (i=fMax;i>=fMin; i--) tone(7, i, duracion); }
Muy sencillito verdad, tenemos tres variables, una para la duración, otra para la frecuencia mínima que queremos emitir y otra para la frecuencia máxima. Declaramos el pin 7 como salida en el void setup() y ya en el void loop() simplemente hacemos subir la frecuencia desde el mínimo al máximo y la vamos emitiendo en cada iteración y cuando llegamos al máximo bajamos hacia el mínimo de nuevo.