Para este proyecto vamos a emplezar AdaFruit, desarrollando una aplicación que cumpla con las siguientes características:
- Mediante una LDR conectada a la entrada analógica A0 se mide el nivel de luz en el ambiente.
- El nivel de luz se muestra en la interfaz de la aplicación.
- Mediante un slider desde la interfaz se ajusta el umbral de luminosidad.
- Si el nivel de luz en el ambiente es menor que el ajustado, se activa un LED en la placa.
En definitiva, ajustamos el umbral de luminosidad con el slider, cuya información se enviará a través de un feed a nuestra placa. Si el dato de ese feed es mayor que la lectura del sensor, se iluminará el led; de lo contrario, no se iluminará.
Para ello tendremos que seguir los siguientes pasos:
1. Debemos saber cómo conectar la LDR. Como vemos en la imagen, se necesita una resistencia de 10K para su funcionamiento, estando todo ello conectado a 5V, G y A0.
3. Añadimos un "gauge" que nos informará del nivel de luz instantáneo. Lo llamaremos "Luminosidad" y se conectará a un feed creado a tal efecto llamado "sensorluz". Sus valores irán desde el mínimo (0) hasta el máximo (100).
4. Añadimos un "slider" con el que podremos posteriormente ajustar el nivel de luz mínimo deseado. El feed que utilizaremos será "umbralluz". A este bloque lo llamaremos "Umbral luz", sus valores mínimo y máximo también serán de 0 y 100 y ajustaremos el "Slider step size" a 5 (para que nos deje regular de 5 en 5). El panel en Adafruit quedará algo así:
5. Una vez configurados los bloques en Adafruit, nos vamos a ArduinoBlocks para implementar el programa. Dentro de inicializar añadiremos, como sabemos, el bloque iniciar con los datos de Wifi, broker, puerto y clave. Además, nos suscribiremos al feed "umbralluz" para que nuestro programa sepa el umbral de luz que seleccionamos en cada momento en el slider.
6. Antes de empezar con la información del bucle, debemos explicar un dato imporante. Los feeds envían datos en formato texto, por lo que en nuestro caso el feed "umbralluz" NO ENVÍA UN NÚMERO, sino que envía un texto (aunque en apariencia sea un número, por ejemplo, 95). Por eso, lo primero que tendremos que realizar en bucle será convertir el dato recibido del feed, de texto a número, y darle un nombre a la variable, en mi caso "umbralluznum".
8. Nuestro proyecto estaría finalizado. Podemos probarlo bajando la luminosidad (vale con tapar el sensor con el dedo) y veremos que se enciende el led.
Comentarios
Publicar un comentario