Pojďme zjistit, jak připojit displej z tekutých krystalů 84x48 pixelů od Nokie 5110 k Arduinu.
Nezbytné
- - Arduino;
- - LCD displej pro Nokia 5110/3310;
- - připojení vodičů.
Instrukce
Krok 1
Připojte obrazovku LCD od Nokie 5110 k Arduinu podle níže uvedeného schématu.
Krok 2
Pro práci s touto obrazovkou LCD bylo napsáno mnoho knihoven. Navrhuji použít tento: https://www.rinkydinkelectronics.com/library.php?id=44 (stáhnout soubor LCD5110_Basic.zip).
Chcete-li nainstalovat, rozbalte soubor do adresáře Arduino IDE / libraries /.
Knihovna podporuje následující funkce.
LCD5110 (SCK, MOSI, DC, RST, CS); - oznámení na LCD obrazovce indikující korespondenci s piny Arduina;
InitLCD ([kontrast]); - inicializace displeje 5110 s volitelnou indikací kontrastu (0-127), výchozí je 70;
setContrast (kontrast); - nastaví kontrast (0-127);
enableSleep (); - přepne obrazovku do režimu spánku;
disableSleep (); - přivede obrazovku z režimu spánku;
clrScr (); - vymaže obrazovku;
clrRow (řádek, [začátek], [konec]); - vymazání vybraného řádku čísla od začátku do konce;
invertovat (true); a invert (false); - zapnutí a vypnutí inverze obsahu obrazovky LCD;
tisk (řetězec, x, y); - zobrazí řetězec znaků se zadanými souřadnicemi; místo souřadnice x můžete použít LEFT, CENTER a RIGHT; výška standardního písma je 8 bodů, takže řádky musí být rozmístěny v 8 bodech;
printNumI (num, x, y, [délka], [výplň]); - zobrazit celé číslo na obrazovce v dané pozici (x, y); délka - požadovaná délka čísla; výplň - znak k vyplnění "prázdnoty", pokud je počet menší než požadovaná délka; výchozí hodnota je prázdné místo;
printNumF (num, dec, x, y, [dělič], [délka], [výplň]); - zobrazit číslo s plovoucí desetinnou čárkou; dec - počet desetinných míst; dělič - desetinná tečka, ve výchozím nastavení tečka ".";
setFont (jméno); - vyberte písmo; vestavěná písma jsou pojmenována SmallFont a TinyFont; v náčrtu můžete definovat svá písma;
invertText (true); a invertText (false); - inverze textu zapnuta / vypnuta;
drawBitmap (x, y, data, sx, sy); - zobrazit obrázek na obrazovce v souřadnicích xay; data - pole obsahující obrázek; sx a sy jsou šířka a výška obrázku.
Krok 3
Napíšeme takový náčrt. Nejprve zahrneme knihovnu, poté deklarujeme instanci třídy LCD5110 s přiřazením pinů.
V proceduře setup () inicializujeme LCD obrazovku.
V proceduře loop () vyčistíme obrazovku a napíšeme libovolný text malým písmem, pod ním středním písmem zobrazíme počítadlo sekund.
Krok 4
Pojďme zobrazit obrázek. K tomu si připravíme černobílý obrázek, který chceme na Nokii 5110 zobrazit. Nezapomeňte, že rozlišení obrazovky je 48 x 84 pixelů a obraz by neměl být větší. Na stránce https://www.rinkydinkelectronics.com/t_imageconverter_mono.php převeďte obrázek na bitové pole. Stáhněte si výsledný soubor s příponou "*.c" a přidejte jej do projektu pomocí nabídky: Sketch -> Add File … nebo jednoduše vložte soubor do adresáře skic a poté znovu načtěte IDE Arduino.
Krok 5
Nyní musíte v programovém kódu deklarovat pole s obrazovými daty (v mém kódu je to řádek extern uint8_t mysymb;) a poté pomocí funkce drawBitmap () zobrazit obraz na požadovaném místě na obrazovce.
Krok 6
Nahrajte náčrt do Arduina. Nyní je text nahrazen obrázkem a čítač pokaždé zvyšuje svou hodnotu.