Sisukord:

Arduino menüü Nokia 5110 LCD -ekraanil pöörleva kodeerija abil: 6 sammu (koos piltidega)
Arduino menüü Nokia 5110 LCD -ekraanil pöörleva kodeerija abil: 6 sammu (koos piltidega)

Video: Arduino menüü Nokia 5110 LCD -ekraanil pöörleva kodeerija abil: 6 sammu (koos piltidega)

Video: Arduino menüü Nokia 5110 LCD -ekraanil pöörleva kodeerija abil: 6 sammu (koos piltidega)
Video: LCD экран Nokia 5110 для Arduino 2024, November
Anonim
Image
Image
Arduino menüü Nokia 5110 LCD -ekraanil, kasutades pöörlevat kodeerijat
Arduino menüü Nokia 5110 LCD -ekraanil, kasutades pöörlevat kodeerijat

Kallid sõbrad, tere tulemast teise õpetuse juurde! Selles videos õpime, kuidas koostada populaarse Nokia 5110 LCD -ekraani jaoks oma menüü, et muuta meie projektid kasutajasõbralikumaks ja võimekamaks. Alustame!

See on projekt, mille kavatseme ehitada. Ekraanile ilmub lihtne menüü ja pöörleva kodeerija abil saan navigeerida üles või alla ja valida pöörleva kodeerija nuppu vajutades menüüelemendi. Pöörleva kodeerija keskmise nupu vajutamisel ilmub uus ekraan ja saame muutuja väärtust muuta. Kui vajutame korduvalt pöörleva kodeerija nuppu, läheme tagasi peamenüü ekraanile. Menüüs on 6 üksust ja me saame menüüd alla või üles kerida ja ekraanil olevad üksused muutuvad vastavalt. Vaadake lisatud videot, et näha täpselt, kuidas see menüü töötab. Muidugi saate seda soovi korral muuta, et luua oma keerukamaid menüüsid.

Vaatame nüüd, kuidas seda projekti üles ehitada.

Samm: hankige kõik osad

Hankige kõik osad
Hankige kõik osad

Selle projekti loomiseks vajalikud osad on järgmised:

  • Arduino Uno ▶
  • Nokia 5110 LCD -ekraan ▶
  • Pöörlev kodeerija ▶
  • Väike leivalaud ▶
  • Mõned juhtmed ▶
  • Toitepank ▶

Projekti maksumus on väga madal, see on alla 10 dollari. Allpool oleva video kirjeldusest leiate lingid kõikide osade jaoks, mida ma kasutan.

Samm: Nokia 5110 LCD -ekraan

Image
Image
Projekti ehitamine
Projekti ehitamine

Nokia 5110 on minu Arduino projektide lemmikekraan.

Nokia 5110 on põhiline graafiline LCD -ekraan, mis oli algselt mõeldud mobiiltelefoni ekraaniks. See kasutab PCD8544 kontrollerit, mis on väikese võimsusega CMOS LCD kontroller/draiver. Seetõttu on sellel ekraanil muljetavaldav energiatarve. Kui see on sisse lülitatud, kasutab see ainult 0,4 mA, kuid taustvalgus on välja lülitatud. See kasutab unerežiimis vähem kui 0,06 mA! See on üks põhjustest, mis muudab selle väljapaneku minu lemmikuks. PCD8544 liidestub mikrokontrolleritega jadaliidese kaudu. See muudab ekraani Arduinoga väga lihtsaks. Peate ühendama ainult 8 juhet.

Olen koostanud üksikasjaliku õpetuse, kuidas kasutada Nokia 5110 LCD -ekraani koos Arduinoga. Lisasin selle video sellesse juhendisse, see annab kuvari kohta kasulikku teavet, seega soovitan teil seda hoolikalt vaadata. Ekraani hind on umbes 4 dollarit.

Selle saate siit: ▶

3. samm: pöörlev kodeerija

Image
Image

Pöörlemiskooder, mida nimetatakse ka võllikooderiks, on elektromehaaniline seade, mis muudab võlli või telje nurgaasendi või liikumise analoog- või digitaalkoodiks. Pöörlevaid kodeerijaid kasutatakse paljudes rakendustes, mis nõuavad täpset võlli piiramatut pöörlemist, sealhulgas tööstuslikud juhtimisseadmed, robootika, eriotstarbelised fotoobjektiivid, arvuti sisendseadmed (näiteks optomehaanilised hiired ja juhtkuulid), kontrollitud pingereomeetrid ja pöörlevad radariplatvormid.

Pöörlev kodeerija, mida me selles projektis kasutama hakkame, on väga odav kodeerija. Sellel on ka sisseehitatud nupp ja selle toimimiseks peame ühendama ainult 5 juhet. Olen koostanud üksikasjaliku õpetuse pöörleva kodeerija kasutamise kohta. Selle video leiate siit.

Selle pöörleva kodeerija hind on väga madal. See maksab umbes 1,5 dollarit.

Selle saate siit ▶

4. samm: projekti koostamine

Image
Image
Projekti ehitamine
Projekti ehitamine
Projekti ehitamine
Projekti ehitamine

Nüüd ühendame kõik osad kokku. Kui te pole enne selle projekti ehitamist, kui te pole varem pöörlevat kodeerijat kasutanud, soovitan teil vaadata õpetust, mille olen koostanud pöördkodeerijate kohta. See aitab teil mõista, kuidas pöördkodeerijad töötavad, ja saate nendega kogemusi. See video on lisatud siia.

Asetasin ekraani sellisele väikesele leivalauale. Esmalt ühendame ekraani. Ekraani esimene tihvt, mis on lähtestatud, läheb Arduino Uno digitaalsele nööpnõelale 3, teine tihvt läheb digitaalsele tihvtile 4, kolmas tihvt läheb digitaalsele tihvtile 5, neljas tihvt digitaalsele tihvtile 11 ja viies tihvt digitaalsele tihvt 13. Järgmine tihvt on Vcc. Me ühendame Vcc leivalaua positiivse rööpaga ja leivaplaadi positiivse rööpa Arduino 3,3 V väljundiga. Järgmine tihvt on ekraani taustvalgus. Kuna me tahame seda tarkvara kaudu juhtida, ühendame selle digitaalse tihvtiga 7. Viimane tihvt on GND. Me ühendame GND leivaplaadi negatiivse rööpaga ja leiva negatiivse rööpa Arduino GND -ga.

Nüüd ei ole meil muud teha kui ühendada pöörlev kodeerija. Esimene tihvt on GND ja me ühendame selle leivaplaadi negatiivse rööpaga. Järgmine tihvt on Vcc ja me ühendame selle leivalaua positiivse rööpaga. Järgmine tihvt on SW ja me ühendame selle analoogpinnaga 2. Järgmine tihvt kannab nime DT ja me ühendame selle analoogpinnaga 1. Lõpuks on tihvt CLK ühendatud analoogpinnaga 0. Selle projekti skemaatilise skeemi leiate aadressilt video kirjeldus allpool.

Nüüd oleme valmis projekti käivitama. Nagu näete, töötab projekt hästi ja menüü töötab ootuspäraselt! Suurepärane, vaatame nüüd projekti tarkvara.

Samm: projekti kood

Projekti kood
Projekti kood

Selles projektis kasutame 4 raamatukogu. Ekraani jaoks kasutame kahte raamatukogu ja pöördkodeerija jaoks kahte raamatukogu.

  1. Adafruit GFX:
  2. Nokia 5110:
  3. Kodeerimisteek:
  4. TimerOne raamatukogu:

Kõigepealt vaatame funktsiooni drawMenu. See funktsioon vastutab menüü joonistamise eest ekraanile. Seda funktsiooni kutsutakse iga paari millisekundi järel, nii et kui menüüs tehakse muudatusi, vastutab see funktsioon ekraanil oleva menüü uuendamise eest.

int menüü üksus = 1; int raam = 1; int leht = 1; int lastMenuItem = 1;

