Proyecto 10: Zumbador pasivo
Introducción:
Podemos utilizar la placaArduino para realizar muchos trabajos interactivos, los más comunes son ópticosy acústicos. A diferencia del zumbador activo que solo puede emitir un tono(siempre igual, a la misma frecuencia) el zumbador pasivo no tiene oscilador,entonces, al enviarle diferentes frecuencias produce distintos tonos de sonido.Podemos usar la placa Arduino para tocar la melodía de una canción.
Hardware a utilizar
PlacaArduino
Cable USB
Potenciómetro 10K ohms
Zumbador pasivo
Protoboard
Cables
Diagrama esquemático:
Conexiones del circuito:
Sketch de ejemplo:
/////
int zumbador = 8; //____________________________________________
int potenciometro = 0; //________________________________________
int lectura; //declara la variable entera lectura, no le asigna ningún valor
int FreqMin = 100; //___________________________________________
int FreqMax = 1000; //__________________________________________
int frecuencia; //_______________________________________________
void setup() //_________________________________________________
{ //__________________________________________________________
pinMode (zumbador,OUTPUT); //____________________________
pinMode (potenciometro,INPUT); //____________________________
}
void loop()
{
lectura = analogRead (potenciometro); //__________________________________________
frecuencia = map (lectura, 0, 1023, FreqMin, FreqMax); //hace un mapeo 0 a 1023 con FreqMin aFreqMax
tone (zumbador, frecuencia);// genera un tono en zumbador utilizando el valor de frecuencia
}
/////
Revisa y sube el sketch a tu placa Arduino, gira el potenciómetro y escucha como cambia el tono del sonido en el zumbador pasivo.
Hagamos esto un poco más interesante, modifica la última instrucción de lafunción void loop y agrega un delay para que te quede de lasiguiente manera:
tone (zumbador, frecuencia,300); // genera un tono en zumbador utilizando el valor de //frecuencia, silencio 300 milisegundos)
delay (500); // espera 500milisegundos
Revisa y sube el sketch a tu placa Arduino, escucha la diferencia que hicieron las últimas instrucciones
Explicación de la función map:
frecuencia = map (lectura, 0, 1023, FreqMin, FreqMax);
- La variable lectura es la salida del potenciómetro, su rango de valores es de 0 a 1023
- El rango de valores de frecuencia es de FreqMin (100) a FreqMax(1000)
- la función mapr ealiza un mapeo, cuando lectura sea cero (valor mínimo) frecuencia será FreqMin (100)
- cuando lectura sea 1023 (valor máximo) frecuencia será FreqMax(1000)
- la función map calcula los valores de los puntos intermedios de 0 a 1023 y los asigna a los valores intermedios entre 100 y 1000
- map asigna el valor calculado a la variable frecuencia
Reto Proyecto10: quita los delays y quita el potenciómetro, declara las siguientes variables enteras: DO = 283, RE =314, MI = 346, FA = 378, los valores se aproximan a la frecuencia de las notas musicales correspondientes, toca lasiguiente melodía:
DO, RE, MI DO, MI DO, MI (pausa) RE, MI, FA (pausa) FA, MI, RE FA
ajusta los delay hasta que reconozcas la melodía.
********************************************************************************
Problemas escribiendo el código? descarga los ejemplos desde mi carpeta compartida en Dropbox:
https://www.dropbox.com/sh/w5h38cdrynqdwhf/AABP7b9T3ADbO4KqiPm4pO-9a?dl=0
Sigue: Proyecto 11: Pistola cósmica
http://www.taringa.net/posts/ciencia-educacion/19695275/Tutoriales-Arduino-Proyecto-11-Pistola-cosmica.html
Introducción:
Podemos utilizar la placaArduino para realizar muchos trabajos interactivos, los más comunes son ópticosy acústicos. A diferencia del zumbador activo que solo puede emitir un tono(siempre igual, a la misma frecuencia) el zumbador pasivo no tiene oscilador,entonces, al enviarle diferentes frecuencias produce distintos tonos de sonido.Podemos usar la placa Arduino para tocar la melodía de una canción.
Hardware a utilizar
PlacaArduino
Cable USB
Potenciómetro 10K ohms
Zumbador pasivo
Protoboard
Cables
Diagrama esquemático:
Conexiones del circuito:
Sketch de ejemplo:
/////
int zumbador = 8; //____________________________________________
int potenciometro = 0; //________________________________________
int lectura; //declara la variable entera lectura, no le asigna ningún valor
int FreqMin = 100; //___________________________________________
int FreqMax = 1000; //__________________________________________
int frecuencia; //_______________________________________________
void setup() //_________________________________________________
{ //__________________________________________________________
pinMode (zumbador,OUTPUT); //____________________________
pinMode (potenciometro,INPUT); //____________________________
}
void loop()
{
lectura = analogRead (potenciometro); //__________________________________________
frecuencia = map (lectura, 0, 1023, FreqMin, FreqMax); //hace un mapeo 0 a 1023 con FreqMin aFreqMax
tone (zumbador, frecuencia);// genera un tono en zumbador utilizando el valor de frecuencia
}
/////
Revisa y sube el sketch a tu placa Arduino, gira el potenciómetro y escucha como cambia el tono del sonido en el zumbador pasivo.
Hagamos esto un poco más interesante, modifica la última instrucción de lafunción void loop y agrega un delay para que te quede de lasiguiente manera:
tone (zumbador, frecuencia,300); // genera un tono en zumbador utilizando el valor de //frecuencia, silencio 300 milisegundos)
delay (500); // espera 500milisegundos
Revisa y sube el sketch a tu placa Arduino, escucha la diferencia que hicieron las últimas instrucciones
Explicación de la función map:
frecuencia = map (lectura, 0, 1023, FreqMin, FreqMax);
- La variable lectura es la salida del potenciómetro, su rango de valores es de 0 a 1023
- El rango de valores de frecuencia es de FreqMin (100) a FreqMax(1000)
- la función mapr ealiza un mapeo, cuando lectura sea cero (valor mínimo) frecuencia será FreqMin (100)
- cuando lectura sea 1023 (valor máximo) frecuencia será FreqMax(1000)
- la función map calcula los valores de los puntos intermedios de 0 a 1023 y los asigna a los valores intermedios entre 100 y 1000
- map asigna el valor calculado a la variable frecuencia
Reto Proyecto10: quita los delays y quita el potenciómetro, declara las siguientes variables enteras: DO = 283, RE =314, MI = 346, FA = 378, los valores se aproximan a la frecuencia de las notas musicales correspondientes, toca lasiguiente melodía:
DO, RE, MI DO, MI DO, MI (pausa) RE, MI, FA (pausa) FA, MI, RE FA
ajusta los delay hasta que reconozcas la melodía.
********************************************************************************
Problemas escribiendo el código? descarga los ejemplos desde mi carpeta compartida en Dropbox:
https://www.dropbox.com/sh/w5h38cdrynqdwhf/AABP7b9T3ADbO4KqiPm4pO-9a?dl=0
Sigue: Proyecto 11: Pistola cósmica
http://www.taringa.net/posts/ciencia-educacion/19695275/Tutoriales-Arduino-Proyecto-11-Pistola-cosmica.html