Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Š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
Š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 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“
„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į
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
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ą
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!