- Mga Materyal na Kinakailangan:
- Module ng Nokia 5110 Graphical Display:
- Diagram ng Circuit:
- Programa ng Arduino at Paggawa:
Ang pangalang Iconic na " Nokia 5110 " mismo ay dapat na bumili ng mga alaala ng matatag na Nokia mobile phone na napakapopular noong dekada 90. Ang modelo na 5110 ay mayroong isang graphic na Display na sapat na sapat upang kumilos bilang isang display screen para sa mobile noon. Ang screen na ito ay may kakayahang ipakita ang lahat mula sa mga alphanumeric character hanggang sa maliit na graphics na lahat ay kinakailangan para sa mobile phone. Habang umiikot ang mundo ng mga bagong tech na may makintab na mga touch screen ay sumulpot at ang display na ito ay hindi na ginagamit. Ngunit sana magamit sila sa mga aplikasyon ng electronics kung saan dapat ipakita ang isang maliit na graphics at iwasan ang paggastos ng pera sa malalaking mga LCD screen. Kaya sa tutorial na ito matututunan natin kung paano i-interface ang isang Nokia 5110 Graphical LCD sa Arduino at paganahin ito.
Ang mga LCD na ito ay may mga itim at puting mga pixel ng mga sukat 84 × 48. Maaari silang magmukhang monotonous ngunit maaari pa ring magamit upang maipakita ang disenteng graphics para sa iyong mga proyekto at madaling magamit sa mga microcontroller tulad ng Arduino. Kaya't magsimula tayo….!
Mga Materyal na Kinakailangan:
- Lupon ng Arduino (anumang bersyon)
- Nokia 5110 display
- Mga kumokonekta na mga wire
Module ng Nokia 5110 Graphical Display:
Mayroong dalawang uri ng mga graphic na LCD na magagamit sa merkado. Ang isa na may mga pad na panghinang kapwa sa itaas at sa ibaba ng display at ang iba pa ay may mga solder pad lamang sa ilalim ng display. Ang isa na ginagamit namin ay nabibilang sa uri 2, kung saan may mga pad lamang sa ilalim ng display. Pareho ang mga module na gumagana nang pareho at samakatuwid ang mga koneksyon ay pareho para sa pareho. Kaya't hindi alintana kung anong module ito maaari mong sundin ang tutorial.
Tulad ng sinabi nang mas maaga sa Nokia 5110 Graphical LCD ay may 84 na mga pixel na pahalang at 48 na mga pixel na patayo. Ang kabuuang laki ng display ay 1.72 'x 1.72'. Ang module ay mayroong 6 na input pin gamit ang maaari naming mai-interface ito sa anumang microcontroller sa pamamagitan ng komunikasyon ng SPI. Ang interfacing IC na nakikipag-usap sa pagitan ng display at ng Arduino ay ang Philips PCD8544 display controller IC na ang datasheet ay matatagpuan dito. Gayunpaman kung gumagamit ka ng Arduino upang makipag-usap sa IC na ito kung gayon hindi namin kailangang mag-alala tungkol sa datasheet dahil may mga aklatan na handa nang i-download at magamit. Ang module na ginagamit namin dito ay ipinapakita sa ibaba.
Diagram ng Circuit:
Ang kumpletong diagram ng circuit para sa pagkonekta ng Nokia5110 Graphical LCD sa Arduino ay ibinibigay sa ibaba.
Ang display module ay may 8 mga pin na ginagamit upang mag-set up ng isang SPI na komunikasyon sa Arduino. Ang module ay pinalakas ng 3.3V pin ng Arduino board. Tandaan na ang mga modyul na ito ay gumagana sa 3.3V lohika at samakatuwid ay hindi nagbibigay ng 5V sa pin ng Vcc ng mga ipinapakita. Direkta kong nai-wire ang Pin ng display sa Arduino, kahit na gumagana ang LCD sa 3.3V lohika at Arduino sa 5V lohika dahil doon ko lang nahanap na gumana nang maayos ang LCD. Maaari mong gamitin ang isang divider ng boltahe upang i-convert ang 5V sa 3.3V kung kinakailangan, ngunit para sa akin gumagana lamang ito nang walang conversion ng lohika. Ang mga koneksyon ay medyo simple at tuwid na gagawin. Kapag tapos ka na sa mga koneksyon ang iyong set-up ay magmumukhang tulad nito na ipinakita sa ibaba.
Programa ng Arduino at Paggawa:
Sundin ang mga hakbang sa ibaba upang mai- program ang iyong Arduino para sa Nokia 5110 Display. Ipinapalagay ng mga hakbang na na-install mo na ang Arduino IDE at pamilyar sa paggamit nito.
Hakbang 1: Buksan ang Arduino IDE sa iyong Computer at piliin ang naaangkop na board sa ilalim ng menu ng mga tool pagkatapos ikonekta ang iyong Arduino sa iyong computer.
Hakbang 2: Mag-click dito upang i-download ang Nokia 5110 Display Library sa pamamagitan ng Adafruit library mula sa GitHub repository.
Hakbang 3: Kapag na-download na ang Zip file, piliin ang Sketch -> Isama ang Library -> Magdagdag ng.ZIP library at mag-browse sa lokasyon kung saan na-download ang ZIP.
Tandaan: Kailangan mo ring i-download ang Adafruit GFX Graphics core na ginagawa ang lahat ng mga bilog, teksto, parihaba, atbp. Maaari mo itong makuha mula sa https://github.com/adafruit/Adafruit-GFX-Library at mai-install ito sa parehong paraan.
Hakbang 4: Ngayon buksan ang halimbawa ng programa sa pamamagitan ng pagpili ng File -> Mga halimbawa -> Adafruit PCD Nokia 5110 LCD Library -> pcdtest at mag-click sa upload button
Hakbang 5: Kapag na-upload ang programa, pindutin ang pindutan ng pag-reset sa Arduino at dapat mong makita ang halimbawang programa na ipinapakita ang lahat ng mga animasyon tulad ng ipinakita sa video na ibinigay sa pagtatapos ng tutorial na ito.
Maaari mong basahin ang halimbawa ng programa upang maunawaan ang iba't ibang built-in na pag-andar na maaaring magamit upang maisagawa ang iba't ibang disenyo ng graphics sa LCD. Ngunit hayaan nating magpatuloy ang isang hakbang at subukang ipakita ang CircuitDigest Logo sa LCD screen.
Ngayon buksan ang kinakailangang imahe sa Paint at baguhin ang laki ng imahe. Ang maximum na laki ng imahe na maaari naming magamit para sa aming display ay 84 × 48.
Pagkatapos baguhin ang laki ng imahe, i-save ang imahe bilang bitmap (itim at puti) sa pamamagitan ng paggamit ng i- save bilang pagpipilian sa Paint. Upang maipakita ang imahe bilang isang bitmap sa aming LCD screen kakailanganin namin ang software na maaaring i-convert ang bitmap na imahe sa code. Maaari mong i-download ang software sa pamamagitan ng pag-click dito. Sa sandaling na-download na i- zip ang file at mag-click sa "BitmapEncoder" upang ilunsad ang application. Buksan ang imahe ng bitmap na na-save lamang namin gamit ang software na ito upang makuha ang array ng mga naka-encode na halaga. Maaari mong direktang kopyahin ang mga halagang ito at i-paste ito sa iyong Arduino array. Ang halagang ipinakita ng software para sa aming logo ay ipinapakita sa ibaba
Tulad ng nakikita mo ang array ay nagsisimula sa halagang 48, 48 ito ang laki ng aming imahe. Hindi namin ito dapat idagdag sa aming array. Kaya, alisin ang unang dalawang halaga at gamitin ang natitirang bilang halaga ng array sa programa. Ang array ay magiging hitsura sa ibaba. Ang kumpletong programa ay ibinibigay sa dulo ng pahinang ito para sa iyong sanggunian.
static const unsigned char PROGMEM Logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111111, B00000000, B00000000, B00000000, B000000 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B000011, B01111100, B01111100, B11000000, B000011, B000011, B000011, B111111 B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B11110001, B11111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B11111111 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B11111000, B001111, B111111, B111111, B111111, B111111, B111111, B111111 B11111111, B11111111, B11111100, B00111111, B11111111, B00011111, B11111111, B11111111, B11111100, B00111111, B11111110, B00111111, B00111111, B11111111, B11111110, B0111111, B1111, B1111, B1111, B1111, B1111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B00000000, B00000000, B01111111, B11111100, B01111110, B10000000, B00000000, B00000000, B00000000, B00000000, B11111110, B00111111, B11111111, B11111110, B00000000, B0000111, B11111111, B11111111, B111111,111, 1111, 1111, 1111, 1111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111,B11000111, B11111111, B11111111, B11111110, B00111111, B11111111, B10000011, B11111110, B00000000, B00000000, B00111111, B11111111, B10110011, B11111000, B00000000, B00000000, B00111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B11111111 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B00011111, B11111111, B11111000, B00000000, B000011, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111, B111111 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B11111100, B11111100, B11111100, B11111100, B10000000, B00000000, B11111111, B11001111, B10000000, B11111111, B00000000, B00000000, B01111111,B11111111, B10110001, B11111110, B00000000, B00000000, B00011111, B11111111, B10110111, B11111100, B00000000, B00000000, B00001111, B11111111, B10000111, B11110000, B00000000, B00000000, B000011, B0000, B111111, B111111 B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Ngayon upang maipakita ang bitmap na ito kailangan nating gamitin ang mga sumusunod na linya ng code. Kung saan ang naunang data sa screen ay nabura at ang bagong imahe ng bitmap ay nakasulat.
display.clearDisplay (); display.drawBitmap (20, 0, Logo, 48, 48, 1); display.display ();
Ang linya display.drawBitmap (20, 0, Logo, 48, 48, 1); ipakita ang posisyon, laki at kulay ng imahe ng bitmap. Maaaring ibigay ang syntax bilang.
display.drawBitmap (X_Position, Y_Position, Pangalan ng Array, haba ng imahe, lawak ng imahe);
Ang haba at lawak ng imahe ay maaaring makuha mula sa unang dalawang elemento ng array ayon sa pagkakasabi sa naunang sinabi. Kapag pinatakbo ang code na ito makukuha namin ang bitmap na ipinakita sa aming LCD screen tulad ng ipinakita sa ibaba.
Maaari mo ring ipakita ang simpleng teksto tulad ng ipinakita sa ibaba:
Inaasahan kong naintindihan mo ang tutorial at nakuha ang iyong Nokia 5110 LCD na nakipag-interfaced sa Arduino. Gamit ang grapikong pagpapakita na ito sa iyong manggas maaari kang lumikha ng maraming mga proyekto na nangangailangan ng mga menor de edad na detalye ng graphics. Ang kumpletong pagtatrabaho ay matatagpuan sa video na ibinigay sa ibaba. Kung nahaharap ka sa anumang problema sa pagkuha ng ito upang gumana maaari mong gamitin ang forum upang mai-post ang iyong problema o ang mga seksyon ng komento sa ibaba.