UN SENSOR DE LUZ
AMBIENTE
Esta será la base para montar más adelante un sensor de luz como el que viene en el NXT. De momento, éste no llevará LED, así que no podrá medir la luz reflejada. Sólo medirá la luz ambiental, pero ya llegaremos.
1 Cable de conexión al NXT con uno de sus extremos con los cables pelados.
Cable de conexión blanco y negro.
Conectores para unir los cables anteriores.
Un soporte "sin soldadura" para ubicar los elementos.
Una resistencia LDR
Nota: Existen varios tamaños de resistencias LDR. Hay unas muy pequeñas que pasan a través de los orificios de las vigas de LEGO. Estas son válidas. También podrías comprar el siguiente en tamaño. Consulta en Componentes para información adicional sobre las resitencias LDR. Estas resistencias no tienen polaridad, por lo que las puedes montar en cualquier orintación.
Este también es un sensor que no va alimentado para funcionar, como los anteriores. Pero vamos a dar un paso adicional. En el montaje de un interruptor, obteníamos una señal de tipo "si/no". Sólo tenía 2 "estados" posibles, el valor cuando pulsábamos y el valor cuando soltamos (fuera el valor que fuera). Era uno u otro.
El sensor de luz, que también podríamos llamar sensor de luz ambiente, no tiene 2 estados posibles, sino múltiples valores, según la luz que le llegue. Y lo más curioso es que se monta igual que los anteriores. En realidad, una resistencia LDR es una resistencia variable.
Y ¿cuánto varía?. Pues depende de dos cosas, de la luz que le llega y del valor propio de la resitencia, o sea, del tamaño que tenga la LDR.
Es interesante conocer los valores máximo y mínimo para saber cuál te irá mejor, pero si vas un poco desorientad@, te sugiero la más pequeña (la que entra en el agujero de una viga de LEGO) o la siguiente, que es la que uso aquí para que se vea bien en la foto.
Para conocer los valores máximo y mínimo, mide el RAW en penumbra y tapando el sensor con el dedo y luego, a plena luz y con un par de focos apuntando cerca. Así sabrás de dónde a dónde varía.
Subrayo eso de "en penumbra" porque creo que también le llega luz por la parte de abajo del LDR. Por darte alguna orientación, y de forma muy muy aproximada, la pequeñita varía entre 200 y 900 y la siguiente entre 50 y 700.
El valor disminuye conforme aumente la luz, al contrario de lo que se podría intuir, no te confundas. O sea, cuanto más oscuro, mayor valor de RAW. No debería extrañarnos que se monte (y mida) igual que los interruptores, porque ya hemos visto que poniendo resistencias diferentes, obteníamos distintos valores.
Ahora la diferencia es que en lugar de ir cambiando nosotros el valor de la resistencia, será la luz la que cambie su valor. El ejemplo de interruptor más sencillo que vimos era: cable blanco-interruptor-cable negro. Cero si se pulsaba, 1023 si no se pulsaba.
El montaje es muy fácil. Conectamos el cable blanco a un extremo de la LDR y el cable negro al otro. Ahora en lugar de 0 y 1023 obtendremos en pantalla toda la gama de valores intermedios, según la luz que le llegue.
Usaremos por simplicidad los mismos cables que en los montajes anteriores. Recuerda que tienes información general sobre el "Board" para pinchar los elementos, cómo construir los cables de conexiones, componentes, etc en la sección de Ayudas.
Nos puede servir el programa del valor RAW para visualizar este sensor:
Juega con el sensor, tapando la luz con la mano o incluso tapándolo por completo con el dedo. Mira qué condiciones hay en una habitación en penumbra, a plena luz, de día... Ve anotando estos valores para saber luego cómo programar algo más.
Bien, y ahora, ¿qué hacer con estos valores?. Bueno, ya sabes que para tomar decisiones según los valores que nos aportan los sensores, toca incluir un "switch" en el programa. En este caso, es difícil que puedas poner tantas pestañas como valores.
Tendrías que incluir 1024 pestañas (si incluyes el 0) y eso es poco viable. Es más lógico emplear un "mayor qué" o "menor qué". Así, cuando la luz supere un valor, ejecutamos una acción. En caso contrario, la otra. Y un bucle "Forever" para que repita esto constantemente.
El icono "compare" lo puedes encontrar en la flecha negra. En el círculo verde, seleccionas "Greater than" (mayor que) y el valor con el que quieras comparar. En mi caso 600. El switch (flecha negra) deberás configurarlo de forma que aparezca "value" y "logic" en lugar de "number". De esta forma, el sensor irá leyendo los valores de luz.
Los pasará al icono del comparador. Cuando se supere el valor de 600, el valor del comparador será "cierto" y ejecutará el camino superior, dibujando una cara alegre, y volverá al principio de nuevo a evaluar la situación.
En caso de que el valor sea inferior a 600, el valor emitido por el "compare" será "falso" (no se cumple la condición que le hemos puesto) y se ejecutará el camino de abajo, de forma que aparecerá una cara triste.
Está claro que este sensor, que funciona exactamente igual que el sensor del NXT con la luz apagada, lo que hace es detectar la luz ambiente. Se me ocurren varios usos. Lo que hay que aprovechar es la capacidad de localizar luz.
Bueno, pues con eso podemos hacer apuntar un robot siguiendo al sol (sin moverse del sitio). Puedes dirigir un coche hacia un rincón iluminado de la habitación en el que hemos puesto un foco. O que huya de él. O puedes encender unas luces LED cuando se haga de noche... bueno, para esto necesitas saber cómo se encienden los LED. Ya llegaremos.
De momento sólo puedes hacer que te avise de que enciendas la luz, que te estás quedando a oscuras. Para algunos de estos proyectos, el icono "compare" tendrás que programarlo poniendo "Less than" (menor que) en el círculo verde, para que invierta las acciones y así pase de huir de la luz a acercarse a ella.
Por cierto, al final de la explicación del Sensor IR de Distancias tienes algún experimento adicional para el LDR y el Sensor de Luz original del NXT. No es necesario que tengas el que allí se explica para practicar.