Portable luxmeter
7 berichten
• Pagina 1 van 1
- michalchoma
- Berichten: 1
- Geregistreerd: 01 Jul 2019, 17:01
Portable luxmeter
I decided to make luxmeter, which has basic functions:
1. measure lux from 0 to 188000 lux
2. calculate watts/m2
3. charging using USB cabel via TP4056 board
Basic sensor is MAX44009, which measure lux. I use Arduino Pro Mini as microcontroller.
Totally it cost cca 13 $. Case is homemade.
Power consumption - 15 mA.
for more info: https://www.instructables.com/id/Portable-Luxmeter/
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
Circuit:
You need of course 5V Arduino to power it with Li-Ion battery (4,2 V!)
Code:
- Code: Alles selecteren
// 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);
}
Photos:
Charging
Night pollution?
Advertisement
Re: Portable luxmeter
Hallo Arduinianen,
Als ik deze code upload en verifieer, dan krijg ik fout op fout.
Klopt de code wel?
Ik ben nog steeds beginner hoor, dus mogelijk doe ik iets fout.
Deze foutcodes krijg ik:
Arduino: 1.8.5 (Windows 10), Board:"Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)"
LUXmeter:3: error: 'Adafruit_SSD1306' does not name a type
Adafruit_SSD1306 display(-1); // restart display with reset button on arduino
^
C:\Users\netbook\Pictures\Documents\Arduino\LUXmeter\LUXmeter.ino: In function 'void setup()':
LUXmeter:9: error: 'Lux' was not declared in this scope
Lux.Begin(0, 188000);
^
LUXmeter:10: error: 'display' was not declared in this scope
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
^
LUXmeter:10: error: 'SSD1306_SWITCHCAPVCC' was not declared in this scope
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
^
LUXmeter:16: error: 'WHITE' was not declared in this scope
display.setTextColor(WHITE);
^
LUXmeter:17: error: 'FreeSerif9pt7b' was not declared in this scope
display.setFont(&FreeSerif9pt7b);
^
C:\Users\netbook\Pictures\Documents\Arduino\LUXmeter\LUXmeter.ino: In function 'void loop()':
LUXmeter:26: error: 'lux' was not declared in this scope
lux = Lux.GetLux(); // get luxs
^
LUXmeter:26: error: 'Lux' was not declared in this scope
lux = Lux.GetLux(); // get luxs
^
LUXmeter:27: error: 'watts' was not declared in this scope
watts = Lux.GetWpm(); // get watts/m2, only for SUN source
^
LUXmeter:29: error: 'display' was not declared in this scope
display.fillRect(1, 20, 100, 100, BLACK); // create black rectangle on values position
^
LUXmeter:29: error: 'BLACK' was not declared in this scope
display.fillRect(1, 20, 100, 100, BLACK); // create black rectangle on values position
^
exit status 1
'Adafruit_SSD1306' does not name a type
Dit rapport zou meer informatie bevatten met
"Uitgebreide uitvoer weergeven tijden compilatie"
optie aan in Bestand -> Voorkeuren.
Als ik deze code upload en verifieer, dan krijg ik fout op fout.
Klopt de code wel?
Ik ben nog steeds beginner hoor, dus mogelijk doe ik iets fout.
Deze foutcodes krijg ik:
Arduino: 1.8.5 (Windows 10), Board:"Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)"
LUXmeter:3: error: 'Adafruit_SSD1306' does not name a type
Adafruit_SSD1306 display(-1); // restart display with reset button on arduino
^
C:\Users\netbook\Pictures\Documents\Arduino\LUXmeter\LUXmeter.ino: In function 'void setup()':
LUXmeter:9: error: 'Lux' was not declared in this scope
Lux.Begin(0, 188000);
^
LUXmeter:10: error: 'display' was not declared in this scope
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
^
LUXmeter:10: error: 'SSD1306_SWITCHCAPVCC' was not declared in this scope
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
^
LUXmeter:16: error: 'WHITE' was not declared in this scope
display.setTextColor(WHITE);
^
LUXmeter:17: error: 'FreeSerif9pt7b' was not declared in this scope
display.setFont(&FreeSerif9pt7b);
^
C:\Users\netbook\Pictures\Documents\Arduino\LUXmeter\LUXmeter.ino: In function 'void loop()':
LUXmeter:26: error: 'lux' was not declared in this scope
lux = Lux.GetLux(); // get luxs
^
LUXmeter:26: error: 'Lux' was not declared in this scope
lux = Lux.GetLux(); // get luxs
^
LUXmeter:27: error: 'watts' was not declared in this scope
watts = Lux.GetWpm(); // get watts/m2, only for SUN source
^
LUXmeter:29: error: 'display' was not declared in this scope
display.fillRect(1, 20, 100, 100, BLACK); // create black rectangle on values position
^
LUXmeter:29: error: 'BLACK' was not declared in this scope
display.fillRect(1, 20, 100, 100, BLACK); // create black rectangle on values position
^
exit status 1
'Adafruit_SSD1306' does not name a type
Dit rapport zou meer informatie bevatten met
"Uitgebreide uitvoer weergeven tijden compilatie"
optie aan in Bestand -> Voorkeuren.
Re: Portable luxmeter
ja ruud de code klopt , echter is niet compleet want er zit ook nog een library in, dat is een stuk code die dus ook geladen moet worden.
adafruit.... staat erin en die wordt dan ook automatisch opgehaald als je het programma compileert. Die staat nog niet in jouw library lijst dus vandaarkrijg je een foutmelding,
De andere fouten gaan dan ook wel weg hoor.
adafruit.... staat erin en die wordt dan ook automatisch opgehaald als je het programma compileert. Die staat nog niet in jouw library lijst dus vandaarkrijg je een foutmelding,
De andere fouten gaan dan ook wel weg hoor.
paul deelen
shooter@home.nl
shooter@home.nl
Re: Portable luxmeter
Hier staat de volledige sketch: https://www.instructables.com/id/Portable-Luxmeter/.
Kun je in het Arduino programma (de Arduino IDE) de "Bibliotheek Beheer" vinden ? Daar kun je die libraries installeren.
Kun je in het Arduino programma (de Arduino IDE) de "Bibliotheek Beheer" vinden ? Daar kun je die libraries installeren.
Re: Portable luxmeter
Het "powermodule" kan beter vervangen worden door deze:
https://www.ebay.com/itm/USB-Lithium-Li ... 2183192848
Neem dan wel de 5 Volt versie dan ben je gelijk van de DIP-schakelaartjes af en kan je volstaan met één enkele wipschakelaar om de spanning van de schakeling af te halen.
https://www.ebay.com/itm/USB-Lithium-Li ... 2183192848
Neem dan wel de 5 Volt versie dan ben je gelijk van de DIP-schakelaartjes af en kan je volstaan met één enkele wipschakelaar om de spanning van de schakeling af te halen.
Re: Portable luxmeter
Zelfs met de link van Koepel compileert de code moeilijk als je niet de juiste bibliotheken hebt of kan vinden.
In deze link staan ook de bibliotheken en de complete sketch welke na installeren van de bibliotheken goed compileert.
https://www.instructables.com/id/MAX440 ... With-OLED/
In deze link staan ook de bibliotheken en de complete sketch welke na installeren van de bibliotheken goed compileert.
https://www.instructables.com/id/MAX440 ... With-OLED/
Re: Portable luxmeter
Uurtje over om wat in elkaar te knutselen https://www.youtube.com/watch?v=gsuAG7mGTas
Knipper ledjes van de Lipo-lader achterop en een leuk opstart displaytje.
Knipper ledjes van de Lipo-lader achterop en een leuk opstart displaytje.
7 berichten
• Pagina 1 van 1
Terug naar Afgeronde projecten
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 18 gasten