20/03/18 Resistencia LDR y buzzer cómo crear un theremín DIY
https://programarfacil.com/blog/arduino-blog/resistencia-ldr-buzzer-theremin/ 1/9
Buscar en este sitio …
Estás aquí: Inicio/Blog/Arduino/Resistencia LDR y buzzer cómo crear un theremín DIY
Resistencia LDR y buzzer cómo crear un theremín DIY
Luis del Valle Hernández
En este artículo voy a explicar cómo utilizar una resistencia LDR con un buzzer para crear
un theremín. Este instrumento musical es el único del mundo que permite hacer música
sin el contacto humano. Vamos a simularlo aprovechando las propiedades de luz y de la
resistencia LDR.
El Theremin fue creado por Lev Termen en el año 1919. Se puede decir que fue el primer
instrumento electrónico y por lo tanto, el precursor de la música electrónica. Si, desde 1919
se conoce la música de este estilo.
En el theremín original podemos controlar la frecuencia del sonido y su volumen, pero en este
proyecto sólo vamos a modificar la frecuencia a través de una resistencia LDR y un buzzer.
20/03/18 Resistencia LDR y buzzer cómo crear un theremín DIY
https://programarfacil.com/blog/arduino-blog/resistencia-ldr-buzzer-theremin/ 2/9
Este último componente ya lo hemos utilizado en el proyecto del sensor de aparcamiento
con un sensor ultrasónico.
Indice de contenidos
1 Resistencia LDR, los fundamentos
2 Buzzer haciendo ruido con Arduino
3 Componentes necesarios
4 Montando el circuito con Arduino
5 Programando el theremín con resitencia LDR y buzzer
6 Conclusión
Resistencia LDR, los fundamentosLDR proviene del inglés Light Dependent Resistor y, como su nombre indica, es una
resistencia que depende de la luz. ¿Conoces el potenciómetro? pues una resistencia LDR
funciona más o menos igual.
La diferencia es que en el potenciómetro nosotros nos encargamos de modificar su
resistencia, en una LDR, esta resistencia varía con la luz que incide en ella.
La resistencia varía entre 50 Ω y 1 MΩ (1.000.000 Ω). Si está bajo una luz muy brillante, su
valor es de 50 Ω y si está en total oscuridad, su valor es de 1 MΩ. Lo podemos encontrar por
menos de 1 €, dependerá de la calidad y de la precisión.
En este proyecto utilizaremos esta resistencia para reducir el voltaje. Recuerda que con el
Arduino UNO trabajamos de 0 V a 5 V. Por lo tanto, dependiendo de la luz que incida en la
resistencia LDR, tendremos un voltaje entre 0V y 5V. Cuanta más luz más voltaje y cuanta
menos luz menos voltaje.
20/03/18 Resistencia LDR y buzzer cómo crear un theremín DIY
https://programarfacil.com/blog/arduino-blog/resistencia-ldr-buzzer-theremin/ 3/9
Al conectar la resistencia LDR a un pin analógico, obtendremos un valor entre 0 y 1023
(este tipo de entradas tiene 10 bits de resolución). Por lo tanto, dependiendo de la luz que
incida en en la fotoresistencia, tendremos un valor u otro.
A través de código, traduciremos ese voltaje en una frecuencia que será emitida por el buzzer
o zumbador.
Buzzer haciendo ruido con ArduinoYa hemos visto este componente en otro tutorial, donde explicaba cual es su funcionamiento.
En este caso utilizaremos el valor resistivo que nos proporciona la resistencia LDR para
ponerlo en función de la frecuencia. Te recuerdo que las frecuencias del espectro audible
van de los 20 Hz a los 20 kHz.
Debemos de decidir como movernos dentro de este espectro. Yo te propondré una solución y
tu decidirás utilizarla o cambiar a otro rango del espectro.
Componentes necesariosEn este proyecto no vamos a necesitar muchos componentes. A continuación te detallo los
necesarios.
Arduino UNO o equivalente
Protoboard
Cables para hacer conexiones
1 resistencia LDR
La resistencia LDR no se puede utilizar para medir la cantidad de luz. Esto es debido a
dos factores fundamentales, su tiempo de respuesta es de 100 ms, un poco lento para
medir cambios bruscos de luz y a su dependencia con la temperatura. Al igual que la
velocidad del sonido, la resistencia proporcionada dependerá de la temperatura ambiente.
Los pines analógicos del Arduino UNO tienen una precisión de 10-bit (1024 valores
posibles). Tenemos que dividir el rango de 0 V a 5 V en 1024 valores.
20/03/18 Resistencia LDR y buzzer cómo crear un theremín DIY
https://programarfacil.com/blog/arduino-blog/resistencia-ldr-buzzer-theremin/ 4/9
1 resistencia de 10 kΩ
1 buzzer o zumbador
Montando el circuito con ArduinoVamos a ver qué es lo que necesitamos para crear un theremín. El circuito es muy sencillo y es
el que te muestro a continuación.
La resistencia de 10 kΩ la utilizamos para mantener un estado lógico bajo (LOW o 0
Voltios) cuando tenemos las conexiones al aíre. La típica resistencia pull down.
Programando el theremín con resitencia LDR ybuzzerEl algoritmo para este proyecto es muy sencillo así que, pasamos directamente al código.
Luego te explicaré las particularidades que tiene.
Cuidado con el buzzer. Este componente debe conectarse correctamente, positivo con
positivo y negativo con negativo.
Se puede sustituir la resistencia LDR por un sensor de ultrasonidos.
1 // Constantes de los componentes conectados a los pines
CURSOS BLOG PODCAST ¿QUIÉN SOY?
CONTACTAR ACCEDER
20/03/18 Resistencia LDR y buzzer cómo crear un theremín DIY
https://programarfacil.com/blog/arduino-blog/resistencia-ldr-buzzer-theremin/ 5/9
En la primera parte del sketch declaramos las constantes que nos indican los pines a los
que conectamos los componentes.
En la función setup() iniciamos el monitor serie, por si nos hace falta.
Función loop
En el loop() ejecutamos el código que se va a repetir continuamente. Lo primero es leer el
valor analógico que nos proporciona el pin donde tenemos conectado la resistencia LDR.
Esto nos proporciona un valor entero entre 0 y 1023. Este valor depende del voltaje que haya
a la entrada que, a su vez, depende de la resistencia que nos suministre el LDR. Solo hace
falta aplicar la Ley de Ohm.
Lo siguiente es calcular la frecuencia en función del voltaje. Esta frecuencia es la que
reproduciremos a través del buzzer. En este caso yo voy a utilizar de 400 Hz a 912 Hz.
Vamos a ver la siguiente fórmula para poder calcular la frecuencia.
El primer número, el 400, nos indica la mínima frecuencia ya que, si el valor a la entrada
analógica es 0 (total oscuridad) la fórmula quedaría de la siguiente manera.
El máximo lo obtenemos sustituyendo el valor analógico por el máximo posible. Como Arduino
UNO trabaja con una resolución de 10-bit, el máximo será 1023. Con esto nos quedaría la
fórmula de la siguiente manera.
2
3
4
56
7
8
9
10
11
12
13
14
1516
17
18
19
20
21
22
#define BUZZER 9
#define LDR 0
void setup(){
Serial.begin(9600);
}
void loop()
{
// Obtenemos el valor de la entrada analógica de 0 a 1023
int valor = analogRead(LDR);
// Obtenemos la frecuencia en función del voltaje que entra // Este voltaje dependerá de la resitencia LDR y de la luz que incida sobre ella
int frecuencia = 400 + (valor / 2);
// Utilizamos la función tone para reproducir el sonido en el pin donde
// tengamos conectado el buzzer y la frecuencia que queramos
tone(BUZZER, frecuencia);
}
Política de cookies
20/03/18 Resistencia LDR y buzzer cómo crear un theremín DIY
https://programarfacil.com/blog/arduino-blog/resistencia-ldr-buzzer-theremin/ 6/9
Si quieres modificar el rango de valores solo tienes que cambiar el 400 y el divisor del valor
analógico. Si modificas el 400 cambiarás la frecuencia mínima y si modificas el divisor
(el número 2 de la fórmula) modificarás el valor máximo.
Cuanto mayor sea ese divisor, menor será el máximo. Por el contrario, cuanto menor
sea el divisor, mayor será la frecuencia máxima.
Por último utilizamos la función tone() para reproducir el sonido. Esta función ya la
expliqué en el proyecto donde utilizo un buzzer o zumbador como sistema de alerta en
sistema de aparcamiento.
ConclusiónEste proyecto es muy sencillo pero es muy interesante. Sobre todo para aquellos profesores
de tecnología que estén utilizando Arduino en sus clases. Puede ser muy interesante para los
alumnos ver un proyecto donde se cree un instrumento musical. A partir de aquí, nuestra
imaginación será la que de forma a proyectos como este.
Si te ha gustado comparte, si tienes algo que comentar, comenta aquí abajo. Gracias por tu
atención.
Gracias a Shutterstock por ceder los derechos de la imagen
20/03/18 Resistencia LDR y buzzer cómo crear un theremín DIY
https://programarfacil.com/blog/arduino-blog/resistencia-ldr-buzzer-theremin/ 7/9
Detector de bordes Canny cómo contarobjetos con OpenCV y Python
2 comentarios • hace un año
Luis del Valle — Hola Jorge muchas gracias por
tus palabras. Con respecto al vídeo es como tu
dices, hay que recorrer frame a frame. Aquí te …
#126 ¿Arduino y ESP se unen? Proyectos quesalvan vidas y muchas cosas más
6 comentarios • hace 2 meses
Luis del Valle — Muchísimas gracias Jorge por
tus palabras, es un placer poder compartir con
estos dos monstruos un podcast. Respecto al
proyecto …Reloj con Arduino, cómo controlar los tiemposcon un RTC
57 comentarios • hace un año
Luis del Valle — Hola Arielito, te recomiendo que
utilices interrupciones, tiene toda la pinta de que
no te detecta las pulsaciones por eso. Aquí te
dejo …
Geolocalización WiFi con Arduino NodeMCUFirebase y Google Maps
37 comentarios • hace 10 meses
Luis del Valle — Hola AntonioMe lo apunto todo
para investigarlo cuando regrese de las
vacaciones, yo también tengo mucha curiosidad
por saber …
TAMBIÉN EN PROGRAMAR FÁCIL CON ARDUINO
0 Comentarios Programar Fácil con Arduino Acceder1
Compartir⤤ Ordenar por los mejores
Sé el primero en comentar...
Sé el primero en comentar.
Suscríbete✉ Añade Disqus a tu sitio webAñade Disqus Añadird Privacidad�
Recomendar
20/03/18 Resistencia LDR y buzzer cómo crear un theremín DIY
https://programarfacil.com/blog/arduino-blog/resistencia-ldr-buzzer-theremin/ 8/9
Cayenne myDevices y Arduino paramonitorizar sensores del IoT
Una de las plataformas que más prometen en el
panorama actual es Cayenne myDevices. Desde
hace tiempo la llevo siguiendo y poco a poco va
incorporando …
[+ info...]
#131 Programar con un Nokia 2690, enensamblador o en código máquina, tueliges
Bienvenido a este nuevo programa del podcast
La Tecnología Para Todos. Como ya habrás
oído en pasados capítulos, de vez en cuando nos
juntamos José …
[+ info...]
20/03/18 Resistencia LDR y buzzer cómo crear un theremín DIY
https://programarfacil.com/blog/arduino-blog/resistencia-ldr-buzzer-theremin/ 9/9
COPYRIGHT © 2018 · PROGRAMAR FÁCIL · AVISO LEGAL