Medir la luminosidad con LDR
Anteriormente hemos comentado que existe la función “Ejecutar cada”, aprovecharemos esta función junto con la función “Enviar” para ver los datos del sensor de luminosidad en la pantalla del ordenador.
Pero antes de hacer el ejercicio vamos a ver las distintas funciones poco a poco.
- Gestión de tiempos con el bloque “Ejecutar cada”.
Encontraremos el bloque en a sección “Tiempo”. Este bloque ejecuta una vez cada X tiempo las órdenes que estén dentro de él. Cuidado porque NO detiene el programa en el estado anterior a él, como si hace ell bloque “Esperar”.
Junto con “Enviar”, es una función muy útil para imprimir datos en el ordenador. Vamos a verlo con un ejemplo en el siguiente apartado, en el que aprendemos a enviar datos desde el Imagina 3dBot con la placa ESP32STEAMakers al ordenador.
- Imprimir en el puerto serie (enviar datos al ordenador).
En la sección “Puerto serie” tenemos el bloque “Enviar”, mediante el que mandamos valores a la pantalla del ordenador.
Podemos enviar cualquier orden o dato que queramos solo con introducirlo en el espacio en blanco ente comillas del bloque.
Programa ejemplo:
Con este programa lo que hacemos es enviar a la pantalla del ordenador la palabra “Innova Didactic” una vez por segundo (1000 ms).
Tras cargar el programa pulsando el botón “Consola” y a continuación “Conectar”, veremos en la pantalla del ordenador los valores enviados.
Hay que destacar que, si no usamos el bloque “Ejecutar cada”, enviamos al ordenador un dato cientos de veces por segundo, lo que satura la comunicación y bloquea el sistema. De ahí la importancia de este bloque.
También podríamos usar el bloque “Esperar” para enviar datos cada segundo, pero entonces, en los tiempos de espera, el robot no podría escuchar otras órdenes ni realizar otras acciones. Tranquilos, veremos esto más adelante con calma… ¡y con más ejemplos!
Ahora vamos a aplicar estos dos conceptos para leer los valores del sensor LDR incorporado en la placa.
En esta actividad se pretende que cuando oscurezca se encienda el LED amarillo, como si de una sonda crepuscular se tratara.
Para hacerlo vamos a utilizar el bloque de la LDR (Resistencia Dependiente de la Luz) como dato para enviar a la pantalla del ordenador.
Introducimos el siguiente programa y abrimos la consola:
Comprobad su funcionamiento.
Vemos cómo cambia de valor si tapamos el sensor con el dedo y nos permite saber el valor con luz ambiental o a oscuras.
¿Cómo podríamos hacer para que se active el LED amarillo a partir de cierto nivel de luz?