Izdomāsim, kā savienot 84x48 pikseļu šķidro kristālu displeju no Nokia 5110 ar Arduino.
Nepieciešams
- - Arduino;
- - LCD displejs Nokia 5110/3310;
- - savienojošie vadi.
Instrukcijas
1. solis
Savienosim LCD ekrānu no Nokia 5110 ar Arduino saskaņā ar zemāk redzamo diagrammu.
2. solis
Daudzas bibliotēkas ir rakstītas darbam ar šo LCD ekrānu. Es iesaku izmantot šo: https://www.rinkydinkelectronics.com/library.php?id=44 (lejupielādējiet failu LCD5110_Basic.zip).
Lai instalētu, izpakojiet failu direktorijā Arduino IDE / libraries /.
Bibliotēka atbalsta šādas funkcijas.
LCD5110 (SCK, MOSI, DC, RST, CS); - paziņojums par LCD ekrānu, kas norāda atbilstību Arduino tapām;
InitLCD ([kontrasts]); - displeja 5110 inicializēšana ar kontrasta izvēles norādi (0-127), noklusējums ir 70;
setContrast (kontrasts); - iestata kontrastu (0-127);
enableSleep (); - iestata ekrānu miega režīmā;
atspējotSleep (); - izved ekrānu no miega režīma;
clrScr (); - notīra ekrānu;
clrRow (rinda, [sākums], [beigas]); - notīrīt izvēlēto rindas numuru rindu no pozīcijas sākuma līdz beigām;
apgriezt (taisnība); un apgriezt (nepatiesa); - LCD ekrāna satura inversijas ieslēgšana un izslēgšana;
druka (virkne, x, y); - parāda rakstzīmju virkni ar norādītajām koordinātām; x-koordinātu vietā varat izmantot LEFT, CENTER un RIGHT; standarta fonta augstums ir 8 punkti, tāpēc līnijām jābūt izvietotām 8 punktos;
printNumI (skaitlis, x, y, [garums], [pildviela]); - uz ekrāna attēlot veselu skaitli noteiktā vietā (x, y); garums - vēlamais skaitļa garums; filler - rakstzīme, lai aizpildītu "tukšumus", ja skaitlis ir mazāks par vēlamo garumu; noklusējums ir tukša vieta ";
printNumF (skaitlis, dec, x, y, [dalītājs], [garums], [pildviela]); - attēlot peldošā komata skaitli; dec - decimālzīmju skaits; dalītājs - decimālzīme, punkts "." pēc noklusējuma;
setFont (nosaukums); - izvēlēties fontu; iebūvētie fonti ir nosaukti SmallFont un TinyFont; skicē varat definēt savus fontus;
invertText (true); un invertText (false); - teksta inversija ieslēgta / izslēgta;
drawBitmap (x, y, dati, sx, sy); - attēlot attēlu uz ekrāna ar x un y koordinātām; dati - masīvs ar attēlu; sx un sy ir attēla platums un augstums.
3. solis
Uzrakstīsim šādu skici. Pirmkārt, mēs iekļaujam bibliotēku, pēc tam paziņojam LCD5110 klases eksemplāru ar piespraudes.
Iestatīšanas () procedūrā mēs inicializējam LCD ekrānu.
Procedūrā loop () mēs notīrām ekrānu un uzrakstām patvaļīgu tekstu ar nelielu fontu, zem tā ar vidēju fontu, parādām sekunžu skaitītāju.
4. solis
Parādīsim attēlu. Lai to izdarītu, sagatavosim vienkrāsainu attēlu, kuru vēlamies parādīt ierīcē Nokia 5110. Atcerieties, ka ekrāna izšķirtspēja ir 48 x 84 pikseļi, un attēls nedrīkst būt lielāks. Lapā https://www.rinkydinkelectronics.com/t_imageconverter_mono.php pārveidojiet attēlu bitu blokā. Lejupielādējiet iegūto failu ar paplašinājumu "*.c" un pievienojiet to projektam, izmantojot izvēlni: Skice -> Add File … vai vienkārši ievietojiet failu skiču direktorijā un pēc tam atkārtoti ielādējiet Arduino IDE.
5. solis
Tagad jums ir jādeklarē masīvs ar attēla datiem programmas kodā (manā kodā tā ir līnija extern uint8_t mysymb;), un pēc tam izmantojiet funkciju drawBitmap (), lai attēlu parādītu ekrānā vēlamajā vietā.
6. solis
Augšupielādējiet skici vietnē Arduino. Tagad tekstu aizstāj attēls, un skaitītājs katru reizi palielina tā vērtību.