INHOUDSOPGAWE:

Arduino DIY -ligmeter met BH1750 -sensor: 6 stappe (met foto's)
Arduino DIY -ligmeter met BH1750 -sensor: 6 stappe (met foto's)

Video: Arduino DIY -ligmeter met BH1750 -sensor: 6 stappe (met foto's)

Video: Arduino DIY -ligmeter met BH1750 -sensor: 6 stappe (met foto's)
Video: How to Make High Quality PCB at Home / Say Goodbye to Ironing 2024, November
Anonim
Image
Image
Arduino DIY ligmeter met BH1750 -sensor
Arduino DIY ligmeter met BH1750 -sensor

In hierdie instruksies gaan ek jou wys hoe om 'n ligmeter te bou met 'n groot Nokia 5110 LCD -skerm met behulp van Arduino.

Die bou van 'n ligmeter is 'n wonderlike leerervaring. As u klaar is met die bou van hierdie projek, sal u 'n beter begrip hê van hoe ligmeters werk, en u sal in aksie sien hoe kragtig die Arduino -platform kan wees. Met hierdie projek as basis en die opgedane ervaring, sal u in die toekoms maklik meer komplekse projekte kan bou. U kan hierdie projek gebruik om die beligtingstoestande van u werksomgewing, u plante ensovoorts te monitor. Sonder enige verdere vertraging, laat ons begin!

Stap 1: Kry al die onderdele

Kry al die onderdele
Kry al die onderdele

Die onderdele wat nodig is om hierdie projek te bou, is die volgende:

  • Arduino Uno ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • Klein broodbord ▶
  • Drade ▶

Die koste van die projek is ongeveer $ 12.

Stap 2: Die BH1750 -ligsensor

Die BH1750 -ligsensor
Die BH1750 -ligsensor

Die BH1750 ligintensiteitsensor is 'n uitstekende en baie maklike sensor om te gebruik. Hierdie uitbreekbord het 'n ingeboude 16-bis AD-omskakelaar wat direk 'n digitale sein kan afgee; daar is geen ingewikkelde berekeninge nodig nie.

Hierdie bord is beter as 'n LDR wat slegs 'n spanning lewer. Met die BH1750 kan die ligsensor intensiteit direk met die luxmeter gemeet word, sonder om berekeninge te hoef te doen. Die data wat deur hierdie sensor uitgevoer word, word direk in Lux (Lx) uitgevoer.

Die sensor gebruik die I2C -koppelvlak, dus dit is baie maklik om te gebruik met Arduino. U hoef slegs 2 drade aan te sluit.

Die prys van die sensor is ook baie laag, dit is ongeveer $ 2.

U kan dit hier kry: ▶

Stap 3: Nokia 5110 LCD

Image
Image
Bou die ligmeter
Bou die ligmeter

Die Nokia 5110 is my gunsteling skerm vir my Arduino -projekte.

Die Nokia 5110 is 'n basiese grafiese LCD -skerm wat oorspronklik bedoel was as 'n selfoonskerm. Dit gebruik die PCD8544 -beheerder, 'n lae krag CMOS LCD -beheerder/bestuurder. As gevolg hiervan het hierdie skerm 'n indrukwekkende kragverbruik. Dit gebruik slegs 0,4mA as dit aan is, maar die agtergrond is uitgeskakel. Dit gebruik minder as 0,06mA in die slaapmodus! Dit is een van die redes waarom hierdie vertoning my gunsteling is. Die PCD8544 koppelvlak aan mikrobeheerders via 'n seriële bus -koppelvlak. Dit maak die skerm baie maklik om te gebruik met Arduino.

U hoef slegs 8 drade aan te sluit en die volgende biblioteek te gebruik:

Hierdie indrukwekkende biblioteek is ontwikkel deur Henning Karlsen wat baie moeite gedoen het om die Arduino -gemeenskap met sy biblioteke vorentoe te help.

Ek het 'n gedetailleerde handleiding opgestel oor hoe om die Nokia 5110 LCD -skerm met Arduino te gebruik. Ek het die video in hierdie instruksies aangeheg; dit bevat baie nuttige inligting oor die skerm, so ek moedig u aan om dit noukeurig te kyk.

Die koste van die vertoning beloop ongeveer $ 4.

U kan dit hier kry: ▶

Stap 4: Bou die ligmeter

Bou die ligmeter
Bou die ligmeter

Kom ons verbind nou al die dele saam.

Eers koppel ons die BH1750 ligsensormodule. Dit het net 5 penne, maar ons sal 4 van hulle verbind.

Koppel die spanningsensor aan

Vcc Pin gaan na Arduino se 5V

GND Pin gaan na Arduino se GND

SCL Pin gaan na Analog Pin 5 van die Arduino Uno

SDA -pen gaan na analoog pen 4 van die Arduino Uno

Adrespen bly nie verbind nie

Die volgende stap is om die Nokia 5110 LCD -skerm aan te sluit.

Koppel die Nokia 5110 LCD -skerm aan

RST gaan na Digital Pin 12 van die Arduino

CE gaan na Digital Pin 11 van die Arduino

DC gaan na Digital Pin 10 van die Arduino

DIN gaan na Digital Pin 9 van die Arduino

CLK gaan na Digital Pin 8 van die Arduino

VCC gaan na Arduino 3.3V LIGHT gaan na Arduino GND (agtergrond aan)

GND gaan na Arduino GND

Noudat ons al die dele aanmekaar gekoppel het, hoef ons net die kode te laai. 'N Splash -skerm word 'n paar sekondes vertoon, en dan kan ons ligintensiteit intyds begin meet!

Stap 5: Die kode van die projek

Image
Image
Toets die projek
Toets die projek

Die kode van die projek bestaan uit 3 lêers.

spat.cui.c

ui.c

BH1750LightMeter.ino

Kode - Splash Screen Image

In die eerste lêer splash.c is daar die binêre waardes van die spatskerm wat op die Nokia 5110 LCD -skerm vertoon word wanneer die projek begin. Kyk na die aangehegte video wat ek voorberei het om te sien hoe u u persoonlike grafika na u Arduino -projek kan laai.

ui.c Code - Die gebruikerskoppelvlak

In die lêer ui.c is daar die binêre waardes van die gebruikerskoppelvlak wat verskyn nadat die projek die spatskerm vertoon het. Kyk na die aangehegte video wat ek voorberei het om te sien hoe u u persoonlike grafika na u Arduino -projek kan laai.

UVMeter.ino Code - Hoofprogram

Die hoofkode van die projek is baie eenvoudig. Ons moet die Nokia 5110 -biblioteek insluit. Vervolgens verklaar ons 'n paar veranderlikes. Ons begin die skerm en ons vertoon die spatskerm vir 3 sekondes. Daarna druk ons die ui -ikoon een keer af en lees ons die waarde van die sensor 150 milisekondes. Al die magie gebeur in die lusfunksie:

leemte lus () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Lees die sensorlig = String (lux); // Omskakeling na String stringLength = light.length (); // Ons moet die snaarlengte ken lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Druk die string op die skerm lcd.update (); vertraging (150); }

Ek het die kode by hierdie instruksies aangeheg. Om die nuutste weergawe van die kode af te laai, kan u die projek se webwerf besoek:

Stap 6: Toets die projek

Toets die projek
Toets die projek
Toets die projek
Toets die projek

Noudat die kode gelaai is, kan ons die ligmeter binne en buite toets. Ek toets dit op 'n sonnige lentedag hier in Griekeland. Die resultaat is fantasties. Ons kan die ligintensiteit akkuraat meet met 'n maklik om te bou projek.

Soos u op die aangehegte foto's kan sien, werk die ligmeter goed. Hierdie projek is 'n goeie demonstrasie van waartoe open source hardeware en sagteware in staat is. Binne 'n paar minute kan u so 'n indrukwekkende projek bou! Hierdie projek is ideaal vir beginners, en soos ek in die begin gesê het, is hierdie projek 'n wonderlike leerervaring. Ek hoor graag u mening oor hierdie projek. Vind u dit nuttig? Is daar verbeterings wat in hierdie projek geïmplementeer kan word? Plaas u kommentaar of idees in die kommentaarafdeling hieronder!

Aanbeveel: