Innholdsfortegnelse:

Arduino DIY lysmåler med BH1750 -sensor: 6 trinn (med bilder)
Arduino DIY lysmåler med BH1750 -sensor: 6 trinn (med bilder)
Anonim
Image
Image
Arduino DIY lysmåler med BH1750 sensor
Arduino DIY lysmåler med BH1750 sensor

I denne instruksen skal jeg vise deg hvordan du bygger en lysmåler med en stor Nokia 5110 LCD -skjerm ved hjelp av Arduino.

Å bygge en lysmåler er en flott læringsopplevelse. Når du er ferdig med å bygge dette prosjektet, vil du få en bedre forståelse av hvordan lysmålere fungerer, og du kommer til å se i handling hvor kraftig Arduino -plattformen kan være. Med dette prosjektet som base og erfaringen, vil du enkelt kunne bygge mer komplekse prosjekter i fremtiden. Du kan bruke dette prosjektet til å overvåke lysforholdene i arbeidsmiljøet, plantene dine og så videre. Uten ytterligere forsinkelse, la oss komme i gang!

Trinn 1: Få alle delene

Få alle delene
Få alle delene

Delene som trengs for å bygge dette prosjektet er disse:

  • Arduino Uno ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • Små brødbrett ▶
  • Ledninger ▶

Kostnaden for prosjektet er rundt $ 12.

Trinn 2: BH1750 lyssensor

BH1750 lyssensor
BH1750 lyssensor

BH1750 lysintensitetssensor er en flott og veldig enkel sensor å bruke. Dette breakout-kortet har en innebygd 16-biters AD-omformer som direkte kan sende et digitalt signal, det er ikke behov for kompliserte beregninger.

Dette kortet er bedre enn en LDR som bare sender ut en spenning. Med BH1750 kan lyssensor intensiteten måles direkte av luxmeteret, uten å måtte gjøre beregninger. Dataene som sendes ut av denne sensoren sendes direkte ut i Lux (Lx).

Sensoren bruker I2C -grensesnittet, så det er veldig enkelt å bruke med Arduino. Du trenger bare å koble til 2 ledninger.

Prisen på sensoren er også veldig lav, den er rundt 2 $.

Du kan få det her: ▶

Trinn 3: Nokia 5110 LCD

Image
Image
Bygg lysmåler
Bygg lysmåler

Nokia 5110 er min favorittskjerm for mine Arduino -prosjekter.

Nokia 5110 er en grunnleggende grafisk LCD -skjerm som opprinnelig var ment som en mobiltelefonskjerm. Den bruker PCD8544 -kontrolleren, som er en CMOS LCD -kontroller/driver med lav effekt. På grunn av dette har denne skjermen et imponerende strømforbruk. Den bruker bare 0,4 mA når den er på, men bakgrunnsbelysningen er deaktivert. Den bruker mindre enn 0,06mA i hvilemodus! Det er en av grunnene til at denne skjermen er min favoritt. PCD8544 grensesnitt til mikrokontrollere gjennom et serielt bussgrensesnitt. Det gjør skjermen veldig enkel å bruke med Arduino.

Du trenger bare å koble til 8 ledninger og bruke følgende bibliotek:

Dette imponerende biblioteket er utviklet av Henning Karlsen som har gjort en stor innsats for å hjelpe Arduino -samfunnet med å gå videre med bibliotekene sine.

Jeg har utarbeidet en detaljert opplæring om hvordan du bruker Nokia 5110 LCD -skjerm med Arduino. Jeg har lagt ved den videoen i denne instruksjonsboken, den kan gi nyttig informasjon om displayet, så jeg oppfordrer deg til å se den nøye.

Kostnaden for displayet er rundt $ 4.

Du kan få det her: ▶

Trinn 4: Bygg lysmåleren

Bygg lysmåler
Bygg lysmåler

La oss nå koble alle delene sammen.

Først kobler vi BH1750 lyssensormodul. Den har bare 5 pins, men vi kobler til 4 av dem.

Koble til spenningssensoren

Vcc Pin går til Arduinos 5V

GND Pin går til Arduinos GND

SCL Pin går til Analog Pin 5 i Arduino Uno

SDA Pin går til Analog Pin 4 i Arduino Uno

Adressenål forblir uten tilkobling

Det neste trinnet er å koble til Nokia 5110 LCD -skjermen.

Koble til Nokia 5110 LCD -skjerm

RST går til Digital Pin 12 i Arduino

CE går til Digital Pin 11 på Arduino

DC går til Digital Pin 10 i Arduino

DIN går til Digital Pin 9 på Arduino

CLK går til Digital Pin 8 i Arduino

VCC går til Arduino 3.3V LIGHT går til Arduino GND (bakgrunnsbelysning på)

GND går til Arduino GND

Nå som vi har koblet alle delene sammen, er det bare å laste inn koden. En sprutskjerm vises i et par sekunder, og deretter kan vi begynne å måle lysintensitet i sanntid!

Trinn 5: Koden til prosjektet

Image
Image
Testing av prosjektet
Testing av prosjektet

Koden til prosjektet består av 3 filer.

splash.cui.c

ui.c

BH1750LightMeter.ino

Kode - sprutskjermbilde

I den første filen splash.c er det de binære verdiene til sprutskjermen som vises på Nokia 5110 LCD -skjermen når prosjektet starter opp. Se den vedlagte videoen jeg har forberedt for å se hvordan du laster din tilpassede grafikk til Arduino -prosjektet.

ui.c Code - The User Interface

I filen ui.c er det de binære verdiene til brukergrensesnittet som vises etter at prosjektet viser sprutskjermen. Se den vedlagte videoen jeg har forberedt for å se hvordan du laster din tilpassede grafikk til Arduino -prosjektet.

UVMeter.ino Code - Hovedprogram

Hovedkoden for prosjektet er veldig enkel. Vi må inkludere Nokia 5110 -biblioteket. Deretter deklarerer vi noen variabler. Vi initialiserer skjermen og vi viser sprutskjermen i 3 sekunder. Etter det skriver vi ut ui -ikonet en gang, og vi leser verdien fra sensoren 150 milisekunder. All magien skjer i loop -funksjonen:

void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Les sensorlyset = String (lux); // Konvertering til String stringLength = light.length (); // Vi trenger å kjenne strenglengden lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Skriv ut strengen på skjermen lcd.update (); forsinkelse (150); }

Jeg har lagt ved koden til denne instruksjonsboken. For å laste ned den nyeste versjonen av koden kan du besøke prosjektets webside:

Trinn 6: Testing av prosjektet

Testing av prosjektet
Testing av prosjektet
Testing av prosjektet
Testing av prosjektet

Nå som koden er lastet, kan vi teste lysmåleren innendørs og utendørs. Jeg tester det på en solrik vårdag her i Hellas. Resultatet hvis det er fantastisk. Vi kan måle lysintensiteten nøyaktig med et enkelt å bygge prosjekt.

Som du kan se på de vedlagte bildene, fungerer lysmåleren bra. Dette prosjektet er en god demonstrasjon av hva maskinvare og programvare med åpen kildekode er i stand til. I løpet av få minutter kan man bygge et så imponerende prosjekt! Dette prosjektet er ideelt for nybegynnere, og som jeg sa i begynnelsen, er dette prosjektet en flott læringsopplevelse. Jeg vil gjerne høre din mening om dette prosjektet. Synes du det er nyttig? Er det noen forbedringer som kan implementeres i dette prosjektet? Vennligst legg inn dine kommentarer eller ideer i kommentarfeltet nedenfor!

Anbefalt: