Sisällysluettelo:

Arduino -valikko Nokia 5110 LCD -laitteessa kiertokooderin avulla: 6 vaihetta (kuvien kanssa)
Arduino -valikko Nokia 5110 LCD -laitteessa kiertokooderin avulla: 6 vaihetta (kuvien kanssa)

Video: Arduino -valikko Nokia 5110 LCD -laitteessa kiertokooderin avulla: 6 vaihetta (kuvien kanssa)

Video: Arduino -valikko Nokia 5110 LCD -laitteessa kiertokooderin avulla: 6 vaihetta (kuvien kanssa)
Video: NOKIA 5110. Работа с графическим дисплеем 2024, Heinäkuu
Anonim
Image
Image
Arduino -valikko Nokia 5110 LCD -laitteessa kiertokooderin avulla
Arduino -valikko Nokia 5110 LCD -laitteessa kiertokooderin avulla

Hyvät ystävät, tervetuloa toiseen opetusohjelmaan! Tässä videossa opimme rakentamaan oman valikkomme suosittuun Nokia 5110 LCD -näyttöön, jotta projektistamme tulisi käyttäjäystävällisempiä ja kykenevämpiä. Aloitetaan!

Tämä on projekti, jonka aiomme rakentaa. Näyttöön tulee yksinkertainen valikko, ja kiertokooderin avulla voin navigoida ylös tai alas ja valita valikkokohdan painamalla kiertokooderin painiketta. Kun pyörivän anturin keskipainiketta painetaan, ilmestyy toinen näyttö ja voimme muuttaa muuttujan arvoa. Jos painamme pyörivää anturipainiketta vielä kerran, palaamme päävalikkoon. Valikossa on 6 kohdetta, ja voimme vierittää valikkoa alas tai ylös ja näytön kohteet muuttuvat vastaavasti. Katso oheinen video nähdäksesi kuinka tämä valikko toimii. Voit tietysti muokata sitä rakentaaksesi omia monimutkaisempia valikkoja, jos haluat.

Katsotaan nyt, miten tämä projekti rakennetaan.

Vaihe 1: Hanki kaikki osat

Hanki kaikki osat
Hanki kaikki osat

Tämän projektin rakentamiseen tarvittavat osat ovat seuraavat:

  • Arduino Uno ▶
  • Nokia 5110 LCD -näyttö ▶
  • Pyörivä enkooderi ▶
  • Pieni leipälauta ▶
  • Jotkut johdot ▶
  • Virtapankki ▶

Hankkeen kustannukset ovat erittäin alhaiset, alle 10 dollaria. Löydät linkit kaikkiin käyttämiisi osiin alla olevan videon kuvauksesta.

Vaihe 2: Nokia 5110 LCD -näyttö

Image
Image
Projektin rakentaminen
Projektin rakentaminen

Nokia 5110 on suosikkinäyttöni Arduino -projekteissani.

Nokia 5110 on graafinen perusnäyttö, joka oli alun perin tarkoitettu matkapuhelimen näytöksi. Se käyttää PCD8544 -ohjainta, joka on pienitehoinen CMOS LCD -ohjain/ohjain. Tästä syystä tämän näytön virrankulutus on vaikuttava. Se käyttää vain 0,4 mA, kun se on päällä, mutta taustavalo ei ole käytössä. Se käyttää alle 0,06mA lepotilassa! Tämä on yksi syy, miksi tästä näytöstä tulee suosikkini. PCD8544 liitetään mikro -ohjaimiin sarjaväyläliitännän kautta. Tämä tekee näytön käyttämisestä erittäin helppoa Arduinon kanssa. Sinun tarvitsee vain kytkeä 8 johtoa.

Olen laatinut yksityiskohtaisen opetusohjelman Nokia 5110 LCD -näytön käytöstä Arduinon kanssa. Olen liittänyt tämän videon tähän oppaaseen, se tarjoaa hyödyllistä tietoa näytöstä, joten kehotan sinua katsomaan sitä huolellisesti. Näytön hinta on noin 4 dollaria.

Saat sen täältä: ▶

Vaihe 3: Kiertokooderi

Image
Image

Pyörivä anturi, jota kutsutaan myös akselianturiksi, on sähkömekaaninen laite, joka muuntaa akselin tai akselin kulma-asennon tai liikkeen analogiseksi tai digitaaliseksi koodiksi. Kiertokoodereita käytetään monissa sovelluksissa, jotka vaativat tarkan akselin rajoittamattoman pyörimisen, mukaan lukien teolliset ohjaimet, robotiikka, erikoiskäyttöiset valokuva-objektiivit, tietokoneen syöttölaitteet (kuten optomekaaniset hiiret ja ohjauspallot), ohjattavat jännitysreometrit ja pyörivät tutka-alustat.

Tässä projektissa käytettävä kiertokooderi on erittäin edullinen enkooderi. Siinä on myös painike upotettuna, ja jotta se toimisi, meidän on kytkettävä vain 5 johtoa. Olen laatinut yksityiskohtaisen opetusohjelman pyörivän anturin käytöstä. Löydät tämän videon liitteenä täältä.

Tämän kiertokooderin hinta on erittäin alhainen. Se maksaa noin 1,5 dollaria.

Saat sen täältä ▶

Vaihe 4: Projektin rakentaminen

Image
Image
Projektin rakentaminen
Projektin rakentaminen
Projektin rakentaminen
Projektin rakentaminen

Yhdistämme nyt kaikki osat yhteen. Jos et ole aiemmin käyttänyt kiertokooderia ennen tämän projektin rakentamista, suosittelen sinua tutustumaan kiertokoodereita koskevaan opetusohjelmaan. Se auttaa sinua ymmärtämään, kuinka pyörivät anturit toimivat, ja saat kokemusta niistä. Tämä video on liitteenä täällä.

Olen asettanut näytön tällaiselle pienelle leipäpöydälle. Kytketään ensin näyttö. Näytön ensimmäinen nasta, joka on Nollaa, menee Arduino Unon digitaaliseen nastaan 3, toinen nasta digitaaliseen nastaan 4, kolmas nasta digitaaliseen nastaan 5, neljäs nasta digitaaliseen nastaan 11 ja viides nasta digitaaliseen tappi 13. Seuraava tappi on Vcc. Liitämme Vcc leipälevyn positiiviseen kiskoon ja leipälevyn positiivinen kisko Arduinon 3,3 V: n lähtöön. Seuraava nasta on näytön taustavalo. Koska haluamme ohjata sitä ohjelmiston kautta, yhdistämme sen digitaaliseen nastaan 7. Viimeinen nasta on GND. Yhdistämme GND leipälevyn negatiivikiskoon ja leipälevyn negatiivinen kisko Arduino GND: hen.

Nyt meidän tarvitsee vain kytkeä pyörivä anturi. Ensimmäinen tappi on GND ja liitämme sen leipälevyn negatiivikiskoon. Seuraava tappi on Vcc ja liitämme sen leipälevyn positiiviseen kiskoon. Seuraava nasta on SW ja liitämme sen analogiseen nastaan 2. Seuraava nasta on nimeltään DT ja me liitämme sen analogiseen nastaan 1. Lopuksi nasta CLK on kytketty analogiseen nastaan 0. Löydät tämän projektin kaavion videon kuvaus alla.

Nyt olemme valmiita käynnistämään projektin. Kuten huomaat, projekti toimii hyvin ja valikko toimii odotetusti! Hienoa, katsotaan nyt projektin ohjelmisto.

Vaihe 5: Projektin koodi

Projektin koodi
Projektin koodi

Tässä projektissa käytämme 4 kirjastoa. Käytämme kahta kirjastoa näytölle ja kahta kiertokooderia varten.

  1. Adafruit GFX:
  2. Nokia 5110:
  3. Encoder -kirjasto:
  4. TimerOne -kirjasto:

Aluksi katsomme drawMenu -toimintoa. Tämä toiminto vastaa valikon piirtämisestä näytölle. Tätä toimintoa kutsutaan muutaman millisekunnin välein, joten jos valikossa tapahtuu muutoksia, tämä toiminto vastaa näytön valikon päivittämisestä.

int menuitem = 1; int frame = 1; int sivu = 1; int lastMenuItem = 1;

On myös kolme erittäin tärkeää globaalia muuttujaa, muuttujasivu, muuttujan valikkokohta ja muuttujan kehys. Muuttuva sivu muistaa, mikä käyttöliittymäruutu näytetään. Joten jos sivumuuttuja on 1, olemme pääkäyttöliittymässä ja jos muuttuja on 2, olemme toissijaisessa käyttöliittymäruudussa, jossa asetamme arvon muuttujalle. Valikkokohta muistaa valitun valikkokohdan. Joten jos sen arvo on 1, ensimmäinen valikkokohta valitaan, joten drawMenu -toiminnon on piirrettävä tämä valikkokohta mustana valkoisilla kirjaimilla. Jos valikkokohta on 2, valitaan toinen valikkokohta ja niin edelleen. Kehysmuuttuja muistaa, mikä valikon osa näkyy näytöllä. Koska luomamme valikko sisältää 6 kohdetta ja voimme näyttää niistä vain 3 kerrallaan, meidän on tiedettävä, mitkä kohteet näytetään näytöllä. Kehysmuuttuja kertoo meille juuri tämän. Jos kehysmuuttujan arvo on 1, näytetään kolme ensimmäistä valikkokohdetta, jos se on 2, näytetään kohteet 2, 3, 4 ja niin edelleen.

Yritin tehdä koodista mahdollisimman helpon muokattavan, joten olen luonut joitain globaaleja muuttujia, jotka sisältävät valikkokohtien nimet. Tällä tavalla voit luoda omat valikot helposti etsimättä koodia.

String menuItem1 = "Contrast"; String menuItem2 = "Volume"; String menuItem3 = "Kieli"; String menuItem4 = "Vaikeus"; String menuItem5 = "Valo: PÄÄLLÄ"; String menuItem6 = "Nollaa";

boolean taustavalo = totta;

int kontrasti = 60; int tilavuus = 50;

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

int valittuKieli = 0;

Merkkijonovaikeus [2] = {"HELPPO", "KOVA"};

int valittuVaikeus = 0;

Aluksi alustamme kaikki koodissa tarvittavat globaalimuuttujat. Seuraavaksi alustamme näytön. Silmukkatoiminnossa kutsumme ensin drawMenu -toimintoa piirtääksesi valikon näytölle. Sitten luemme arvon kiertokooderista ja tarkistamme, onko painiketta painettu. Jos esimerkiksi olemme käyttöliittymän päänäytössä ja ensimmäinen valikkokohta on valittu, jos kiertokooderin arvo on kasvanut, menuitem -muuttuja kasvaa ja seuraavassa silmukassa drawMenu -toiminto piirtää toisen valikkokohdan valituksi. Jos nyt painamme kiertokooderin painiketta, siirrymme toiselle sivulle, jossa asetamme muuttujan arvon. Jälleen kiertokooderin avulla voimme lisätä tai pienentää muuttujan arvoa. Jos painamme painiketta, siirrymme takaisin päävalikkosivulle ja sivumuuttuja pienenee.

Tämä on tämän valikon perusidea. Noudatamme samaa menettelyä kaikissa valikkokohdissa ja sivuilla. Koodi on monimutkainen, se on yli 400 riviä pitkä. Se vaikuttaa monimutkaiselta, mutta jos kokeilet sitä itse, ymmärrät sen helpommin ja pystyt muuttamaan sitä, laajentamaan sitä ja käyttämään sitä omissa projekteissasi. Kuten aina, löydät koodin täältä.

Vaihe 6: Projektin testaaminen

Projektin testaaminen
Projektin testaaminen

Jos lataamme koodin, voimme nähdä, että projekti toimii odotetulla tavalla. Voimme navigoida valikossa ylös ja alas akselin avulla ja valita minkä tahansa valikkokohdan painamalla pyörivää anturipainiketta. Kuinka siistiä!

Nyt kun tiedämme kuinka luoda valikot Nokia 5110 LCD -näytöille, voimme lisätä projekteihimme lisää ominaisuuksia ja tehdä niistä käyttäjäystävällisempiä. Tätä tänään rakentamaamme yksinkertaista valikkoa voidaan kuitenkin parantaa. Voisimme käyttää keskeytyksiä sen sijaan, että tarkistamme painikkeiden tilat koko ajan. Näin voimme vähentää projektin virrankulutusta ja tehdä koodista puhtaamman. Valmistan keskeytyksistä videon pian, joten pysy kuulolla. Haluaisin kuulla mielipiteesi tästä menu -projektista. Onko se mielestäsi hyödyllinen ja aiotko käyttää valikkoa missä tahansa projektissasi. Kirjoita ajatuksesi ja ideasi alle, kiitos!

Suositeltava: