Maticový 32×16 LED displej modul P10

V tomto článku ti ukážeme základní práci s modulem LED displeje 32×16 bodů. Modul budeme ovládat pomocí Arduino UNO.

Příprava

Jako první je potřeba zprovoznit podporu pro ovládání v Arduino IDE. Pro jednoduchost použijeme knihovnu LedP10. Knihovnu stačí stáhnout, rozbalit a nakopírovat do složky s knihovnami Arduino IDE – C:\Users\xxxx\Documents\Arduino\libraries.
Knihovna ještě potřebuje jednu podpůrnou knihovnu a tou je TimerOne. Ta se nainstaluje již standardně pomocí Správce knihoven.

Tím je příprava hotová a můžeš se pustit do otestování.

Propojení panelu s Arduino UNO

Propojení Arduina s panelem nejlépe naznačuje následující obrázek:

Pro jednoduchost otestování není v případě použití jednoho panelu nutné zapojovat externí napájení panelu a postačí pouze propojení s datovými piny Arduina. Panel je napájen pomocí nich. Panel však nemusí dosahovat plného jasu LED diod, ale to na prvotní seznámení s funkcemi panelu není na závadu.

Test funkčnosti

Knihovna umožňuje jednoduchým způsobem na panelu zobrazovat statický a dynamický jednořádkový a dvouřádkový text, běžící jdnořádkový a dvouřádkový text.

Statický text

Procedura showmsg_single_static přijímá následující parametry:
showmsg_single_static(pole_znaku_k_zobrazeni, font);. Parametrem font lze vybrat jakým fontem se text zobrazí. V knihovně jsou k dispozici fonty dva – 0: Arial_Black_16 a 1: Arial_14. U dvouřádkového textu je automaticky použitý font 1: Arial_14 nehledě na nastavení.
U procedury showmsg_double_static je pouze navíc parametr s textem, který se má zobrazit na druhém řádku.

Dynamický text

Jedná se o statické zobrazování měnícího se textu, např. naměřené hodnoty na analogovém pinu.

Běžící text

Procedura showmsg_single_scroll přijímá následující parametry:
showmsg_single_scroll( pole_znaku_k_zobrazeni, pocet_opakovani_zobrazeni_textu, rychlost_posouvani_textu, font);
Hodnota rychlosti se zadává v rozsahu 0 – 30, kde 0 znamená rychlost nejnižší a 30 rychlost nejvyšší. Nastavení fontu je stejné jako u statického textu.

U dvouřádkového textu:
showmsg_double_scroll( pole_znaku_k_zobrazeni_na_1radku, pole_znaku_k_zobrazeni_na_2radku, pocet_opakovani_textu_na_1radku, pocet_opakovani_textu_na_2radku , rychlost_posouvani_textu_na_1radku, rychlost_posouvani_textu_na_2radku, font);

Font je stejně jako u statického dvouřádkového textu automaticky nastaven na 1: Arial_14. Hodnoty počtu opakování a rychlostí posouvání se mohou u obou řádků lišit.

V našem příkladu je u druhého řádku použita hodnota počtu opakování INF. Tato hodnota značí, že text na daném řádku se bude opakovat stále. Tuto hodnotu lze použít i u jednořádkového běžícího textu.

Při použití hodnoty INF měj na paměti, že žádný další kód už nebude vykonáván, protože použitím této hodnoty je text zobrazován v nekonečné smyčce.

Řízení jasu panelu

Panel umožňuje i řízení jasu LED diod.

Tato procedura má pouze jeden parametr, který určuje hodnotu svítivosti LED. Nastavení jasu je možné v rozsahu 0 – 255, kde 0 znamená nejmenší jas – LED diody nesvítí a 255 znamená jas nejvyšší – LED diody svítí na plno.