Laat ons uitvind hoe u 'n 84x48-pixel-skerm met vloeibare kristal van Nokia 5110 aan Arduino kan koppel.
Nodig
- - Arduino;
- - LCD-skerm vir Nokia 5110/3310;
- - verbindingsdrade.
Instruksies
Stap 1
Laat ons die LCD-skerm van Nokia 5110 aan Arduino koppel volgens die onderstaande diagram.
Stap 2
Baie biblioteke is geskryf om met hierdie LCD-skerm te werk. Ek stel voor dat u hierdie een gebruik: https://www.rinkydinkelectronics.com/library.php?id=44 (laai die lêer LCD5110_Basic.zip af).
Pak die lêer in die Arduino IDE / biblioteke / gids om dit te installeer.
Die biblioteek ondersteun die volgende funksies.
LCD5110 (SCK, MOSI, DC, RST, CS); - aankondiging van die LCD-skerm wat die korrespondensie met die penne van die Arduino aandui;
InitLCD ([kontras]); - die initialisering van die 5110-skerm met 'n opsionele aanduiding van kontras (0-127), die standaard is 70;
stelKontras (kontras); - stel die kontras (0-127);
enableSleep (); - plaas die skerm in slaapmodus;
disableSleep (); - bring die skerm uit die slaapmodus;
clrScr (); - maak die skerm skoon;
clrRow (ry, [begin], [einde]); - skoonmaak van die geselekteerde ry nommer ry, van posisie begin tot einde;
omkeer (waar); en omkeer (vals); - die inversie van die inhoud van die LCD-skerm in- en uitskakel;
druk (string, x, y); - vertoon 'n string karakters met die gespesifiseerde koördinate; in plaas van x-koördineer, kan u LINKS, SENTRUM en REGS gebruik; die hoogte van die standaard font is 8 punte, dus moet die lyne op 8 punte gespasieer wees;
printNumI (num, x, y, [lengte], [vuller]); - vertoon 'n heelgetal op die skerm op 'n gegewe posisie (x, y); lengte - die gewenste lengte van die nommer; vulmiddel - 'n karakter om die "leemtes" te vul as die getal kleiner is as die verlangde lengte; die standaard is 'n leë spasie ";
printNumF (num, dec, x, y, [verdeler], [lengte], [vuller]); - vertoon 'n drywende nommer; des - aantal desimale plekke; verdeler - desimale punt, punt "." by verstek;
setFont (naam); - kies 'n lettertipe; ingeboude lettertipes word SmallFont en TinyFont genoem; u kan u lettertipes in die skets definieer;
invertText (waar); en invertText (onwaar); - teksversie aan / uit;
drawBitmap (x, y, data, sx, sy); - vertoon die prentjie op die skerm met die x- en y-koördinate; data - 'n skikking wat 'n prent bevat; sx en sy is die breedte en hoogte van die prentjie.
Stap 3
Kom ons skryf so 'n skets. Eerstens sluit ons die biblioteek in, dan verklaar ons 'n voorbeeld van die LCD5110-klas met speldopdragte.
In die instelprosedure () begin ons die LCD-skerm.
In die lus () -prosedure maak ons die skerm skoon en skryf ons willekeurige teks in 'n klein lettertipe, onder dit, in 'n medium font, vertoon die toonbank van sekondes.
Stap 4
Laat ons 'n prentjie vertoon. Kom ons berei 'n monochroom beeld voor wat ons op die Nokia 5110 wil vertoon. Onthou dat die skermresolusie 48 by 84 pixels is en dat die prentjie nie groter moet wees nie. Omskep die beeld op 'n bladsy https://www.rinkydinkelectronics.com/t_imageconverter_mono.php in 'n bietjie skikking. Laai die resulterende lêer af met die uitbreiding "*.c" en voeg dit by die projek via die menu: Skets -> Voeg lêer by … of plaas die lêer eenvoudig in die sketsgids en laai dan die Arduino IDE weer.
Stap 5
Nou moet u 'n skikking met beelddata in die programkode verklaar (in my kode is dit die lyn ekstern uint8_t mysymb;), en gebruik dan die drawBitmap () -funksie om die beeld op die gewenste plek op die skerm te vertoon.
Stap 6
Laai die skets op na Arduino. Nou word die teks deur 'n prentjie vervang, en die toonbank verhoog elke keer die waarde daarvan.