Diseño y Prueba de Circuitos
Diseño y Prueba del Circuito del Módulo de Luminosidad BH1750
Se procedió a diseñar el circuito que nos permitirá ver la funcionalidad del Módulo BH1750 y comprobar si esta en buen estado.
En la plataforma de Arduino se crea el código que posteriormente será subido al Módulo, el cual nos permitirá ver en el monitor serie de Arduino si esta o no censando la luminosidad del ambiente.
#include <Wire.h> // Inclusión de librerías para el modulo BH1750
#include <BH1750.h>
/*
UNIVERSIDAD TECNICA DEL NORTE
INGENIERIA EN MANTENIMINETO ELECTRICO
INFORMATICA APLICADA
ISRAEL MORENO
9 / 08 / 2021
Testeo del Módulo BH1750
*/
BH1750 lightMeter(0x23);// Módulo BH1750
void setup(){
Serial.begin(9600);//Inicio la comunicación serial
Wire.begin();
if (lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE_2)) {
Serial.println(F("BH1750 Advanced begin"));// Determino si el modulo esta funcionando de manera correcta
}
else {
Serial.println(F("Error initialising BH1750"));// Caso contrario mensaje de error.
}
}
void loop() {
float lux = lightMeter.readLightLevel();
Serial.print("Luminosidad: ");
Serial.print(lux);
Serial.println(" lx");
delay(1000);
}
Se procedió a diseñar el circuito que nos permitirá ver la funcionalidad del Módulo Dimmer AC220V/2A y comprobar si esta en buen estado para aumentar o disminuir la intensidad lumínica del foco incandescente.
En la plataforma de arduino se crea el código que posteriormente será subido al Módulo, el cual nos permitirá ver si el pulso que genera el BH1750 aumenta o disminuye la intensidad de luz producida por el foco.
//Librerías incluidas
#include <RBDdimmer.h>//https://github.com/RobotDynOfficial/RBDDimmer
/*
UNIVERSIDAD TECNICA DEL NORTE
INGENIERIA EN MANTENIMINETO ELECTRICO
INFORMATICA APLICADA
ISRAEL MORENO
9 / 08 / 2021
Testeo del Dimmer
*/
//Declaro los Parametros
const int zeroCrossPin = 17;
const int acdPin = 13;
int MIN_POWER = 0;
int MAX_POWER = 80;
int POWER_STEP = 2;
//Declaro las Variables
int power = 99;
//Objetos
dimmerLamp acd(acdPin,zeroCrossPin);
void setup(){
//Inicio la comunicacion Serial via USB
Serial.begin(115200);
Serial.println(F("ESP32 System"));
acd.begin(NORMAL_MODE, ON);
}
void loop(){
testDimmer();
}
void testDimmer(){/* testeo del dimmer */
////Barra de testeo de la intensidad de luz
acd.setPower(power); // setPower(0-100%);
Serial.print("lampValue -> ");
Serial.print(acd.getPower());
Serial.println("%");
}
En Arduino se acopla los dos códigos previamente creados con unos cambios para poder calcular la cantidad de lumenes necesarios para aumentar o disminuir la intensidad de luz producida por el foco, el código se presenta a continuación.
//Libraries
#include <RBDdimmer.h> //https://github.com/RobotDynOfficial/RBDDimmer
#include <Wire.h>
#include <BH1750.h>
/*
UNIVERSIDAD TECNICA DEL NORTE
INGENIERIA EN MANTENIMINETO ELECTRICO
INFORMATICA APLICADA
ISRAEL MORENO
9 / 08 / 2021
Testeo de luminocidad con los dos modulos
*/
BH1750 lightMeter(0x23);
//Declaro los parametros y establezco los pines
const int zeroCrossPin = 17;
const int acdPin = 13;
int MIN_POWER = 0;
int MAX_POWER = 80;
int POWER_STEP = 2;
//Declaro las Variables
int power = 80;
int brillo = 1000;
//Objects
dimmerLamp acd(acdPin,zeroCrossPin);
void setup(){
Serial.begin(115200);
Wire.begin();
//Control del sensor
if (lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE_2)) {
Serial.println(F("BH1750 Advanced begin"));
}
else {
Serial.println(F("Error initialising BH1750"));
}
Serial.println(F("ESP32 System"));
acd.begin(NORMAL_MODE, ON);
}
void loop() {
int lux = lightMeter.readLightLevel();
Serial.print("Luminosidad: ");
Serial.print(lux);
Serial.println(" lx");
delay(1000);
calibracion(lux);
testDimmer();
}
void calibracion(int lux)
{
if (lux > brillo )
{
power = 0;
}
if (lux <= 0)
{
power = 100;
}
if (lux > 0 and lux < brillo)
{
int lux1=lux/10;
power = 100-lux1;
}
}
void testDimmer(){/* function testDimmer */
////Barra de testeo de la intensidad de luz
acd.setPower(power); // setPower(0-100%);
Serial.print("lampValue -> ");
Serial.print(acd.getPower());
Serial.println("%");
}
Comentarios
Publicar un comentario