sensor for extra greenhouse lighting.

Home Assistant automation projects, questions, etc. go here.
Post Reply
Hobosnob
LED-Curious
LED-Curious
Reactions:
Posts: 4
Joined: Fri Jan 01, 2021 3:31 am

Has anyone here built there own photosynthetic sensor for lighting ? I'm looking to build one for my extra greenhouse lighting . i know they sell them in th400dollar range or more. but the sensors seem to be cheap .
thank you Hobnob
PeteR_1
LED Tinker
LED Tinker
Reactions:
Posts: 368
Joined: Sun Jul 05, 2020 1:10 am

Hobosnob wrote:
Fri Jan 08, 2021 8:45 pm
Has anyone here built there own photosynthetic sensor for lighting ? I'm looking to build one for my extra greenhouse lighting . i know they sell them in th400dollar range or more. but the sensors seem to be cheap .
thank you Hobnob
Home Assistant BH1750 Sensor... https://www.home-assistant.io/integrations/bh1750/

Home Assistant - BH1750 Sensor Video...

Arduino BH1750FVI Breakout Board (I2C) "Digital" sensor; under $20.00 for parts... viewtopic.php?f=27&t=5748
Sunlight Lux to PPFD Conversion (Calibration) Factor = 0.0185... https://www.apogeeinstruments.com/conve ... fd-to-lux/
The BH1750FVI Breakout Board (I2C) works quite well "as is" and is a much simpler project. It needs to be calibrated for Diffuser Transmittance (2.0 "Lux" factor) and the Lumens to PPF (0.015 "Lux to PPFD" factor) of the measured light source. The BH1750FVI breakout board is supplied with a 50% Transparent Cosine correction diffusion dome (the 2.0 factor) and Modular Termination Cable.

Code: Select all

//BH1750FVI with 50% light transmittance Cosine Correction Dome
// Serial Print Only. No Local Display

#include <Wire.h>

#define Addr 0x23         

void setup()
{
  Wire.begin();
  Serial.begin(9600);

  Wire.beginTransmission(Addr);
  Wire.write(0x01);
  Wire.endTransmission();

  Wire.beginTransmission(Addr);
  Wire.write(0x10);
  Wire.endTransmission();
  delay(300);
}

void loop() 
{
  unsigned int data[2];
  Wire.requestFrom(Addr, 2);

  if(Wire.available() == 2) 
  {
    data[0] = Wire.read();
    data[1] = Wire.read();
  }
    delay(300);
  
  float luminance = ((data[0] * 256) + data[1]) / 1.20;

  float cf_lux = 2.0;        // 50% Light Transmittance Dome or Lens
  float cf_par = 0.015;      // 0.015 for 3000K - 4000K, 0.014 for 5000K 80 CRI LEDs, 0.0185 for Sunlight

  float lux = luminance * cf_lux;
  float par = lux * cf_par;
  
  Serial.print("LUX  :");
  Serial.print(lux);
  Serial.println(" Lm/m2"); 

  Serial.print("PPFD   :");
  Serial.print(par);
  Serial.println(" umol/s-m2");   
  delay(1000);
    
}

Currently assembling an "Analog" Sensor for use with a Milli-voltmeter... https://www.jove.com/t/59447/parbars-ch ... easurement
Photo Diode with UV/IR Cut Filter; Everlight EAALSDSY6444A ($1.00 each)... https://everlightamericas.com/ambient-l ... 444a0.html
Possible Alternate Photo Diode no Filter for LEDs only; Everlight EAPDSZ4439A4 ($0.50 each / 10)... https://www.digikey.com/en/products/det ... A4/5142197
Acrylic Diffuser; Opal White 445 or Acrylite 2447 ~ 50% light transmission.

Can be calibrated to within 1% accuracy of LI-COR, LI-190R PAR Quantum Sensor... https://www.licor.com/env/products/light/quantum.html
Image


Image
ThorLabs Silicon Photodiode mounted... https://www.thorlabs.com/newgrouppage9. ... up_id=1285
ThorLabs Silicon Photodiode Biased... https://www.thorlabs.com/newgrouppage9. ... up_id=1295
Post Reply