- Nepieciešamie materiāli:
- Nokia 5110 grafiskā displeja modulis:
- Ķēdes shēma:
- Arduino programma un darbs:
Ikoniskajam nosaukumam “ Nokia 5110 ” būtu bijis jāpērk atmiņas par izturīgo Nokia mobilo tālruni, kas bija ļoti populārs 90. gados. Modelis 5110 bija aprīkots ar grafisko displeju, kas bija pietiekams, lai toreiz darbotos kā mobilā tālruņa displejs. Šis ekrāns spēja parādīt visu, sākot no burtciparu rakstzīmēm līdz mazām grafikām, kas ir viss nepieciešamais mobilajam tālrunim. Kad zeme apgriezās ar jaunu tehnoloģiju ar spīdīgiem skārienekrāniem, šis displejs vairs netiek izmantots. Cerams, ka tos var izmantot elektronikas lietojumprogrammās, kur ir jāparāda maza grafika un jāizvairās tērēt naudu lieliem LCD ekrāniem. Tātad šajā apmācībā mēs uzzināsim, kā saskarni ar Nokia 5110 grafisko LCD savienot ar Arduino un kā to darbināt.
Šiem LCD ekrāniem ir melnbalti pikseļi ar izmēru 84 × 48. Tie var izskatīties monotoni, taču tos joprojām var izmantot, lai parādītu pienācīgu grafiku jūsu projektiem, un tos var viegli izmantot ar tādiem mikrokontrolleriem kā Arduino. Tātad sāksim darbu….!
Nepieciešamie materiāli:
- Arduino dēlis (jebkura versija)
- Nokia 5110 displejs
- Savienojošie vadi
Nokia 5110 grafiskā displeja modulis:
Tirgū ir pieejami divu veidu šie grafiskie LCD. Viens ar lodēšanas spilventiņiem gan virs, gan zem displeja, un otrs ar lodēšanas spilventiņiem tikai displeja apakšā. Tas, ko mēs izmantojam, pieder 2. tipam, kur spilventiņi atrodas tikai zem displeja. Abi moduļi darbojas vienādi, tāpēc savienojumi abiem ir vienādi. Tātad, neatkarīgi no tā, kāds modulis tas ir, jūs varat sekot apmācībai.
Kā minēts iepriekš, Nokia 5110 grafiskajā LCD ekrānā horizontāli ir 84 pikseļi, bet vertikāli - 48 pikseļi. Kopējais displeja izmērs ir 1,72 'x 1,72'. Modulim ir 6 ieejas tapas, ar kuru palīdzību mēs varam to sasaistīt ar jebkuru mikrokontrolleru, izmantojot SPI komunikāciju. Saskarnes IC, kas sazinās starp displeju un Arduino, ir Philips PCD8544 displeja kontrollera IC, kura datu lapu var atrast šeit. Tomēr, ja saziņai ar šo IC izmantojat Arduino, mums nav jāuztraucas par datu lapu, jo ir bibliotēkas, kuras ir gatavas lejupielādēt un izmantot. Šeit tiek parādīts modulis, kuru mēs šeit izmantojam.
Ķēdes shēma:
Pilna shēma Nokia5110 grafiskā LCD savienošanai ar Arduino ir sniegta zemāk.
Displeja modulim ir 8 tapas, kuras tiek izmantotas, lai izveidotu SPI komunikāciju ar Arduino. Modulis tiek darbināts ar Arduino dēļa 3,3 V tapu. Ņemiet vērā, ka šie moduļi darbojas pēc 3,3 V loģikas un tādējādi nepiegādā 5 V displeju Vcc tapai. Esmu tieši savienojis displeja tapu ar Arduino, kaut arī LCD darbojas ar 3.3V loģiku un Arduino uz 5V loģiku, jo tikai tad es atklāju, ka LCD darbojas pareizi. Ja nepieciešams, 5V pārveidošanai par 3.3V varat izmantot sprieguma dalītāju, bet man tas darbojas tikai bez loģiskās pārveidošanas. Savienojumi ir diezgan vienkārši un taisni uz priekšu. Kad esat pabeidzis savienojumus, iestatīšana izskatās apmēram tā, kā parādīts zemāk.
Arduino programma un darbs:
Veiciet tālāk norādītās darbības, lai programmētu savu Arduino Nokia 5110 displejam. Darbībās tiek pieņemts, ka jūs jau esat instalējis Arduino IDE un esat pārzinājis tā lietošanu.
1. solis: Atveriet Arduino IDE savā datorā un pēc rīku izvēlnes izvēlieties atbilstošo dēli pēc Arduino pievienošanas datoram.
2. solis: Noklikšķiniet šeit, lai lejupielādētu Nokia 5110 Display Library by Adafruit bibliotēku no GitHub repozitorija.
3. solis: Kad Zip fails ir lejupielādēts, atlasiet Sketch -> Include Library -> Add.ZIP library un pārlūkojiet vietu, kur ZIP tika lejupielādēts.
Piezīme. Jums būs arī jāielādē Adafruit GFX Graphics kodols, kas veic visus apļus, tekstu, taisnstūrus utt. To var iegūt vietnē https://github.com/adafruit/Adafruit-GFX-Library un instalēt tāpat.
4. solis: Tagad atveriet programmas paraugu, atlasot Fails -> Piemēri -> Adafruit PCD Nokia 5110 LCD bibliotēka -> pcdtest un noklikšķiniet uz augšupielādes pogas
5. solis: Kad programma ir augšupielādēta, nospiediet Arduino pogu atiestatīt, un jums vajadzētu redzēt programmas piemēru, kurā tiek parādītas visas animācijas, kā parādīts video, kas sniegts šīs apmācības beigās.
Varat izlasīt programmas piemēru, lai saprastu dažādas iebūvētās funkcijas, kuras var izmantot, lai veiktu dažādu grafikas dizainu LCD. Bet ejiet vēl vienu soli tālāk un mēģiniet LCD ekrānā parādīt CircuitDigest logotipu.
Tagad atveriet vajadzīgo attēlu programmā Paint un mainiet attēla izmēru. Maksimālais attēla izmērs, ko mēs varam izmantot savam displejam, ir 84 × 48.
Pēc attēla lieluma maiņas saglabājiet attēlu kā bitkarti (melnbaltu), izmantojot Paint opciju Saglabāt kā . Lai parādītu attēlu kā bitkarti mūsu LCD ekrānā, mums būs nepieciešama programmatūra, kas varētu pārvērst bitkartes attēlu kodā. Programmatūru var lejupielādēt, noklikšķinot šeit. Kad esat lejupielādējis, izpakojiet failu un noklikšķiniet uz “BitmapEncoder”, lai palaistu lietojumprogrammu. Atveriet bitkartes attēlu, kuru tikko saglabājām, izmantojot šo programmatūru, lai iegūtu kodētu vērtību masīvu. Jūs varat tieši nokopēt šīs vērtības un ielīmēt to savā Arduino masīvā. Programmatūras norādītā vērtība mūsu logotipam ir parādīta zemāk
Kā redzat, masīvs sākas ar vērtību 48, 48 tas ir mūsu attēla lielums. Mums to nevajadzētu pievienot savam masīvam. Tātad, noņemiet pirmās divas vērtības un izmantojiet pārējās kā masīva vērtību programmā. Masīvs izskatīsies zemāk. Pabeigta programma tiek dota beigās šīs lapas jūsu atsauci.
static const neparakstīts simbols PROGMEM logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00001100000000000000000000000000000000000000 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B00000000, B01111100, B01111100, B11000000, B00111110, B00000000, B00000000, B11111100, B01111110, B00000000, B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B11110001, B11110001, B1111111111, B1111111111 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B1111111111, B11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 B11111111, B11111111, B11111100, B00111111, B11111111, B00011111, B11111111, B11111111, B11111100, B00111111, B11111110, B00111111, B00111111, B11111111, B11111110, B01111111, B11111110, B00111110, B00000000, B01111111, B11111100, B01111111, B11111100, B01111100, B11000000, B00000000, B00000000, B01111111, B11111100, B01111110, B10000000, B00000000, B00000000, B00000000, B00000000, B11111110, B00111111, B11111111, B11111110, B00000000, B00000001, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, 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, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B000000 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111111, B00011111, B11111111, B11111000, B00000000, B00000000, B00000000, B001100 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B11111100, B00000000, B00000000, B00000001, B11111111, B10000111, B11011000, B00111111, 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, B00000011, B11111111, B11111111, B11000000, B00000000, B00000000, B00000000, B11111111, B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Tagad, lai parādītu šo bitu karti, mums jāizmanto šādas koda rindas. Kur tiek izdzēsti iepriekšējie dati ekrānā un uzrakstīts jauns bitkartes attēls.
display.clearDisplay (); display.drawBitmap (20, 0, logotips, 48, 48, 1); display.display ();
Līnija display.drawBitmap (20, 0, logo, 48, 48, 1); parādīt bitkartes attēla atrašanās vietu, lielumu un krāsu. Sintaksi var norādīt kā.
display.drawBitmap (X_Position, Y_Position, Masīva nosaukums, attēla garums, attēla platums);
Attēla garumu un platumu var iegūt no masīva pirmajiem diviem elementiem, kā norādīts iepriekš. Kad šis kods ir palaists, mēs parādīsim bitu karti mūsu LCD ekrānā, kā parādīts zemāk.
Varat arī parādīt vienkāršu tekstu, kā parādīts zemāk:
Ceru, ka esat sapratis apmācību un saņēmāt Nokia 5110 LCD saskarni ar Arduino. Izmantojot šo grafisko displeju jūsu piedurknē, varat izveidot daudzus projektus, kuriem nepieciešama neliela grafikas informācija. Pilnīgu darbu var atrast zemāk sniegtajā videoklipā. Ja jums rodas kādas problēmas, lai tas darbotos, varat izmantot forumu, lai publicētu problēmu, vai komentāru sadaļas zemāk.