Cuprins:

Contor de lumină DIY Arduino cu senzor BH1750: 6 pași (cu imagini)
Contor de lumină DIY Arduino cu senzor BH1750: 6 pași (cu imagini)

Video: Contor de lumină DIY Arduino cu senzor BH1750: 6 pași (cu imagini)

Video: Contor de lumină DIY Arduino cu senzor BH1750: 6 pași (cu imagini)
Video: ARDUINO UNO PROJECT:Ambient Light Sensor using Photoresistor 2024, Noiembrie
Anonim
Image
Image
Contor de lumină DIY Arduino cu senzor BH1750
Contor de lumină DIY Arduino cu senzor BH1750

În acest Instructable vă voi arăta cum să construiți un contor de lumină cu un ecran LCD mare Nokia 5110 folosind Arduino.

Construirea unui contor de lumină este o experiență excelentă de învățare. Când veți termina construirea acestui proiect, veți avea o mai bună înțelegere a modului în care funcționează contoarele de lumină și veți vedea în acțiune cât de puternică poate fi platforma Arduino. Având acest proiect ca bază și experiența acumulată, veți putea construi cu ușurință proiecte mai complexe în viitor. Puteți utiliza acest proiect pentru a monitoriza condițiile de iluminare din mediul dvs. de lucru, a plantelor dvs. și așa mai departe. Fără alte întârzieri, să începem!

Pasul 1: obțineți toate părțile

Obțineți toate piesele
Obțineți toate piesele

Părțile necesare pentru a construi acest proiect sunt următoarele:

  • Arduino Uno ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • Small Breadboard ▶
  • Sârme ▶

Costul proiectului este de aproximativ 12 USD.

Pasul 2: senzorul de lumină BH1750

Senzorul de lumină BH1750
Senzorul de lumină BH1750

Senzorul de intensitate a luminii BH1750 este un senzor excelent și foarte ușor de utilizat. Această placă de ieșire vine cu un convertor AD de 16 biți încorporat care poate emite direct un semnal digital, nu este nevoie de calcule complicate.

Această placă este mai bună decât un LDR care scoate doar o tensiune. Cu ajutorul senzorului de lumină BH1750, intensitatea senzorului poate fi măsurată direct de luxmetru, fără a fi nevoie să faceți calcule. Datele transmise de acest senzor sunt transmise direct în Lux (Lx).

Senzorul folosește interfața I2C, astfel încât este foarte ușor de utilizat cu Arduino. Trebuie doar să conectați 2 fire.

De asemenea, prețul senzorului este foarte mic, este în jur de 2 $.

O puteți obține aici: ▶

Pasul 3: LCD Nokia 5110

Image
Image
Construirea contorului de lumină
Construirea contorului de lumină

Nokia 5110 este ecranul meu preferat pentru proiectele mele Arduino.

Nokia 5110 este un ecran LCD grafic de bază care a fost inițial destinat ca ecran de telefon mobil. Folosește controlerul PCD8544, care este un controler / driver CMOS LCD de mică putere. Din această cauză, acest afișaj are un consum de energie impresionant. Folosește doar 0,4 mA când este pornit, dar iluminarea de fundal este dezactivată. Folosește mai puțin de 0,06mA în modul de repaus! Acesta este unul dintre motivele care fac din acest afiș preferatul meu. PCD8544 se interfață la microcontrolere printr-o interfață de magistrală serială. Acest lucru face ca afișajul să fie foarte ușor de utilizat cu Arduino.

Trebuie doar să conectați 8 fire și să utilizați următoarea bibliotecă:

Această impresionantă bibliotecă este dezvoltată de Henning Karlsen, care a depus un efort uriaș pentru a ajuta comunitatea Arduino să avanseze cu bibliotecile sale.

Am pregătit un tutorial detaliat despre modul de utilizare a ecranului LCD Nokia 5110 cu Arduino. Am atașat acel videoclip în acest instructabil, acesta va oferi informații utile despre afișaj, așa că vă încurajez să îl urmăriți cu atenție.

Costul afișajului este de aproximativ 4 USD.

O puteți obține aici: ▶

Pasul 4: Construirea contorului de lumină

Construirea contorului de lumină
Construirea contorului de lumină

Să conectăm acum toate părțile împreună.

La început conectăm modulul senzorului de lumină BH1750. Are doar 5 pini, dar vom conecta 4 dintre ei.

Conectarea senzorului de tensiune

Pinul Vcc merge la 5V al lui Arduino

GND Pin merge la GND-ul lui Arduino

Pinul SCL merge la pinul analogic 5 al Arduino Uno

Pinul SDA merge la pinul analogic 4 al Arduino Uno

PIN-ul adresei rămâne neconectat

Următorul pas este conectarea ecranului LCD Nokia 5110.

Conectarea ecranului LCD Nokia 5110

RST merge la pinul digital 12 al Arduino

CE merge la pinul digital 11 al Arduino

DC merge la pinul digital 10 al Arduino

DIN merge la pinul digital 9 al Arduino

CLK merge la pinul digital 8 al Arduino

VCC merge la Arduino 3.3V LIGHT merge la Arduino GND (iluminare de fundal activată)

GND merge la Arduino GND

Acum că am conectat toate părțile împreună, tot ce trebuie să facem este să încărcăm codul. Se afișează un ecran Splash pentru câteva secunde și apoi putem începe să măsurăm intensitatea luminii în timp real!

Pasul 5: Codul proiectului

Image
Image
Testarea proiectului
Testarea proiectului

Codul proiectului este format din 3 fișiere.

splash.cui.c

ui.c

BH1750LightMeter.ino

Cod - Imagine ecran Splash

În primul fișier splash.c, există valorile binare ale ecranului splash care este afișat pe ecranul LCD Nokia 5110 la pornirea proiectului. Vă rugăm să urmăriți videoclipul atașat pe care l-am pregătit pentru a vedea cum să încărcați grafica personalizată în Proiectul dvs. Arduino.

ui.c Code - Interfața cu utilizatorul

În fișierul ui.c, există valorile binare ale interfeței utilizator care apare după ce proiectul arată ecranul de pornire. Vă rugăm să urmăriți videoclipul atașat pe care l-am pregătit pentru a vedea cum să încărcați grafica personalizată în Proiectul dvs. Arduino.

Codul UVMeter.ino - Programul principal

Codul principal al proiectului este foarte simplu. Trebuie să includem biblioteca Nokia 5110. În continuare declarăm câteva variabile. Inițializăm afișajul și afișăm splash screen timp de 3 secunde. După aceea, imprimăm o singură dată pictograma ui și citim valoarea din senzor 150 milisecunde. Toată magia se întâmplă în funcția de buclă:

bucla void () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Citeste lumina senzorului = String (lux); // Conversie la String stringLength = light.length (); // Trebuie să cunoaștem lungimea șirului lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Imprimați șirul pe ecran lcd.update (); întârziere (150); }

Am atașat codul la acest instructabil. Pentru a descărca cea mai recentă versiune a codului, puteți vizita pagina web a proiectului:

Pasul 6: Testarea proiectului

Testarea proiectului
Testarea proiectului
Testarea proiectului
Testarea proiectului

Acum, când codul este încărcat, putem testa Light Meter în interior și în exterior. Îl testez într-o zi însorită de primăvară aici, în Grecia. Rezultatul este fantastic. Putem măsura cu precizie intensitatea luminii cu un proiect ușor de construit.

După cum puteți vedea în fotografiile atașate, Light Meter funcționează bine. Acest proiect este o demonstrație excelentă a ceea ce este capabil de hardware și software open source. În câteva minute se poate construi un proiect atât de impresionant! Acest proiect este ideal pentru începători și așa cum am spus la început, acest proiect este o experiență excelentă de învățare. Mi-ar plăcea să vă aud părerea despre acest proiect. Vi se pare util? Există îmbunătățiri care pot fi puse în aplicare la acest proiect? Vă rugăm să postați comentariile sau ideile dvs. în secțiunea de comentarii de mai jos!

Recomandat: