T µ0sdI Ri &$`jiI &$phI s`e+J +@hI Q#hI `e+J +@hI Qf Mf Nwd i &$g8I Pg`I h s`eJ` +g8I Pg`I h Luminosidad – Aula Habitable

Ainhoa Varela, Jesús Portela, Rubén Pérez, Xenxo Fernández

-Sensor que utilizamos (qué es, cómo funciona)

Nuestro objetivo en este grupo será montar un sensor que nos permita medir la cantidad de luz en el aula, y compararla con la intensidad ideal que permita crear un buen entorno de trabajo.

Para ello utilizaremos el sensor BH1750, este módulo es un sensor de luz, que a diferencia del LDR, es digital y nos entrega valores de medición en Lux ( lumen /m² ), unidad de medida estándar para el nivel de iluminación (iluminancia). Tiene una alta precisión y un rango entre 1 – 65535 lx, el cual es configurable.

-Primeros Pasos (LDR)

Haciendo este proyecto decidimos buscar un instrumento que pudiese recopilar todo los datos que necesitábamos para monitorizar la clase. Decidimos usar Arduino. Arduino es una plataforma de creación de electrónica de código abierto que nos permite crear una programación personalizada que se adapte a nuestros intereses. Encargamos el sensor y empezamos a elaborar el código para una LDR utilizando el programa de simulación de tinkercad para probar nuestras ideas. Este es el código con el que acabamos:

const long A = 1000;     //Resistencia en oscuridad en KΩ

const int B = 15;        //Resistencia a la luz (10 Lux) en KΩ

const int Rc = 10;       //Resistencia calibracion en KΩ

const int LDRPin = A0;   //Pin del LDR

int V;

int ilum;

void setup()

{

   Serial.begin(115200);

}

void loop()

{

   V = analogRead(LDRPin);        

   //ilum = ((long)(1024-V)*A*10)/((long)B*Rc*V);  //usar si LDR entre GND y A0

   ilum = ((long)V*A*10)/((long)B*Rc*(1024-V));    //usar si LDR entre A0 y Vcc (como en el esquema anterior)

   Serial.println(ilum);   

   delay(1000);

}

Más tarde ya nos llegó el sensor y nos pusimos a programarlo.

-Finalización con el Sensor BH1750 (Código, luz óptima requerida…)

Después de haber realizado las pruebas con la LDR adquirimos el sensor y lo estañamos para conectarlo a una placa protoboard (Ver foto del circuito abajo del documento). Escribimos el código para el sensor y lo probamos en el aula (No hizo falta calibración, pues dio valores con bastante sentido y se hallaba en los intervalos que en internet se daban por los comunes en un aula iluminada: 300-500 lux).

-Instalación (caja y base de datos)

A continuación, quisimos implementar una placa ESP8266 node MCU, que nos permite una conexión wi-fi, y consecuentemente, conectarnos a la base de datos. Para ello tuvimos que modificar el código que ya teniamos ligeramente para adecuarlo a la nueva placa, descargando también las librerías de la misma para que funcionase. 

Este es el código final que empleamos:

#include <Wire.h>

#include <BH1750.h>

BH1750 Luxometro;

void setup(){

  Serial.begin(9600);

  Serial.println(«Inicializando sensor…»);

  Luxometro.begin(BH1750_CONTINUOUS_HIGH_RES_MODE); //inicializamos el sensor

}

void loop() {

  uint16_t lux = Luxometro.readLightLevel();//Realizamos una lectura del sensor

  Serial.print(«Luz(iluminancia):  «);

  Serial.print(lux);

  Serial.println(» lx»);

  delay(500);

}