Portable Luxmeter

by Michal Choma in Circuits > Arduino

5299 Views, 21 Favorites, 0 Comments

Portable Luxmeter

intro.jpg

This project is about making portable luxmeter. It can be used in schools, where children can measure different kinds of light sources.


Functions:

1. measure intensity of light in lux.

2. calculate solar irradiation from lux to watts/m2 (factor 112)

3. charging battery using USB port

Total cost is around 13 $ without case. Luxmeter take 15 mA, so it will works long time on one Li-Ion battery.

BOM

BOM.png
  • For project you need this components(affiliate links, if you want to support me):

Arduino Pro Mini 5V

MAX44009

  • Wide 0.045 Lux to 188,000 Lux Range
    VCC = 1.7V to 3.6V ()
  • ICC = 0.65µA Operating Current
  • -40°C to +85°C Temperature Range
  • Link

OLED display

  • Diagonal Screen Size:0.96"

  • Number of Pixels:128 x 64

  • Color Depth:Monochrome (Yellow&Blue)

  • Dimension:27.8 x27.3x 4.3 mm

  • Working Voltage: 3.3~ 5V DC

  • Power: 0.06W

  • MaxViewing Angle: >160 Degree

  • Duty:1/32Brightness ( cd/m2):150 (Typ) @ 5V

  • Interface: I2C

  • Link

TP4056

  • need USB to micro USB cable for charging
  • input 5V

Li-Ion battery

18650 holder

Switch jumper

Cables and header

Circuit

circuit.png

You need of course 5V Arduino to power it with Li-Ion battery (4,2 V!)


Connections:

Arduino - MAX44009 (same for OLED display)

A4 - SDA

A5 - SCL

VCC - VIN

GND - GND

TP4056 - Arduino Pro Mini
OUT+ - VCC

Arduino - battery

VCC - plus terminal (max 5 V for Arduino 5V)

Arduino - switch jumper

GND - first switcher

TP4056 - switch jumper

OUT - - second switcher

Battery - switch jumper

minus terminal - first and second switcher

Code

#include <Wire.h>

#include <Adafrfuit_SSD1306.h>
#include <Adafruit_GFX.h>

#include <Fonts/FreeSerif9pt7b.h>

#include "MAX44009.h"

MAX44009 Lux(0x4A);

float lux; float watts; // OLED display TWI address #define OLED_ADDR 0x3C Adafruit_SSD1306 display(-1); // restart display with reset button on arduino void setup() { Lux.Begin(0, 188000); display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay(); display.display(); // display a line of text display.setTextSize(1); display.setTextColor(WHITE); display.setFont(&FreeSerif9pt7b); display.setCursor(1,15); display.print("MAX44009"); display.display(); } void loop() { lux=Lux.GetLux(); // get luxs watts =Lux.GetWpm(); // get watts/m2, only for SUN source display.fillRect(1, 20, 100, 100, BLACK); // create black rectangle on values position display.setCursor(1,40); display.print(lux); display.setCursor(80,40); display.print("lux"); display.setCursor(1,60); display.print(watts); display.setCursor(80,60); display.print("W/m"); display.setCursor(115,55); display.print("2"); display.display(); delay(1000); }

Solder

IMG_20190610_170611.jpg
IMG_20190610_170619.jpg
IMG_20190610_174702.jpg
IMG_20190610_221812.jpg
IMG_20190610_211542.jpg
IMG_20190610_221800.jpg
IMG_20190610_221840.jpg

I create on prototype board socket for Arduino Pro Mini and pins for connect other things. I also build simple case from plywood. Use Plastic Zip Cable Wire for mounting display to door, also for joints.

Charging

IMG_20190610_230105.jpg
IMG_20190610_230115.jpg

I mount charging module - TP4056 to luxmeter. Red light showing charging, blue light not connected usb cable (micro usb). With switch jumper, I can switch on/off charging.

Formal Lesson Plan

table.png

1. Teacher describe what are luxs, watts and describe how to work with luxmeter.

2. Students will have task, to measure luxs:

a, choose light sources, and measure distance from source using length gauge

b, measure intensity of light source

c, write all values to table.

Own Measurement

62169119_481851225917795_3272480069817204736_n.jpg
IMG_20190610_224017.jpg
IMG_20190610_224022.jpg
IMG_20190610_224041.jpg
IMG_20190610_224049.jpg
IMG_20190610_225112.jpg
lux_to_watts.png
Testing MAX44009 under different leds
  1. Street lamp gives 5 - 25 lux, probably depend on height of light source.
  2. Daylight gives 80 000 - 100 000 lux, depend on angle between sensor and sun beams.
  3. Sun under cloud during sunny day 15 000 lux
  4. LCD monitor give me 78 lux (0 cm distance), 63 lux (10 cm), 50 lux (20cm)
  5. smartphone 60 lux (0 cm)
  6. inside room during sunny day retracted blinds 60 lux

For calculation Watts/m2, you need to know luminous efficacy (in lumens per watt ).

For Sun it is around 110 lumens/W (on horizontal plane), 96 lumens/W ( on direct Sun beams).

So for Sun I get direct 700 - 900 W/m2 intensity.

Lux to watt/m2 calculator https://www.rapidtables.com/calc/light/lux-to-watt-calculator.html