LCD Memory a zobrazení vlastního obrázku

Na displeji nechceš jenom zobrazovat text, ale třeba si vykreslit i vlastní obrázek nebo logo. V tomto návodu ti poradíme jak na to!

V našem dnešním článku budeme používat displej LaskaKit 2.7″ 400×240 LCD Memory displej s naší vývojovou deskou ESP32-LPkit a naším programátorem LaskaKit CH340 programmer USB-C, microUSB, UART

Pro programování displeje použijeme knihovnu od Adafruit Adafruit_SharpMem a také jejich Adafruit_GFX knihovnu. Díky těmto knihovnám je práce se displejem velmi rychlá a snadná.

Knihovny nainstaluješ přímo v Arduino IDE.

Přidání knihovny.

Nastavení obrázku

Nejprve si vytvoř obrázek. My používáme GIMP, ale vytvořit jej můžeš v čemkoliv. Náš LCD modul má rozměr 2.7” s rozlišením 400x240px. Tyto hodnoty zadej v nastavení “plátna”. Jako pozadí bude služebně bílá barva – jak je znázorněno na obrázku níže.

Nastavení obrázku

Vytvoření obrázku

Do tohoto obrázku si můžeš napsat a zkopírovat co jen budeš chtít. Ale pozor! Pouze černobíle!

My tam dali obrázek páječky a nápis “Bastlím s láskou”.

Obrázek, který chceme zobrazit

Takto vytvoření obrázek uložíme ve formátu PNG.

Pro převedení obrázku z formátu PNG do formátu, kterému rozumí displej si stáhni si program LCD IMAGE CONVERTER.

LCD IMAGE CONVERTER

Spusť program a klikni na FILE -> OPEN. Zde vyber tvůj obrázek uložený jako PNG.

Vyhledání obrázku

Klikni na OPTIONS -> CONVERSION 

Konverze obrázku

Nastavení uprav dle obrázku níže.

MONOCHROMATICKÉ zobrazení, INVERTOVANÝ obrázek a klikni na Show Preview

Nastavení konverze

V nově otevřeném okně uvidíš náhled obrázku a zároveň i hexadecimální hodnotu každého pixelu.

Zobrazení pole

Pole vygenerovaných hexadecimálních hodnot označ a zkopíruj. 

Arduino IDE a tvůj kód

Nejprve založ v Arduino IDE nový projekt a vytvoř soubor (například) bitmap.h – do něj vlož pole hodnot z programu LCD IMAGE CONVERTER

Zkopírované pole do bitmap.h

Pole musí být umístěno takto:

const unsigned char logo [] PROGMEM = {

POLE HODNOT Z PROGRAMU };

A teď k samotnému, ukázkovému, programu.

ESP32-LPkit je propojen s LCD modulem přes SPI sběrnici – MOSI, SCK a CS.

#define SHARP_SCK  18

#define SHARP_MOSI 23

#define SHARP_SS   5

a napájení – 3.3V a GND.

A výsledek je tu!

Logo na displeji