Portable luxmeter

Toon hier Uw afgeronde projecten aan anderen.
Berichten: 1
Geregistreerd: 01 Jul 2019, 17:01

Portable luxmeter

Berichtdoor michalchoma » 01 Jul 2019, 17:17

Afbeelding

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:

Afbeelding


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

Afbeelding


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:
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Charging
Afbeelding
Night pollution?
Afbeelding

Advertisement

Gebruikers-avatar
Berichten: 111
Geregistreerd: 01 Jun 2016, 20:14

Re: Portable luxmeter

Berichtdoor ruudhot » 04 Aug 2019, 21:30

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.

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Portable luxmeter

Berichtdoor shooter » 05 Aug 2019, 11:10

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.
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Portable luxmeter

Berichtdoor Koepel » 07 Aug 2019, 18:35

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.

Gebruikers-avatar
Berichten: 256
Geregistreerd: 05 Apr 2018, 00:44
Woonplaats: ALKMAAR

Re: Portable luxmeter

Berichtdoor Gompy » 10 Sep 2019, 12:43

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.

Gebruikers-avatar
Berichten: 256
Geregistreerd: 05 Apr 2018, 00:44
Woonplaats: ALKMAAR

Re: Portable luxmeter

Berichtdoor Gompy » 24 Sep 2019, 14:50

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/

Gebruikers-avatar
Berichten: 256
Geregistreerd: 05 Apr 2018, 00:44
Woonplaats: ALKMAAR

Re: Portable luxmeter

Berichtdoor Gompy » 03 Okt 2019, 20:14

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.

Terug naar Afgeronde projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten