Bienvenidos de nuevo, vamos con otro tutorial, esta vez vamos a empezar a jugar con los zumbadores, en concreto vamos a aumentar y disminuir la frecuencia con la que reproduce el zumbido con un potenciómetro.
Para este tutorial necesitaremos:
1 Placa Arduino Uno
1 Protoboard
1 Resistencia de 100Ω (opcional)
1 Potenciómetro de 10KΩ
1 Zumbador
Cables para realizar las conexiones
Lo primero que hacemos es conectar el potenciómetro a la salida analñogica 0 (o a la que querais) mediante la patilla central, y los extremos uno a tierra y otro a 5V de la protoboard. Conectamos ahora la resistencia a tierra y a ella un extremo del zumbador (ojo que algunos estan polarizados) y el otro al pin digital 7 (en mi caso patilla negra a tierra, roja al pin). Para terminar conectamos el pin 5V y el pin GND a la protoboard. Debería quedar algo así:
Código fuente:
int tono=10000; //valor por defecto para calcular la frecuencia void setup(){ pinMode (7, OUTPUT); //salida del zumbador } void loop(){ digitalWrite (7, HIGH); //vibra delayMicroseconds (tono/2); //retardo digitalWrite (7, LOW); //para de vibrar delayMicroseconds (tono/2); //retardo tono = analogRead(0); //leemos del potenciómetro tono= map (tono, 0, 1023, 1000, 5000); //mapeamos //ajustamos el tono a la frecuencia deseada para poder //cambiar su frecuencia y hacer sonar el zumbador con //un sonido más o menos grave. }
Pasemos a explicar el código, al principio declaramos una variable llamada tono que nos servirá para calcular la frecuencia; lo que hacemos realmente es mandar pulsos digitales HIGH y LOW a una velocidad tan alta que hace vibrar al zumbador a una frecuencia audible por el ser humano. Por defecto son 10 mS, eso quiere decir que el pulso HIGH dura 10 mS y el LOW también, dándonos un periodo T=20mS, por lo que nuestra frecuencia es sería f=1/T 50Hz. Luego la vamos cambiando con el potenciómetro, haciedola más o menos aguda, pero mapeando el resultado devuelto por el potenciómetro a unos valores que nos interesen para poder ser audibles.
style="display:inline-block;width:728px;height:15px"
data-ad-client="ca-pub-3868159888315364"
data-ad-slot="7639712738">