Orodha ya maudhui:

Menyu ya Arduino kwenye Lcd ya Nokia 5110 Kutumia Encoder ya Rotary: Hatua 6 (na Picha)
Menyu ya Arduino kwenye Lcd ya Nokia 5110 Kutumia Encoder ya Rotary: Hatua 6 (na Picha)

Video: Menyu ya Arduino kwenye Lcd ya Nokia 5110 Kutumia Encoder ya Rotary: Hatua 6 (na Picha)

Video: Menyu ya Arduino kwenye Lcd ya Nokia 5110 Kutumia Encoder ya Rotary: Hatua 6 (na Picha)
Video: Unable to see Mobile Hotspot in Windows10? 2024, Novemba
Anonim
Image
Image
Menyu ya Arduino kwenye Lcd ya Nokia 5110 Kutumia Encoder ya Rotary
Menyu ya Arduino kwenye Lcd ya Nokia 5110 Kutumia Encoder ya Rotary

Wapendwa marafiki karibu kwenye mafunzo mengine! Katika video hii tutajifunza jinsi ya kuunda orodha yetu ya onyesho maarufu la Nokia 5110 LCD, ili kufanya miradi yetu iwe rafiki na yenye uwezo zaidi. Tuanze!

Huu ndio mradi tunaenda kujenga. Katika onyesho orodha rahisi inaonekana, na kwa msaada wa kisimbuzi cha rotary ninaweza kusonga juu, au chini na uchague kipengee cha menyu kwa kubonyeza kitufe cha kisimbuzi cha rotary. Wakati kitufe cha kati cha kisimbuzi cha rotary kinabanwa, skrini nyingine inaonekana na tunaweza kubadilisha thamani ya ubadilishaji. Ikiwa tunasisitiza kitufe cha kusimba kwa rotary mara nyingine tena, tutarudi kwenye skrini kuu ya menyu. Menyu ina vitu 6, na tunaweza kusogeza chini au juu ya menyu na vitu kwenye onyesho vitabadilika ipasavyo. Tazama video iliyoambatishwa ili uone jinsi menyu hii inavyofanya kazi. Kwa kweli unaweza kuibadilisha ili ujenge menyu yako ngumu zaidi ikiwa unataka.

Wacha tuone jinsi ya kujenga mradi huu.

Hatua ya 1: Pata Sehemu Zote

Pata Sehemu Zote
Pata Sehemu Zote

Sehemu zinazohitajika ili kujenga mradi huu ni zifuatazo:

  • Arduino Uno ▶
  • Onyesho la LCD la Nokia 5110 ▶
  • Encoder ya Rotary ▶
  • Bodi ndogo ya mkate ▶
  • Baadhi ya waya ▶
  • Benki ya Nguvu ▶

Gharama ya mradi ni ya chini sana, ni chini ya $ 10. Unaweza kupata viungo vya sehemu zote ninazotumia katika maelezo ya video hapa chini.

Hatua ya 2: Uonyesho wa LCD wa Nokia 5110

Image
Image
Kujenga Mradi
Kujenga Mradi

Nokia 5110 ndio maonyesho ninayopenda zaidi kwa Miradi yangu ya Arduino.

Nokia 5110 ni skrini ya msingi ya picha ya LCD ambayo hapo awali ilikusudiwa kama skrini ya simu ya rununu. Inatumia mtawala wa PCD8544 ambayo ni mdhibiti / dereva wa nguvu ya chini ya CMOS LCD. Kwa sababu ya hii onyesho hili lina matumizi ya nguvu ya kuvutia. Inatumia 0.4mA tu wakati iko lakini taa ya nyuma imezima. Inatumia chini ya 0.06mA wakati wa hali ya kulala! Hiyo ni sababu moja inayofanya onyesho hili nilipenda zaidi. Muingiliano wa PCD8544 kwa watawala wadogo kupitia kiolesura cha basi cha serial. Hiyo inafanya maonyesho kuwa rahisi kutumia na Arduino. Unahitaji tu kuunganisha waya 8.

Nimeandaa mafunzo ya kina juu ya jinsi ya kutumia onyesho la Nokia 5110 LCD na Arduino. Nimeambatisha video hiyo katika hii inayoweza kufundishwa, itatoa habari muhimu juu ya onyesho, kwa hivyo ninakuhimiza uitazame kwa uangalifu. Gharama ya onyesho ni karibu $ 4.

Unaweza kuipata hapa: ▶

Hatua ya 3: Encoder ya Rotary

Image
Image

Encoder ya rotary, pia inaitwa encoder ya shimoni, ni kifaa cha elektroniki kinachobadilisha msimamo wa angular au mwendo wa shimoni au mhimili kuwa analojia au nambari ya dijiti. Encoders za Rotary hutumiwa katika matumizi mengi ambayo yanahitaji mzunguko sahihi wa shimoni ikiwa ni pamoja na udhibiti wa viwandani, roboti, lensi maalum za picha, vifaa vya kuingiza kompyuta (kama vile panya wa macho na mpira wa miguu), rheometers ya mkazo inayodhibitiwa, na majukwaa ya rada.

Encoder ya rotary ambayo tutatumia katika mradi huu ni kificho cha bei ghali sana. Pia ina kitufe kilichopachikwa na ili kuifanya ifanye kazi tunahitaji tu kuunganisha waya 5. Nimekuandalia mafunzo ya kina juu ya jinsi ya kutumia encoder ya rotary. Unaweza kupata video hii imeambatanishwa hapa.

Gharama ya encoder hii ya rotary ni ya chini sana. Inagharimu karibu $ 1.5.

Unaweza kuipata hapa ▶

Hatua ya 4: Kujenga Mradi

Image
Image
Kujenga Mradi
Kujenga Mradi
Kujenga Mradi
Kujenga Mradi

Wacha tuunganishe sehemu zote pamoja. Kabla ya kujenga mradi huu, ikiwa haujatumia kisimbuzi cha rotary hapo awali, ninakuhimiza uangalie mafunzo ambayo nimeandaa kuhusu encoders za rotary. Itakusaidia kuelewa jinsi encoders za rotary zinafanya kazi na utapata uzoefu nao. Video hii imeambatanishwa hapa.

Nimeweka maonyesho kwenye ubao mdogo kama huu. Hebu kwanza tuunganishe maonyesho. Pini ya kwanza ya onyesho ambalo Rudisha huenda kwa pini ya dijiti 3 ya Arduino Uno, pini ya pili huenda kwa pini ya dijiti 4, pini ya tatu huenda kwa pini ya dijiti 5, pini ya nne hadi pini ya dijiti 11 na pini ya tano kwenda kwa dijiti pini 13. Pini inayofuata ni Vcc. Tunaunganisha Vcc na reli chanya ya ubao wa mkate, na reli chafu ya ubao wa mkate na pato la 3.3V la Arduino. Pini inayofuata ni Mwangaza wa nyuma kwa onyesho. Kwa kuwa tunataka kuidhibiti kupitia programu tunaiunganisha na pini ya dijiti 7. Pini ya mwisho ni GND. Tunaunganisha GND na reli mbaya ya ubao wa mkate, na reli mbaya ya ubao wa mkate na Arduino GND.

Sasa tunachohitaji kufanya ni kuunganisha kisimbuzi cha rotary. Pini ya kwanza ni GND na tunaiunganisha na reli hasi ya ubao wa mkate. Pini inayofuata ni Vcc na tunaiunganisha na reli nzuri ya ubao wa mkate. Pini inayofuata ni SW na tunaiunganisha na Analog Pin 2. Pini inayofuata inaitwa DT na tunaiunganisha kwa Analog Pin 1. Mwishowe pini CLK imeunganishwa na Analog Pin 0. Unaweza kupata mchoro wa mradi huu katika maelezo ya video hapa chini.

Sasa tuko tayari kuimarisha mradi huo. Kama unavyoona, mradi unafanya kazi vizuri, na menyu inafanya kazi kama inavyotarajiwa! Kubwa, hebu sasa tuone programu ya mradi huo.

Hatua ya 5: Kanuni ya Mradi

Kanuni za Mradi
Kanuni za Mradi

Katika mradi huu tunatumia maktaba 4. Tunatumia maktaba mbili kwa onyesho, na mbili kwa kisimbuzi cha rotary.

  1. Adafruit GFX:
  2. Nokia 5110: https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD- maktaba
  3. Maktaba ya Encoder:
  4. Maktaba ya TimerOne:

Mara ya kwanza tutaangalia kazi ya DrawMenu. Kazi hii inawajibika kwa kuchora Menyu kwenye onyesho. Kazi hii inaitwa kila millisecond chache, kwa hivyo ikiwa kuna mabadiliko kwenye menyu kazi hii inawajibika kusasisha menyu kwenye skrini.

int menuitem = 1; int frame = 1; ukurasa wa ndani = 1; int lastMenuItem = 1;

Pia kuna vigeuzi 3 muhimu sana vya ulimwengu, ukurasa unaobadilika, menyu ya kutofautisha na fremu inayobadilika. Ukurasa unaobadilika unakumbuka ni skrini gani ya UI inayoonyeshwa kwenye skrini. Kwa hivyo, ikiwa kutofautisha kwa ukurasa ni 1, tuko kwenye skrini kuu ya UI, na ikiwa tofauti ni 2 tuko kwenye skrini ya sekondari ya UI ambapo tunaweka thamani kwa kutofautisha. Kipengee cha menyu kinakumbuka kipengee cha menyu kilichochaguliwa. Kwa hivyo, ikiwa thamani yake ni 1, kipengee cha menyu ya kwanza kimechaguliwa, kwa hivyo kazi ya DrawMenu lazima ichora kipengee hiki cha menyu kama nyeusi na herufi nyeupe. Ikiwa kipengee cha menyu ni 2 kipengee cha pili cha menyu kimechaguliwa na kadhalika. Tofauti ya sura, inakumbuka ni sehemu gani ya menyu inayoonyeshwa kwenye skrini. Kwa kuwa menyu ambayo tumeunda ina vitu 6 na tunaweza kuonyesha 3 tu kwa wakati mmoja, tunahitaji kujua ni vitu vipi vinaonyeshwa kwenye skrini. Tofauti ya sura, inatuambia haswa hii. Ikiwa ubadilishaji wa sura una thamani ya 1, tunaonyesha vitu vya kwanza vya menyu tatu, ikiwa ni 2, tunaonyesha vitu 2, 3, 4 na kadhalika.

Nilijaribu kuifanya nambari iwe rahisi iwezekanavyo kurekebisha kwa hivyo nimeunda anuwai za ulimwengu ambazo zinashikilia majina ya vitu vya menyu. Kwa njia hii, unaweza kuunda menyu zako mwenyewe bila kutafuta katika nambari.

Menyu ya KambaItem1 = "Tofauti"; Menyu ya KambaItem2 = "Volume"; Menyu ya kambaItem3 = "Lugha"; Menyu ya kambaItem4 = "Ugumu"; Menyu ya kambaItem5 = "Nuru: IMEWASHWA"; Menyu ya kambaItem6 = "Weka upya";

taa ya nyuma ya boolean = kweli;

kulinganisha = 60; ujazo int = 50;

Lugha ya kamba [3] = {"EN", "ES", "EL"};

Lugha iliyochaguliwa = 0;

Ugumu wa kamba [2] = {"RAHISI", "NGUVU"};

int selectedDifficulty = 0;

Mwanzoni tunaanzisha anuwai zote za ulimwengu ambazo zinahitajika katika nambari. Ifuatayo tunaanzisha onyesho. Katika kazi ya kitanzi, mwanzoni tunaita kazi ya DrawMenu kuteka menyu kwenye skrini. Kisha tunasoma thamani kutoka kwa kisimbuzi cha Rotary na angalia ikiwa kitufe kimeshinikizwa. Kwa mfano, ikiwa tuko kwenye skrini kuu ya UI na kipengee cha menyu ya kwanza kichaguliwa, ikiwa thamani kutoka kwa kisimbuzi cha rotary imeongezeka, utofauti wa menuitem huongezeka na kwenye kitanzi kinachofuata kazi ya DrawMenu itachora kipengee cha menyu ya pili kama ilivyochaguliwa. Ikiwa sasa tunabonyeza kitufe cha kisimbuaji cha rotary tunaenda kwenye ukurasa wa pili, ambapo tunaweka thamani ya ubadilishaji. Tena kutumia kisimbuzi cha rotary tunaweza kuongeza au kupunguza thamani ya ubadilishaji. Ikiwa tunabonyeza kitufe tunarudi kwenye ukurasa wa menyu kuu, na kutofautisha kwa ukurasa kunapungua.

Hilo ndilo wazo la msingi nyuma ya menyu hii. Tunafuata utaratibu sawa kwa vitu vyote vya menyu na kurasa. Nambari ni ngumu, ina zaidi ya laini 400. Inaonekana kuwa ngumu lakini ukijaribu mwenyewe utaelewa kwa urahisi zaidi na utaweza kuibadilisha, kuipanua na kuitumia katika miradi yako mwenyewe. Kama kawaida unaweza kupata nambari iliyoambatanishwa hapa.

Hatua ya 6: Kupima Mradi

Kupima Mradi
Kupima Mradi

Ikiwa tutapakia nambari tunaweza kuona kuwa mradi unafanya kazi kama inavyotarajiwa. Tunaweza kuvinjari menyu juu na chini kwa kutumia shimoni na tunaweza kuchagua kipengee chochote cha menyu kwa kubonyeza kitufe cha kusimba cha rotary. Jinsi baridi ni kwamba!

Sasa kwa kuwa tunajua jinsi ya kujenga menyu kwa maonyesho ya Nokia 5110 LCD tunaweza kuongeza huduma zingine kwenye miradi yetu na kuzifanya ziwe rahisi kutumia. Menyu hii rahisi ambayo tumejenga leo inaweza kuboreshwa ingawa. Tunaweza kutumia usumbufu badala ya kuangalia vifungo wakati wote. Kwa njia hii tunaweza kupunguza matumizi ya nguvu ya mradi na kufanya nambari kuwa safi. Nitaandaa video juu ya vipingamizi hivi karibuni kwa hivyo kaa karibu. Ningependa kusikia maoni yako kuhusu mradi huu wa menyu. Je! Unaona ni muhimu na unapanga kutumia menyu katika mradi wako wowote. Tafadhali weka maoni yako na maoni hapa chini, asante!

Ilipendekeza: