Tartalomjegyzék:

Arduino menü Nokia 5110 LCD -n rotációs kódoló használatával: 6 lépés (képekkel)
Arduino menü Nokia 5110 LCD -n rotációs kódoló használatával: 6 lépés (képekkel)

Videó: Arduino menü Nokia 5110 LCD -n rotációs kódoló használatával: 6 lépés (képekkel)

Videó: Arduino menü Nokia 5110 LCD -n rotációs kódoló használatával: 6 lépés (képekkel)
Videó: LCD экран Nokia 5110 для Arduino 2024, November
Anonim
Image
Image
Arduino menü egy Nokia 5110 LCD -n Rotációs kódoló használatával
Arduino menü egy Nokia 5110 LCD -n Rotációs kódoló használatával

Kedves barátaink, üdvözöljük egy újabb oktatóanyagban! Ebben a videóban megtanuljuk, hogyan készíthetjük el saját menünket a népszerű Nokia 5110 LCD kijelzőhöz, hogy felhasználóbarátabbá és hatékonyabbá tegyük projektjeinket. Lássunk neki!

Ezt a projektet fogjuk felépíteni. A kijelzőn egy egyszerű menü jelenik meg, és a forgó kódoló segítségével navigálhatok felfelé vagy lefelé, és kiválaszthatom a menüpontot a forgó kódoló gomb megnyomásával. A forgó kódoló középső gombjának megnyomásakor egy másik képernyő jelenik meg, és megváltoztathatjuk a változó értékét. Ha még egyszer megnyomjuk a forgó kódoló gombot, visszatérünk a főmenü képernyőjére. A menü 6 elemből áll, és görgethetünk le vagy fel a menüben, és a kijelzőn megjelenő elemek ennek megfelelően változnak. Nézze meg a mellékelt videót, hogy pontosan lásd, hogyan működik ez a menü. Természetesen tetszés szerint módosíthatja, hogy saját összetettebb menüket készítsen.

Most nézzük meg, hogyan építsük fel ezt a projektet.

1. lépés: Szerezze be az összes alkatrészt

Szerezd meg az összes alkatrészt
Szerezd meg az összes alkatrészt

A projekt elkészítéséhez a következő alkatrészek szükségesek:

  • Egy Arduino Uno ▶
  • Nokia 5110 LCD kijelző ▶
  • Rotációs kódoló ▶
  • Egy kis kenyérlap ▶
  • Néhány vezeték ▶
  • Power Bank ▶

A projekt költsége nagyon alacsony, kevesebb, mint 10 dollár. Az alábbi videó leírásában megtalálhatja az általam használt alkatrészek linkjeit.

2. lépés: Nokia 5110 LCD kijelző

Image
Image
A Projekt építése
A Projekt építése

A Nokia 5110 a kedvenc kijelzőm az Arduino projektekhez.

A Nokia 5110 egy alapvető grafikus LCD képernyő, amelyet eredetileg mobiltelefon képernyőjének szántak. A PCD8544 vezérlőt használja, amely alacsony fogyasztású CMOS LCD vezérlő/illesztőprogram. Emiatt a kijelző lenyűgöző energiafogyasztással rendelkezik. Bekapcsolt állapotban csak 0,4 mA -t használ, de a háttérvilágítás ki van kapcsolva. Alvó módban kevesebb mint 0,06 mA -t használ! Ez az egyik oka annak, hogy ez a kijelző a kedvencem. A PCD8544 soros busz interfészen keresztül kapcsolódik a mikrokontrollerekhez. Ez megkönnyíti a kijelző használatát az Arduino -val. Csak 8 vezetéket kell csatlakoztatnia.

Részletes oktatóanyagot készítettem a Nokia 5110 LCD kijelző Arduino használatával történő használatáról. Ezt a videót mellékeltem az útmutatóhoz, amely hasznos információkat tartalmaz a kijelzőről, ezért azt javaslom, hogy figyelmesen nézze meg. A kijelző ára körülbelül 4 dollár.

Itt letöltheti: ▶

3. lépés: Rotációs kódoló

Image
Image

A forgó jeladó, más néven tengelyjeladó, egy elektromechanikus eszköz, amely a tengely vagy tengely szöghelyzetét vagy mozgását analóg vagy digitális kódgá alakítja. A forgó jeladókat számos olyan alkalmazásban használják, amelyek precíz tengely korlátlan forgatást igényelnek, beleértve az ipari vezérlőket, a robotikát, a speciális célú fényképészeti lencséket, a számítógépes beviteli eszközöket (például optomechanikai egereket és pályagolyókat), a szabályozott feszültségű reométereket és a forgó radar platformokat.

A rotációs kódoló, amelyet ebben a projektben fogunk használni, nagyon olcsó kódoló. Beépített gombja is van, és annak működéséhez csak 5 vezetéket kell csatlakoztatnunk. Elkészítettem egy részletes oktatóanyagot a forgó kódoló használatáról. Ezt a videót itt találod csatolva.

Ennek a forgó jeladónak a költsége nagyon alacsony. Ára körülbelül 1,5 dollár.

Itt letöltheti ▶

4. lépés: A projekt felépítése

Image
Image
A Projekt építése
A Projekt építése
A Projekt építése
A Projekt építése

Most kapcsoljuk össze az összes alkatrészt. A projekt felépítése előtt, ha korábban nem használt forgó jeladót, javaslom, hogy nézze meg az általam készített útmutatót a forgó kódolókról. Segít megérteni a forgó kódolók működését, és tapasztalatot szerez velük. Ez a videó itt található.

A kijelzőt egy ilyen kenyérsütő táblára helyeztem. Először csatlakoztassuk a kijelzőt. A kijelző első tűje, amely Reset, az Arduino Uno 3. digitális tűjére kerül, a második érintkező a 4 -es digitális tűre, a harmadik tű az 5 -ös digitális tűre, a negyedik érintkező a 11 -es digitális tűre, az ötödik pedig a digitálisra pin 13. A következő csap Vcc. Csatlakoztatjuk a Vcc -t a kenyértábla pozitív sínjéhez, és a kenyérlap pozitív sínjét az Arduino 3,3 V -os kimenetéhez. A következő érintkező a kijelző háttérvilágítása. Mivel a szoftveren keresztül szeretnénk irányítani, csatlakoztassuk a 7. digitális tűhöz. Az utolsó tű a GND. A GND -t a kenyérlap negatív sínjéhez, a kenyértábla negatív sínjét az Arduino GND -hez kapcsoljuk.

Most már csak a forgó jeladót kell csatlakoztatnunk. Az első csap a GND, és a kenyértábla negatív sínjéhez csatlakoztatjuk. A következő csap Vcc, és a kenyértábla pozitív sínjéhez csatlakoztatjuk. A következő csap SW, és a 2. analóg pin -hez csatlakoztatjuk. A következő tű DT névre hallgat, és az 1. analóg pin -hez kötjük. Végül a CLK csap a 0. analóg pin -hez van csatlakoztatva. A projekt sematikus diagramját itt találja: az alábbi videó leírását.

Most készen állunk a projekt beindítására. Mint látható, a projekt jól működik, és a menü a várt módon működik! Remek, most lássuk a projekt szoftverét.

5. lépés: A projekt kódja

A projekt kódja
A projekt kódja

Ebben a projektben 4 könyvtárat használunk. Két könyvtárat használunk a megjelenítéshez, és kettőt a forgó kódolóhoz.

  1. Adafruit GFX:
  2. Nokia 5110:
  3. Kódolókönyvtár:
  4. TimerOne könyvtár:

Először nézzük meg a drawMenu funkciót. Ez a funkció felelős a menü megjelenítéséért a kijelzőn. Ezt a funkciót néhány ezredmásodpercenként hívják, így ha a menüben változás történik, ez a funkció felelős a menü frissítéséért a képernyőn.

int menüelem = 1; int keret = 1; int oldal = 1; int lastMenuItem = 1;

Három nagyon fontos globális változó is létezik, a változóoldal, a változó menüpontja és a változókeret. A változó oldal megjegyzi, hogy melyik felhasználói felület jelenik meg a képernyőn. Tehát, ha az oldalváltozó 1, akkor a fő felhasználói felület képernyőn vagyunk, és ha a változó 2, akkor a másodlagos felhasználói felület képernyőn, ahol beállítjuk az értéket egy változóra. A menüpont megjegyzi a kiválasztott menüpontot. Tehát, ha értéke 1, akkor az első menüpont van kiválasztva, így a drawMenu funkciónak ezt a menüpontot feketén, fehér betűkkel kell rajzolnia. Ha a menüpont 2, akkor a második menüpont van kiválasztva és így tovább. A keretváltozó megjegyzi, hogy a menü melyik része jelenik meg a képernyőn. Mivel az általunk létrehozott menü 6 elemet tartalmaz, és egyszerre csak 3 -at tudunk megjeleníteni, tudnunk kell, hogy mely elemek jelennek meg a képernyőn. A frame változó pontosan ezt mondja el nekünk. Ha a frame változó értéke 1, akkor az első három menüpontot jelenítjük meg, ha 2, akkor a 2, 3, 4 és így tovább.

Megpróbáltam a kódot a lehető legegyszerűbben módosítani, ezért létrehoztam néhány globális változót, amelyek a menüpontok nevét tartalmazzák. Így könnyen létrehozhat saját menüt anélkül, hogy kódban keresne.

String menuItem1 = "Kontraszt"; String menuItem2 = "Hangerő"; String menuItem3 = "Nyelv"; String menuItem4 = "Nehézség"; String menuItem5 = "Világítás: BE"; String menuItem6 = "Visszaállítás";

logikai háttérvilágítás = igaz;

int kontraszt = 60; int térfogat = 50;

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

int selectedLanguage = 0;

String nehézség [2] = {"KÖNNYEN", "Kemény"};

int selectedDifplicy = 0;

Először inicializáljuk a kódban szükséges összes globális változót. Ezután inicializáljuk a kijelzőt. A ciklus funkcióban először a drawMenu függvényt hívjuk meg, hogy rajzoljuk a menüt a képernyőn. Ezután leolvassuk az értéket a forgó kódolóból, és ellenőrizzük, hogy megnyomták -e a gombot. Például, ha a fő felhasználói felület képernyőjén vagyunk, és az első menüpont van kiválasztva, ha a forgó kódolóból származó érték megnövekedett, akkor a menuitem változó növekszik, és a következő ciklusban a drawMenu funkció kirajzolja a kiválasztott második menüpontot. Ha most megnyomjuk a forgó kódoló gombját, akkor a második oldalra navigálunk, ahol beállítjuk a változó értékét. A forgó kódoló segítségével ismét növelhetjük vagy csökkenthetjük a változó értékét. Ha megnyomjuk a gombot, visszalépünk a főmenü oldalára, és az oldalváltozó csökken.

Ez a menü alapötlete. Ugyanazt az eljárást követjük minden menüpont és oldal esetében. A kód összetett, több mint 400 sor hosszú. Bonyolultnak tűnik, de ha maga próbálja ki, akkor könnyebben megérti, és képes lesz megváltoztatni, bővíteni és használni a saját projektjeiben. Mint mindig, a csatolt kódot itt találja.

6. lépés: A projekt tesztelése

A projekt tesztelése
A projekt tesztelése

Ha betöltjük a kódot, láthatjuk, hogy a projekt a várt módon működik. A tengely segítségével felfelé és lefelé navigálhatunk a menüben, és bármelyik menüpontot kiválaszthatjuk a forgó kódoló gomb megnyomásával. Milyen klassz ez!

Most, hogy tudjuk, hogyan kell menüket készíteni a Nokia 5110 LCD kijelzőkhöz, további funkciókkal bővíthetjük projektjeinket, és felhasználóbarátabbá tehetjük azokat. Ez az egyszerű menü, amelyet ma készítettünk, javítható. Használhatnánk megszakításokat ahelyett, hogy folyamatosan ellenőriznénk a gombállapotokat. Így csökkenthetjük a projekt energiafogyasztását, és tisztábbá tehetjük a kódot. Hamarosan videót készítek a megszakításokról, így maradjon velünk. Szeretném hallani a véleményét erről a menüprojektről. Hasznosnak találja -e, és tervezi -e a menü használatát bármelyik projektjében. Kérjük, írja le ide gondolatait és ötleteit, köszönöm!

Ajánlott: