Turinys:

„Arduino“pasidaryk pats šviesos matuoklis su BH1750 jutikliu: 6 žingsniai (su nuotraukomis)
„Arduino“pasidaryk pats šviesos matuoklis su BH1750 jutikliu: 6 žingsniai (su nuotraukomis)

Video: „Arduino“pasidaryk pats šviesos matuoklis su BH1750 jutikliu: 6 žingsniai (su nuotraukomis)

Video: „Arduino“pasidaryk pats šviesos matuoklis su BH1750 jutikliu: 6 žingsniai (su nuotraukomis)
Video: DIY Light Meter with Raspberry Pi, BH1750 I2C sensor, Python and Linux #shorts 2024, Lapkritis
Anonim
Image
Image
„Arduino DIY“šviesos matuoklis su BH1750 jutikliu
„Arduino DIY“šviesos matuoklis su BH1750 jutikliu

Šioje instrukcijoje aš jums parodysiu, kaip naudojant „Arduino“sukurti šviesos matuoklį su dideliu „Nokia 5110“LCD ekranu.

Šviesos matuoklio kūrimas yra puiki mokymosi patirtis. Baigę kurti šį projektą, jūs geriau suprasite, kaip veikia šviesos skaitikliai, ir pamatysite, kaip galinga gali būti „Arduino“platforma. Turėdami šį projektą kaip pagrindą ir įgytą patirtį, ateityje galėsite lengvai kurti sudėtingesnius projektus. Šį projektą galite naudoti norėdami stebėti savo darbo aplinkos, augalų ir pan. Apšvietimo sąlygas. Nedelsdami pradėkime!

1 žingsnis: Gaukite visas dalis

Gaukite visas dalis
Gaukite visas dalis

Šiam projektui sukurti reikalingos šios dalys:

  • „Arduino Uno“▶
  • BH1750 ▶
  • „Nokia 5110“LCD ▶
  • Maža duonos lenta ▶
  • Laidai ▶

Projekto kaina yra apie 12 USD.

2 žingsnis: BH1750 šviesos jutiklis

BH1750 šviesos jutiklis
BH1750 šviesos jutiklis

BH1750 šviesos intensyvumo jutiklis yra puikus ir labai paprastas naudoti. Šioje pertraukimo plokštėje yra įmontuotas 16 bitų AD keitiklis, kuris gali tiesiogiai išvesti skaitmeninį signalą, todėl nereikia atlikti sudėtingų skaičiavimų.

Ši plokštė yra geresnė už LDR, kuri išleidžia tik įtampą. Naudojant BH1750 šviesos jutiklį, intensyvumą galima tiesiogiai išmatuoti liuksmetru, nereikia atlikti skaičiavimų. Šio jutiklio išvesti duomenys yra tiesiogiai išvedami liuksais (Lx).

Jutiklis naudoja I2C sąsają, todėl jį labai lengva naudoti su „Arduino“. Jums reikia prijungti tik 2 laidus.

Be to, jutiklio kaina yra labai maža, ji yra apie 2 USD.

Ją galite gauti čia: ▶

3 žingsnis: „Nokia 5110 LCD“

Image
Image
Šviesos matuoklio kūrimas
Šviesos matuoklio kūrimas

„Nokia 5110“yra mano mėgstamiausias „Arduino“projektų ekranas.

„Nokia 5110“yra pagrindinis grafinis LCD ekranas, kuris iš pradžių buvo skirtas mobiliojo telefono ekranui. Jis naudoja PCD8544 valdiklį, kuris yra mažos galios CMOS LCD valdiklis/tvarkyklė. Dėl šios priežasties šis ekranas turi įspūdingą energijos suvartojimą. Įjungus jis naudoja tik 0,4 mA, tačiau foninis apšvietimas yra išjungtas. Miego režimu jis sunaudoja mažiau nei 0,06 mA! Tai yra viena iš priežasčių, dėl kurių šis ekranas yra mano mėgstamiausias. PCD8544 jungiasi prie mikrovaldiklių per nuosekliosios magistralės sąsają. Dėl to ekraną labai lengva naudoti su „Arduino“.

Jums tereikia prijungti 8 laidus ir naudotis šia biblioteka:

Šią įspūdingą biblioteką sukūrė Henningas Karlsenas, kuris labai stengėsi padėti Arduino bendruomenei judėti į priekį su savo bibliotekomis.

Aš paruošiau išsamią pamoką, kaip naudoti „Nokia 5110“LCD ekraną su „Arduino“. Aš pridėjau tą vaizdo įrašą prie šios instrukcijos, jis suteiks naudingos informacijos apie ekraną, todėl raginu jį atidžiai žiūrėti.

Ekrano kaina yra apie 4 USD.

Ją galite gauti čia: ▶

4 žingsnis: sukurkite šviesos matuoklį

Šviesos matuoklio kūrimas
Šviesos matuoklio kūrimas

Dabar sujungsime visas dalis.

Iš pradžių prijungiame šviesos jutiklio modulį BH1750. Jis turi tik 5 kaiščius, bet mes sujungsime 4 iš jų.

Įtampos jutiklio prijungimas

„Vcc Pin“eina į „Arduino“5V

GND Pin eina į Arduino GND

SCL kaištis patenka į „Arduino Uno“5 analoginį kaištį

SDA kaištis patenka į „Arduino Uno“4 analoginį kaištį

Adreso kaištis lieka neprijungtas

Kitas žingsnis - prijungti „Nokia 5110“LCD ekraną.

„Nokia 5110“LCD ekrano prijungimas

RST eina į „Arduino“skaitmeninį kaištį 12

CE eina į „Arduino“skaitmeninį kaištį 11

DC eina į „Arduino“skaitmeninį kaištį 10

DIN eina į „Arduino“skaitmeninį kaištį 9

CLK eina į „Arduino“skaitmeninį kaištį 8

VCC eina į „Arduino“3.3V LIGHT eina į „Arduino GND“(apšvietimas įjungtas)

GND eina į Arduino GND

Dabar, kai sujungėme visas dalis, viskas, ką turime padaryti, yra įkelti kodą. Keletą sekundžių rodomas „Splash“ekranas, o tada galime pradėti matuoti šviesos intensyvumą realiuoju laiku!

5 žingsnis: projekto kodas

Image
Image
Projekto testavimas
Projekto testavimas

Projekto kodą sudaro 3 failai.

purslai.cui.c

ui.c

BH1750LightMeter.ino

Kodas - ekrano vaizdas

Pirmajame faile splash.c yra pradinio projekto dvejetainės vertės, rodomos „Nokia 5110“LCD ekrane, kai projektas paleidžiamas. Žiūrėkite pridėtą vaizdo įrašą, kurį paruošiau, kad pamatytumėte, kaip įkelti savo pasirinktinę grafiką į „Arduino“projektą.

ui.c kodas - vartotojo sąsaja

Faile „ui.c“yra dvejetainės vartotojo sąsajos vertės, kurios atsiranda po to, kai projektas parodo pradinį ekraną. Žiūrėkite pridėtą vaizdo įrašą, kurį paruošiau, kad pamatytumėte, kaip įkelti savo pasirinktinę grafiką į „Arduino“projektą.

UVMeter.ino kodas - pagrindinė programa

Pagrindinis projekto kodas yra labai paprastas. Turime įtraukti „Nokia 5110“biblioteką. Toliau deklaruojame kai kuriuos kintamuosius. Mes inicijuojame ekraną ir 3 sekundes rodome pradinį ekraną. Po to vieną kartą atspausdiname ui piktogramą ir 150 milisekundžių skaitome jutiklio vertę. Visa magija vyksta ciklo funkcijoje:

void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // Skaityti jutiklio lemputę = String (lux); // Konvertavimas į eilutę stringLength = light.length (); // Turime žinoti eilutės ilgį lcd.clrScr (); lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // Spausdinti eilutę ekrane lcd.update (); vėlavimas (150); }

Pridėjau kodą prie šios instrukcijos. Norėdami atsisiųsti naujausią kodo versiją, apsilankykite projekto svetainėje:

6 žingsnis: išbandykite projektą

Projekto testavimas
Projekto testavimas
Projekto testavimas
Projekto testavimas

Dabar, kai kodas yra įkeltas, galime išbandyti šviesos matuoklį patalpose ir lauke. Aš tai išbandau saulėtą pavasario dieną čia, Graikijoje. Rezultatas, jei fantastinis. Mes galime tiksliai išmatuoti šviesos intensyvumą su lengvai pagaminamu projektu.

Kaip matote pridėtose nuotraukose, šviesos matuoklis veikia gerai. Šis projektas puikiai parodo, ką sugeba atvirojo kodo aparatinė ir programinė įranga. Per kelias minutes galite sukurti tokį įspūdingą projektą! Šis projektas idealiai tinka pradedantiesiems ir, kaip sakiau pradžioje, šis projektas yra puiki mokymosi patirtis. Norėčiau išgirsti jūsų nuomonę apie šį projektą. Ar manote, kad tai naudinga? Ar yra kokių nors šio projekto patobulinimų? Prašome paskelbti savo komentarus ar idėjas žemiau esančiame komentarų skyriuje!

Rekomenduojamas: