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 protoboard se arma el circuito conectando los pines del modulo Esp32 y el BH1750 tal y como se ve en la figura.




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);


}



 Diseño y Prueba del Circuito del Módulo Dimmer AC220V/2A

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 protoboard se arma el circuito conectando los pines del modulo Esp32 y el BH1750 tal y como se ve en la figura.


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("%");

}



 Diseño y Prueba del Circuito de Iluminación

Una vez que los dos Módulos se probaron, se procedió a incluir los dos circuitos en uno solo  con la finalidad de que estos interactúen como un sistema de control en el cual el cambio de una variable actuara sobre otra alterando sus valores.
El montaje de los dos circuitos en el protoboard se presenta a continuación

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

Entradas populares de este blog

Descripción Proyecto Final, Tema, Objetivos, Problema

Comunicación Esp32 con Arduino