Meranie pomocou senzoru MAX44009, základ Arduino Pro Mini (osobne si myslím že je lepší Arduino Nano), bateria 18650, nabíjačka TP4056.
Cena 13 $ cca 333 Czk. Odber 15 mA.
BOM:
Arduino Pro Mini 5V
Link: https://www.aliexpress.com/item/3290014 ... c7f0a9951a
MAX44009
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
https://www.aliexpress.com/item/3282862 ... c7f0a9951a
OLED display
Link: https://www.aliexpress.com/item/3283585 ... c7f0a9951a
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
TP4056
input 5V
Link: https://www.aliexpress.com/item/3245305 ... c7f0a9951a
Li-Ion battery
3 - 4.2 V
Link: https://www.aliexpress.com/item/3280703 ... c7f0a9951a
18650 holder
Link: https://www.aliexpress.com/item/3265518 ... c7f0a9951a
Switch jumper
Link: https://www.aliexpress.com/item/3292600 ... c7f0a9951a
Dupont káble a pin headers
Link: https://www.aliexpress.com/item/3288083 ... c7f0a9951a
pin headers
Link: https://www.aliexpress.com/item/3269397 ... c7f0a9951a
Kód: Vybrat vše
#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);
}