Skip to main content

MONTAJE5 LDR

Primero de todo

¿Qué es un LDR?

Vamos a la Wikipedia:

Fotorresistor 

Una fotorresistencia es un componente electrónico cuya resistencia disminuye con el aumento de intensidad de luz incidente. Puede también ser llamado fotorresistor, fotoconductor, célula fotoeléctrica o resistor dependiente de la luz, cuyas siglas, LDR, se originan de su nombre en inglés light-dependent resistor. Su cuerpo está formado por una célula fotorreceptora y dos patillas. 

More at Wikipedia (ES)

Lo verás en el Echidna arriba un poco a la derecha, y está conectado a la entrada analógica del Arduino A5 y según https://echidna.es/ los valores van desde 20 en ausencia de luz, hasta 1.000 con mucha luz.

Comprobar los límites

No os creáis al pie de la letra los límites oficiales del LDR! Los componentes electrónicos no son ideales, cada uno es particular, probar esos límites en vuestro Echidna

2024-12-03 19_55_23-EchidnaML.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, para ello

¿Qué vamos a hacer?

Jugar un poco con vuestras condiciones de luz, y definir unos valores de oscuridad, poca luz, media luz y mucha luz, en mi caso mis valores son 

  • Oscuridad menor 200
  • Poca luz entre 200 y 500
  • Media luz entre 500 y 800
  • Mucha luz mayor 800

Con estos valores vamos a realizar un programa que

  • Oscuridad: Ningún led encendido
  • Poca luz Luz roja
  • Media luz Luz naranja
  • Mucha luz Luz verde
Solución con EchidnaScratch

2024-12-05 09_43_50-Presentación1 - PowerPoint.png

Lo puedes encontrar en en este repositorio: https://github.com/JavierQuintana/Echidna

Reto: Haz un sprite tipo semáforo que también se enciendan las luces igual que el Echidna real, tal y como hicimos en MONTAJE1 SEMAFORO

Solución con mBlock

Con mBlock al no tener instrucciones específicas para Echidna, para leer en directo los valores del LDR, hay que utilizar nuestro mBlock y que nuestro simpático oso panda nos diga esos valores, con este sencillo programa:

programa

en el decice dispositivo Arduino:echidna-medirluz1.png

DONDE LUZ ES UNA VARIABLE GLOBAL QUE LO LEEN TODOS LOS OBJETOS luego ahora el panda con este programa puede decirnos cuánta luz hay

echidna-medirluz3.pngechidna-medirluz2.png

El valor que leemos con máxima luz (utilizando una linterna) y el valor de máxima oscuridad (a tapar con el dedo, no te compliques) no llegan a los límites que se marcan oficiales en Echidna EN TU CASO PUEDEN SER OTROS !! pero parecidos.

El programa lo tienes aquí https://planet.mblock.cc/project/3228782

MONTAJE 5 Semáforo luminoso

RETO Vamos a reutilizar esfuerzos: reutilizar el semáforo visto pero vamos a hacer que se iluminen los colores según la luz:

Semáforo Luz
Todo apagado Mucha oscuridad
Rojo Oscuridad
Amarillo Luz normal
Verde Mucha luz
Solución


Según nuestros límites medidos en el anterior programa fijamos nuestras propias fronteras para cumplir el enunciado (puedes poner otros valores parecidos):

Semáforo Luz Límite inferior Límite superior
Todo apagado Mucha oscuridad --- 199
Rojo Oscuridad 200 499
Amarillo Luz normal 500 799
Verde Mucha luz 800 ---

echidna-medirluz6.png

El programa lo tienes aquí https://planet.mblock.cc/project/3228793

Reto: Añade un objeto que sea un semáforo, y que su disfraz cambie acorde a la luz y encima lo diga

echidna-medirluz4.png

El resultado lo puedes ver en este vídeo:

3.2.3 MONTAJE 6 Piano luminoso

Nuestro RETO es el siguiente:

Realizar un programa que suene una nota diferente según la luz

Solución

En el Arduino el programa es

ECHIDNA-PIANOLUZ1.png

En el objeto, el panda es

ECHIDNA-PIANOLUZ2.png

Nota: se ha incorporado una música con un tono, el C Elec Piano

El programa lo tienes aquí

https://planet.mblock.cc/project/projectshare/3228812

Con mBlock versión 3 obsoleto

En esta versión no es tan sencillo ¿por qué? Porque hay cambios de escala: el LDR nuestro trabaja con valores distintos al de las notas, por lo tanto hay que hacer UN CAMBIO DE ESCALA, y esto necesita un apartado diferente, te recomendamos ver 3.2.3.1 Cambios de escala

Solución


El programa es pues el siguiente



¿por qué lo hacemos con la opción de subir a Arduino? Porque la simulación va lenta (se oye tut-tut-tut) si lo subes al Arduino reproduce el tono correctamente. VER COMO SUBIR AL ARDUINO.

El resultado lo puedes ver en este vídeo:

3.2.3.1 Cambios de escala

Nos encontramos que:

  • Los valores de entrada, es decir, el LDR trabaja con unos límites, que según hemos visto en el apartado comprobar los límites, el nuestro va de 108 a 982, llamaremos a esta variable de entrada X
  • Los valores de salida son los tonos,que mBlock trabaja con la norma americana (la europea es el típico Do-Re-Mi-Fa-Sol) y los americanos, son valores numéricos que van desde 48 hasta 72 (lo puedes comprobar con la instrucción “tocar nota” que está en Programas-Sonido). Llamaremos a la variable salida de notas Y:

Problema: ¿cómo convertimos X en Y?

Matemáticamente es una recta con una pendiente m y una ordenada n :

Y = m*X + n

Para calcular m y n tenemos que utilizar un sistema de ecuaciones dadas las condiciones límites de X e Y:

  • Cuando X = 108 quiero que Y valga 48: 48=m*108 + n
  • Cuando X = 982 quiero que Y valga 72: 72=m*982 + n

Ala! dos ecuaciones y dos incógnitas: calcula m y n

Buen ejercicio para los alumnos para que vean matemáticas aplicadas

No obstante, como esto lo repetiremos muchas veces los cambios de escala, hemos confeccionado ESTA HOJA DE CÁLCULO que te lo puedes descargar y facilita las cosas: Ponemos en las celdas amarillas los valores límites :

  • X1= 108 X2=982
  • Y1=48 Y2=72

Y nos da los valores m y n automáticamente:

Luego la fórmula para el cálculo de la Y (las notas) en función de la luminosidad X es:

Y = 0.027 * X + 45