Išsiaiškinkime, kaip prijungti 84x48 pikselių skystųjų kristalų ekraną iš „Nokia 5110“prie „Arduino“.
Būtinas
- - Arduino;
- - „Nokia 5110/3310“skystųjų kristalų ekranas;
- - jungiamieji laidai.
Nurodymai
1 žingsnis
Prijunkime LCD ekraną iš „Nokia 5110“prie „Arduino“pagal toliau pateiktą schemą.
2 žingsnis
Daugelis bibliotekų yra parašytos dirbti su šiuo LCD ekranu. Siūlau naudoti šį: https://www.rinkydinkelectronics.com/library.php?id=44 (atsisiųskite failą LCD5110_Basic.zip).
Norėdami įdiegti, išpakuokite failą į katalogą „Arduino IDE / libraries /“.
Biblioteka palaiko šias funkcijas.
LCD5110 (SCK, MOSI, DC, RST, CS); - pranešimas apie LCD ekraną, nurodantį atitikimą „Arduino“kaiščiams;
InitLCD ([kontrastas]); - 5110 ekrano inicijavimas pasirinktinai nurodant kontrastą (0–127), numatytasis nustatymas yra 70;
setContrast (kontrastas); - nustato kontrastą (0-127);
enableSleep (); - perjungia ekraną į miego režimą;
išjungtiSleep (); - išjungia ekraną iš miego režimo;
clrScr (); - išvalo ekraną;
clrRow (eilutė, [pradžia], [pabaiga]); - pasirinktos eilutės numerio eilutės išvalymas nuo pozicijos pradžios iki pabaigos;
apversti (tiesa); ir apversti (klaidinga); - įjungti ir išjungti LCD ekrano turinio inversiją;
spausdinti (eilutė, x, y); - rodo simbolių eilutę nurodytomis koordinatėmis; vietoj x-koordinačių galite naudoti kairę, centrą ir dešinę; standartinio šrifto aukštis yra 8 taškai, todėl linijos turi būti išdėstytos 8 taškuose;
printNumI (skaičius, x, y, [ilgis], [užpildas]); - rodyti sveiką skaičių ekrane tam tikroje padėtyje (x, y); ilgis - norimas skaičiaus ilgis; užpildas - simbolis, užpildantis „tuštumą“, jei skaičius yra mažesnis nei norimas ilgis; pagal nutylėjimą yra tuščia vieta ";
printNumF (skaičius, dec, x, y, [daliklis], [ilgis], [užpildas]); - rodyti slankiojo kablelio skaičių; dec - dešimtųjų skaičius; daliklis - dešimtainis taškas, taškas "." pagal numatytuosius nustatymus;
setFont (vardas); - pasirinkti šriftą; įmontuoti šriftai pavadinti „SmallFont“ir „TinyFont“; eskize galite apibrėžti savo šriftus;
invertText (true); ir invertText (false); - teksto inversija įjungta / išjungta;
drawBitmap (x, y, duomenys, sx, sy); - rodyti paveikslėlį ekrane x ir y koordinatėmis; duomenys - masyvas, kuriame yra paveikslėlis; sx ir sy yra paveikslo plotis ir aukštis.
3 žingsnis
Parašykime tokį eskizą. Pirmiausia įtraukiame biblioteką, tada paskelbiame „LCD5110“klasės egzempliorių su smeigtukų priskyrimais.
Atlikdami sąrankos () procedūrą, mes inicijuojame LCD ekraną.
Taikydami ciklą (), mes išvalome ekraną ir rašome savavališką tekstą mažu šriftu, po juo vidutiniu šriftu rodome sekundžių skaitiklį.
4 žingsnis
Parodykime paveikslėlį. Norėdami tai padaryti, paruoškime nespalvotą vaizdą, kurį norime rodyti „Nokia 5110“. Atminkite, kad ekrano skiriamoji geba yra 48 x 84 taškų, o vaizdas neturi būti didesnis. Puslapyje https://www.rinkydinkelectronics.com/t_imageconverter_mono.php konvertuokite vaizdą į bitų masyvą. Atsisiųskite gautą failą su plėtiniu "*.c" ir pridėkite jį prie projekto per meniu: Eskizas -> Pridėti failą … arba tiesiog įdėkite failą į eskizų katalogą ir tada iš naujo įkelkite „Arduino IDE“.
5 žingsnis
Dabar jums reikia deklaruoti masyvą su vaizdo duomenimis programos kode (mano kode tai yra eilutė extern uint8_t mysymb;), tada naudokite „drawBitmap“() funkciją, kad vaizdas būtų rodomas norimoje ekrano vietoje.
6 žingsnis
Įkelkite eskizą į „Arduino“. Dabar tekstą pakeičia paveikslėlis, o skaitiklis kaskart padidina jo vertę.