Talaan ng mga Nilalaman:

Arduino DIY Light Meter With BH1750 Sensor: 6 Hakbang (na may Mga Larawan)
Arduino DIY Light Meter With BH1750 Sensor: 6 Hakbang (na may Mga Larawan)

Video: Arduino DIY Light Meter With BH1750 Sensor: 6 Hakbang (na may Mga Larawan)

Video: Arduino DIY Light Meter With BH1750 Sensor: 6 Hakbang (na may Mga Larawan)
Video: Measure Light Lux or Intensity with BH1750L Light Sensor Module 2024, Nobyembre
Anonim
Image
Image
Arduino DIY Light Meter Na May Sensor ng BH1750
Arduino DIY Light Meter Na May Sensor ng BH1750

Sa Instructable na ito ipapakita ko sa iyo kung paano bumuo ng isang Light meter na may malaking display na Nokia 5110 LCD gamit ang Arduino.

Ang pagbuo ng isang Light Meter ay isang mahusay na karanasan sa pag-aaral. Kapag natapos mo ang pagbuo ng proyektong ito magkakaroon ka ng isang mas mahusay na pag-unawa sa kung paano gumagana ang magaan na metro at makikita mo sa aksyon kung gaano ka-malakas ang platform ng Arduino. Sa proyektong ito bilang isang batayan at nakuhang karanasan, madali kang makakagawa ng mas kumplikadong mga proyekto sa hinaharap. Maaari mong gamitin ang proyektong ito upang subaybayan ang mga kundisyon ng pag-iilaw ng iyong kapaligiran sa trabaho, ng iyong mga halaman at iba pa. Nang walang anumang karagdagang pagkaantala, magsimula tayo!

Hakbang 1: Kunin ang Lahat ng Mga Bahagi

Kunin ang Lahat ng Mga Bahagi
Kunin ang Lahat ng Mga Bahagi

Ang mga bahagi na kinakailangan upang maitayo ang proyektong ito ay ang mga ito:

  • Arduino Uno ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • Maliit na Breadboard ▶
  • Mga Wires ▶

Ang gastos ng proyekto ay humigit-kumulang na $ 12.

Hakbang 2: Ang BH1750 Light Sensor

Ang Sensor ng Banayad na BH1750
Ang Sensor ng Banayad na BH1750

Ang sensor ng ilaw ng BH1750 na ilaw ay mahusay at napakadaling gamitin na sensor. Ang breakout board na ito ay may isang built-in na 16 bit AD converter na maaaring direktang maglabas ng isang digital signal, hindi na kailangan ng mga kumplikadong kalkulasyon.

Ang board na ito ay mas mahusay kaysa sa isang LDR na output lamang ng isang boltahe. Gamit ang lakas ng BH1750 Light Sensor ay maaaring direktang masusukat ng luxmeter, nang hindi nangangailangan na gumawa ng mga kalkulasyon. Ang data na kung saan ay output ng sensor na ito ay direktang output sa Lux (Lx).

Gumagamit ang sensor ng interface ng I2C kaya napakadaling gamitin sa Arduino. Kailangan mo lamang ikonekta ang 2 wires.

Gayundin ang presyo ng sensor ay napakababa, ito ay humigit-kumulang na 2 $.

Maaari mo itong makuha dito: ▶

Hakbang 3: Nokia 5110 LCD

Image
Image
Pagbuo ng Light Meter
Pagbuo ng Light Meter

Ang Nokia 5110 ang aking paboritong display para sa aking Mga Proyekto ng Arduino.

Ang Nokia 5110 ay isang pangunahing graphic LCD screen na orihinal na inilaan para sa isang screen ng cell phone. Gumagamit ito ng PCD8544 controller na kung saan ay isang mababang kapangyarihan CMOS LCD controller / driver. Dahil dito ang pagpapakitang ito ay may kamangha-manghang pagkonsumo ng kuryente. Gumagamit lamang ito ng 0.4mA kapag ito ay nakabukas ngunit ang backlight ay hindi pinagana. Gumagamit ito ng mas mababa sa 0.06mA kapag nasa mode ng pagtulog! Iyon ang isa sa mga kadahilanan na ginawang paborito ko ang display na ito. Ang PCD8544 interface sa microcontrollers sa pamamagitan ng isang serial interface ng bus. Napakadali nitong gamitin ang display sa Arduino.

Kailangan mo lamang ikonekta ang 8 wires at gamitin ang sumusunod na library:

Ang kamangha-manghang silid-aklatan na ito ay binuo ni Henning Karlsen na nagbigay ng malaking pagsisikap upang matulungan ang pamayanan ng Arduino na sumulong sa kanyang mga aklatan.

Naghanda ako ng isang detalyadong tutorial kung paano gamitin ang display ng Nokia 5110 LCD sa Arduino. Inilakip ko ang video na iyon sa Instructable na ito, magbibigay ito ng maaaring kapaki-pakinabang na impormasyon tungkol sa display, kaya hinihimok ko kayo na panoorin itong mabuti.

Ang halaga ng display ay humigit-kumulang na $ 4.

Maaari mo itong makuha dito: ▶

Hakbang 4: Pagbuo ng Light Meter

Pagbuo ng Light Meter
Pagbuo ng Light Meter

Ikonekta natin ngayon ang lahat ng mga bahagi nang magkasama.

Sa una ay ikinonekta namin ang module ng ilaw ng BH1750 Light. Mayroon lamang itong 5 mga pin ngunit ikonekta namin ang 4 sa kanila.

Pagkonekta sa Voltage Sensor

Ang Vcc Pin ay pupunta sa 5V ng Arduino

Ang GND Pin ay pupunta sa GND ng Arduino

Ang SCL Pin ay pupunta sa Analog Pin 5 ng Arduino Uno

Ang SDA Pin ay pupunta sa Analog Pin 4 ng Arduino Uno

Ang pin ng address ay mananatiling hindi konektado

Ang susunod na hakbang ay upang ikonekta ang Nokia 5110 LCD display.

Pagkonekta sa Nokia 5110 LCD Display

Ang RST ay pupunta sa Digital Pin 12 ng Arduino

Ang CE ay pupunta sa Digital Pin 11 ng Arduino

Ang DC ay pupunta sa Digital Pin 10 ng Arduino

Ang DIN ay pupunta sa Digital Pin 9 ng Arduino

Ang CLK ay pupunta sa Digital Pin 8 ng Arduino

Ang VCC ay pupunta sa Arduino 3.3V LIGHT ay pupunta sa Arduino GND (backlight)

Ang GND ay pupunta sa Arduino GND

Ngayon na ikinonekta namin ang lahat ng mga bahagi nang magkasama, ang kailangan lamang gawin ay upang mai-load ang code. Ang isang Splash screen ay ipinapakita sa loob ng ilang segundo at pagkatapos ay maaari naming simulan ang pagsukat ng Light Intensity sa Real Time!

Hakbang 5: Ang Code ng Project

Image
Image
Pagsubok sa Proyekto
Pagsubok sa Proyekto

Ang code ng proyekto ay binubuo ng 3 mga file.

splash.cui.c

ui.c

BH1750LightMeter.ino

Code - Larawan ng Splash Screen

Sa unang file splash.c, may mga binary halaga ng splash screen na ipinapakita sa display ng Nokia 5110 LCD kapag nag-boot ang proyekto. Mangyaring panoorin ang naka-attach na video na inihanda ko upang makita kung paano mai-load ang iyong pasadyang graphics sa iyong Arduino Project.

ui.c Code - Ang User Interface

Sa file ui.c, mayroong mga binary halaga ng interface ng gumagamit na lilitaw pagkatapos ipakita ng proyekto ang splash screen. Mangyaring panoorin ang naka-attach na video na inihanda ko upang makita kung paano mai-load ang iyong pasadyang graphics sa iyong Arduino Project.

UVMeter.ino Code - Pangunahing Program

Ang pangunahing code ng proyekto ay napaka-simple. Kailangan naming isama ang Nokia 5110 library. Susunod na idineklara namin ang ilang mga variable. Pinasimuno namin ang display at ipinapakita namin ang splash screen sa loob ng 3 segundo. Pagkatapos nito, nai-print namin ang icon ng ui nang isang beses, at binasa namin ang halaga mula sa sensor na 150 milisseconds. Ang lahat ng mahika ay nangyayari sa pagpapaandar ng loop:

void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Basahin ang ilaw ng sensor = String (lux); // Convertion to String stringLength = light.length (); // Kailangan nating malaman ang String Length lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (haba ng string); // Print the String on the Display lcd.update (); pagkaantala (150); }

Inilakip ko ang code sa Instructable na ito. Upang mai-download ang pinakabagong bersyon ng code maaari mong bisitahin ang webpage ng proyekto:

Hakbang 6: Pagsubok sa Proyekto

Pagsubok sa Proyekto
Pagsubok sa Proyekto
Pagsubok sa Proyekto
Pagsubok sa Proyekto

Ngayon na na-load na ang code maaari naming subukan ang Light Meter sa loob ng bahay at sa labas. Sinubukan ko ito sa isang maaraw na araw ng tagsibol dito sa Greece. Ang resulta kung kamangha-mangha. Maaari naming tumpak na masukat ang ilaw intensity na may madaling bumuo ng proyekto.

Tulad ng nakikita mo sa mga nakalakip na larawan, gumagana nang maayos ang Light Meter. Ang proyektong ito ay isang mahusay na pagpapakita ng kung ano ang may kakayahang buksan ang hardware at software. Sa loob ng ilang minuto ang isa ay maaaring bumuo ng tulad ng isang kahanga-hangang proyekto! Ang proyektong ito ay mainam para sa mga nagsisimula at tulad ng sinabi ko sa simula, ang proyektong ito ay isang mahusay na karanasan sa pag-aaral. Gusto kong marinig ang iyong opinyon sa proyektong ito. Nahahanap mo ba itong kapaki-pakinabang? Mayroon bang mga pagpapabuti na maaaring ipatupad sa proyektong ito? Mangyaring i-post ang iyong mga komento o ideya sa seksyon ng mga komento sa ibaba!

Inirerekumendang: