Kazalo:
- Korak: Pridobite vse dele
- Korak: LCD zaslon Nokia 5110
- Korak: Rotacijski dajalnik
- 4. korak: Izdelava projekta
- 5. korak: Koda projekta
- 6. korak: Testiranje projekta
Video: Meni Arduino na LCD zaslonu Nokia 5110 z rotacijskim kodirnikom: 6 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Dragi prijatelji, dobrodošli v drugi vadnici! V tem videoposnetku se bomo naučili, kako zgraditi lasten meni za priljubljeni LCD zaslon Nokia 5110, da bodo naši projekti uporabniku prijaznejši in zmogljivejši. Začnimo!
To je projekt, ki ga bomo gradili. Na zaslonu se prikaže preprost meni in s pomočjo vrtljivega dajalnika se lahko pomikam navzgor ali navzdol in s pritiskom na gumb vrtljivega dajalnika izberem element menija. Ko pritisnete srednji gumb vrtljivega dajalnika, se prikaže drug zaslon in vrednost spremenljivke lahko spremenimo. Če še enkrat pritisnemo gumb vrtljivega dajalnika, se vrnemo na zaslon glavnega menija. Meni vsebuje 6 elementov, po meniju pa se lahko pomikamo navzdol ali navzgor in postavke na zaslonu se bodo ustrezno spremenile. Kako natančno deluje ta meni, si oglejte v priloženem videu. Seveda ga lahko po želji spremenite in sestavite svoje bolj zapletene menije.
Zdaj pa poglejmo, kako zgraditi ta projekt.
Korak: Pridobite vse dele
Za izdelavo tega projekta so potrebni naslednji deli:
- Arduino Uno ▶
- LCD zaslon Nokia 5110 ▶
- Rotacijski dajalnik ▶
- Majhna plošča ▶
- Nekatere žice ▶
- Power Bank ▶
Stroški projekta so zelo nizki, znašajo manj kot 10 USD. Povezave do vseh delov, ki jih uporabljam, najdete v spodnjem opisu videoposnetka.
Korak: LCD zaslon Nokia 5110
Nokia 5110 je moj najljubši zaslon za moje Arduino projekte.
Nokia 5110 je osnovni grafični LCD zaslon, ki je bil prvotno namenjen kot zaslon mobilnega telefona. Uporablja krmilnik PCD8544, ki je krmilnik/gonilnik CMOS LCD z nizko porabo energije. Zaradi tega ima ta zaslon impresivno porabo energije. Ko je vklopljen, uporablja le 0,4 mA, vendar je osvetlitev ozadja onemogočena. V načinu mirovanja porabi manj kot 0,06 mA! To je eden od razlogov, zaradi katerih je ta zaslon moj najljubši. PCD8544 se povezuje z mikrokrmilniki prek vmesnika serijskega vodila. Zaradi tega je zaslon zelo enostaven za uporabo z Arduinom. Povezati morate le 8 žic.
Pripravil sem podroben vodič o uporabi LCD zaslona Nokia 5110 z Arduinom. Ta videoposnetek sem priložil temu priročniku, ki bo morda vseboval koristne informacije o zaslonu, zato vas vabim, da si ga pozorno ogledate. Cena zaslona je okoli 4 USD.
Dobite ga lahko tukaj: ▶
Korak: Rotacijski dajalnik
Rotacijski dajalnik, imenovan tudi dajalnik gredi, je elektromehanska naprava, ki pretvori kotni položaj ali gibanje gredi ali osi v analogno ali digitalno kodo. Rotacijski dajalniki se uporabljajo v številnih aplikacijah, ki zahtevajo natančno neomejeno vrtenje gredi, vključno z industrijskim krmiljenjem, robotiko, fotografskimi objektivi za posebne namene, računalniškimi vhodnimi napravami (kot so optomehanske miši in sledilne krogle), nadzorovanimi merilniki napetosti in vrtljivimi radarskimi platformami.
Rotacijski dajalnik, ki ga bomo uporabili v tem projektu, je zelo poceni kodirnik. Vgrajen ima tudi gumb, da lahko deluje, moramo povezati le 5 žic. Pripravil sem podroben vodič o uporabi rotacijskega dajalnika. Ta videoposnetek najdete tukaj.
Stroški tega rotacijskega dajalnika so zelo nizki. Stane okoli 1,5 USD.
Dobite ga tukaj ▶
4. korak: Izdelava projekta
Zdaj povežemo vse dele skupaj. Pred izdelavo tega projekta, če v preteklosti še niste uporabljali rotacijskega kodirnika, vas vabim, da si ogledate vadnico, ki sem jo pripravil o rotacijskih kodirnikih. Pomagal vam bo razumeti, kako delujejo rotacijski dajalniki, in z njimi boste pridobili nekaj izkušenj. Ta video je priložen tukaj.
Zaslon sem postavil na majhno ploščo, kot je ta. Najprej povežemo zaslon. Prvi pin na zaslonu, ki je ponastavljen, gre na digitalni pin 3 Arduino Uno, drugi pin na digitalni pin 4, tretji pin na digitalni pin 5, četrti pin na digitalni pin 11 in peti pin na digitalni pin 13. Naslednji pin je Vcc. Vcc povežemo s pozitivno tirnico plošče, pozitivna tirnica pa s 3.3 V izhodom Arduina. Naslednji pin je Osvetlitev zaslona. Ker ga želimo upravljati prek programske opreme, ga povežemo z digitalnim zatičem 7. Zadnji zatič je GND. GND povežemo z negativno tirnico plošče, negativno tirnico plošče pa z Arduino GND.
Zdaj moramo le še priključiti rotacijski dajalnik. Prvi zatič je GND in ga povežemo z negativno tirnico na plošči. Naslednji zatič je Vcc in ga povežemo s pozitivno tirnico plošče. Naslednji pin je SW in ga priključimo na analogni pin 2. Naslednji pin se imenuje DT in ga povežemo na analogni pin 1. Nazadnje je pin CLK priključen na analogni pin 0. Shematski diagram tega projekta najdete v opis spodnjega videa.
Zdaj smo pripravljeni projekt poglobiti. Kot lahko vidite, projekt dobro deluje, meni pa deluje po pričakovanjih! Odlično, poglejmo zdaj programsko opremo projekta.
5. korak: Koda projekta
V tem projektu uporabljamo 4 knjižnice. Za prikaz uporabljamo dve knjižnici, za vrtljivi dajalnik pa dve.
- Adafruit GFX:
- Nokia 5110:
- Knjižnica kodirnika:
- Knjižnica TimerOne:
Najprej si bomo ogledali funkcijo drawMenu. Ta funkcija je odgovorna za risanje menija na zaslonu. Ta funkcija se kliče vsakih nekaj milisekund, zato je v primeru spremembe menija ta funkcija odgovorna za posodobitev menija na zaslonu.
int menuitem = 1; int frame = 1; int stran = 1; int lastMenuItem = 1;
Obstajajo tudi 3 zelo pomembne globalne spremenljivke, spremenljiva stran, spremenljiva postavka menija in spremenljiv okvir. Spremenljiva stran si zapomni, kateri zaslon uporabniškega vmesnika je prikazan na zaslonu. Torej, če je spremenljivka strani 1, smo na glavnem zaslonu uporabniškega vmesnika, in če je spremenljivka 2, smo na sekundarnem zaslonu uporabniškega vmesnika, kjer nastavimo vrednost spremenljivke. Element menija si zapomni izbrano točko menija. Torej, če je njegova vrednost 1, je izbrana prva postavka menija, zato mora funkcija drawMenu ta menijski element narisati kot črno z belimi črkami. Če je element menija 2, je izbran drugi element menija in tako naprej. Spremenljivka okvirja si zapomni, kateri del menija je prikazan na zaslonu. Ker meni, ki smo ga ustvarili, vsebuje 6 elementov in jih lahko prikažemo le 3 hkrati, moramo vedeti, kateri elementi so prikazani na zaslonu. Spremenljivka okvirja nam pove točno to. Če ima spremenljivka okvirja vrednost 1, prikažemo prve tri točke menija, če je 2, prikažemo postavke 2, 3, 4 itd.
Poskušal sem narediti kodo čim lažje spremeniti, zato sem ustvaril nekaj globalnih spremenljivk, ki vsebujejo imena elementov menija. Na ta način lahko preprosto ustvarite lastne menije, ne da bi iskali v kodi.
Niz menuItem1 = "Kontrast"; Niz menuItem2 = "Glasnost"; Niz menuItem3 = "Jezik"; Niz menuItem4 = "Težave"; Niz menuItem5 = "Luč: ON"; Niz menuItem6 = "Ponastavi";
logična osvetlitev ozadja = res;
int kontrast = 60; int volumen = 50;
Jezikovni niz [3] = {"EN", "ES", "EL"};
int selectedLanguage = 0;
Težave z nizom [2] = {"EASY", "HARD"};
int selectedDifficulty = 0;
Najprej inicializiramo vse globalne spremenljivke, ki so potrebne v kodi. Nato inicializiramo zaslon. Pri funkciji zanke najprej pokličemo funkcijo drawMenu, da narišemo meni na zaslonu. Nato preberemo vrednost iz rotacijskega dajalnika in preverimo, ali je gumb pritisnjen. Na primer, če smo na glavnem zaslonu uporabniškega vmesnika in je izbrana prva postavka menija, če se je vrednost iz vrtljivega dajalnika povečala, se spremenljivka menija poveča in v naslednji zanki funkcija drawMenu izriše drugo postavko menija kot izbrano. Če zdaj pritisnemo gumb vrtljivega dajalnika, se pomaknemo na drugo stran, kjer nastavimo vrednost spremenljivke. Z uporabo vrtljivega dajalnika lahko vrednost spremenljivke povečamo ali zmanjšamo. Če pritisnemo gumb, se vrnemo na stran glavnega menija in spremenljivka strani se zmanjša.
To je osnovna ideja tega menija. Za vse elemente menija in strani sledimo enakemu postopku. Koda je zapletena, dolga je več kot 400 vrstic. Zdi se zapleteno, če pa poskusite sami, ga boste lažje razumeli in ga boste lahko spremenili, razširili in uporabili v svojih projektih. Kot vedno lahko najdete priloženo kodo.
6. korak: Testiranje projekta
Če naložimo kodo, lahko vidimo, da projekt deluje po pričakovanjih. Po gredu se lahko pomikate navzgor in navzdol in s pritiskom na gumb vrtljivega dajalnika lahko izberete katero koli točko menija. Kako kul je to!
Zdaj, ko vemo, kako sestaviti menije za LCD zaslone Nokia 5110, lahko svojim projektom dodamo več funkcij in jih naredimo bolj prijazne do uporabnika. Ta preprost meni, ki smo ga zgradili danes, pa je mogoče izboljšati. Namesto da bi ves čas preverjali stanje gumbov, bi lahko uporabili prekinitve. Na ta način lahko zmanjšamo porabo energije projekta in naredimo kodo čistejšo. Kmalu bom pripravil video o prekinitvah, zato spremljajte nas. Rad bi slišal vaše mnenje o tem menijskem projektu. Se vam zdi koristno in ali nameravate uporabiti meni v katerem koli svojem projektu. Spodaj objavite svoje misli in ideje, hvala!
Priporočena:
Mobilni telefon z rotacijskim klicanjem v retro slogu: 4 koraki (s slikami)
Mobilni telefon z rotacijskim klicanjem v retro slogu: Ta projekt sta vodila praktična potreba in želja, da bi naredili nekaj zabavnega. Kot večina sodobnih družin smo prenehali imeti pravi " dom " telefon (žično) pred mnogimi leti. Namesto tega imamo dodatno kartico SIM, povezano z našo " staro " domača številka
Časovnik za vklop z Arduinom in rotacijskim dajalnikom: 7 korakov (s slikami)
Časovnik za napajanje z Arduinom in rotacijskim dajalnikom: Ta merilnik časa temelji na časovniku, predstavljenem na: https: //www.instructables.com/id/Timer-With-Arduin … Napajalni modul in SSR (polprevodniški rele ), ki jih je mogoče priklopiti
Arduino Datalogger z RTC, Nokia LCD in kodirnikom: 4 koraki
Arduino zapisovalnik podatkov z RTC, Nokia LCD in kodirnikom: Deli: Arduino Nano ali Arduino Pro Mini Nokia 5110 84x48 LCD DHT11 senzor temperature/vlažnosti DS1307 ali DS3231 RTC modul z vgrajenim AT24C32 EEPROM Poceni kodirnik s 3 kondenzatorji za odvajanje Funkcije: grafični vmesnik na osnovi LCD LCD in sl
Prikaz odčitkov senzorja Arduino v živo na LCD zaslonu Nokia 5110: 4 koraki (s slikami)
Prikažite odčitke senzorjev Arduino v živo na LCD zaslonu Nokia 5110: če ste že kdaj delali z arduinom, ste verjetno želeli, da prikaže odčitke senzorjev. Uporaba serijskega monitorja je povsem v redu, vendar kot arduino badass hitro postajate, verjetno želim, da prikaže odčitke na nečem morju
Grafika po meri na zaslonu Nokia 5110: 7 korakov
Grafika po meri na zaslonu Nokia 5110: Pozdravljeni, fantje! Moxigen tukaj. Pred približno tremi leti sem zaprl svojo osebno spletno stran (inKnowit.in), na kateri je bilo približno 30 blogov. Tu sem nadaljeval blog, vendar sem zelo hitro izgubil motivacijo in napisal le tri bloge. Po dolgem razmišljanju sem se odločil