Samuti on 3 väga olulist globaalset muutujat, muutujate leht, muutuja menüüpunkt ja muutuja raam. Muutuv leht mäletab, milline kasutajaliidese ekraan ekraanil kuvatakse. Seega, kui lehe muutuja on 1, oleme kasutajaliidese põhiekraanil ja kui muutuja on 2, oleme teisese kasutajaliidese ekraanil, kus määrame muutujale väärtuse. Menüüelement mäletab valitud menüüelementi. Niisiis, kui selle väärtus on 1, on valitud esimene menüüelement, seega peab funktsioon drawMenu joonistama selle menüüpunkti mustade valgete tähtedega. Kui menüüelement on 2, valitakse teine menüüelement ja nii edasi. Raami muutuja mäletab, milline menüüosa kuvatakse ekraanil. Kuna meie loodud menüü sisaldab 6 üksust ja neid saab korraga kuvada ainult 3, peame teadma, millised üksused ekraanil kuvatakse. Raami muutuja ütleb meile täpselt seda. Kui kaadrimuutuja väärtus on 1, kuvame kolm esimest menüüelementi, kui see on 2, siis üksusi 2, 3, 4 ja nii edasi.

Proovisin muuta koodi võimalikult lihtsaks, nii et olen loonud mõned globaalsed muutujad, mis sisaldavad menüüelementide nimesid. Nii saate hõlpsalt oma menüüsid luua ilma koodist otsimata.

String menuItem1 = "Kontrast"; String menuItem2 = "Helitugevus"; String menuItem3 = "Keel"; String menuItem4 = "Raskus"; String menuItem5 = "Valgus: SEES"; String menuItem6 = "Lähtesta";

loogiline taustvalgus = tõsi;

int kontrast = 60; int maht = 50;

Stringikeel [3] = {"EN", "ES", "EL"};

int valitudKeel = 0;

Stringi raskus [2] = {"EASY", "HARD"};

int valitudKeritus = 0;

Alguses lähtestame kõik koodis vajalikud globaalsed muutujad. Järgmisena lähtestame ekraani. Tsükli funktsioonis kutsume algul funktsiooni drawMenu, et joonistada ekraanile menüü. Seejärel loeme väärtuse Rotary encoderist ja kontrollime, kas nuppu vajutatakse. Näiteks kui oleme kasutajaliidese põhiekraanil ja esimene menüüelement on valitud, kui pöörleva kodeerija väärtus on suurenenud, suureneb muutuja menuitem ja järgmises ahelas joonistab funktsioon drawMenu teise menüüelemendi valitud kujul. Kui me nüüd vajutame pöörleva kodeerija nuppu, liigume teisele lehele, kus määrame muutuja väärtuse. Pöörleva kodeerija abil saame muutuja väärtust suurendada või vähendada. Kui vajutame nuppu, liigume tagasi peamenüü lehele ja lehe muutuja väheneb.

See on selle menüü põhiidee. Kõigi menüüelementide ja lehtede puhul järgime sama protseduuri. Kood on keeruline, see on üle 400 rea pikk. See tundub keeruline, kuid kui proovite seda ise, saate sellest kergemini aru ja saate seda muuta, laiendada ja kasutada oma projektides. Nagu alati, leiate siit lisatud koodi.

6. samm: projekti testimine

Projekti testimine
Projekti testimine

Kui laadime koodi, näeme, et projekt töötab ootuspäraselt. Võlli abil saame menüüs üles ja alla liikuda ning pöörleva kodeerija nuppu vajutades saate valida mis tahes menüüelemendi. Kui lahe see on!

Nüüd, kui me teame, kuidas koostada Nokia 5110 LCD -ekraanide menüüsid, saame oma projektidele lisada rohkem funktsioone ja muuta need kasutajasõbralikumaks. Seda täna koostatud lihtsat menüüd saab siiski täiustada. Võiksime kasutada katkestusi selle asemel, et nuppude olekut kogu aeg kontrollida. Nii saame vähendada projekti energiatarvet ja muuta kood puhtamaks. Kohe valmistan ette katkestuste kohta video, nii et jääge lainel. Tahaksin kuulda teie arvamust selle menüüprojekti kohta. Kas leiate, et see on kasulik ja kas kavatsete menüüd kasutada mõnes oma projektis. Palun postitage oma mõtted ja ideed allpool, aitäh!

Soovitan: