V tomto projektu navrhneme 8x8 LED maticový displej, k tomu budeme propojovat 8x8 LED maticový modul s Arduino Uno. Matice LED 8x8 obsahuje 64 LED (Light Emitting Diodes), které jsou uspořádány ve formě matice, odtud název LED matice.
Tyto matice lze vyrobit obíháním 64 LED diod, avšak tento proces je časově náročný. Nyní jsou dnes k dispozici v kompaktních formách, jak je znázorněno na následujícím obrázku. Tyto kompaktní moduly jsou k dispozici v různých velikostech a mnoha barvách. Cena modulu je stejná jako cena 64 LED, takže pro fanoušky je to nejjednodušší pracovat.
Holá matice LED má 16 vývodů s 8 společnými kladnými a dalšími 8 společnými zápornými. Pro připojení této matice přímo k UNO musíme ušetřit 16 pinů na UNO. S výstupními piny nízkými na UNO nemůžeme ušetřit 16 PINů. Musíme tedy tuto matici připojit k čipu ovladače. Tento čip ovladače spolu s maticí přichází jako sada, která je zobrazena na následujícím obrázku.
Tento modul bude propojen s Arduino pro zobrazování abeced, tedy maticového displeje. Nejprve pro propojení LED matice s Arduinem si musíme stáhnout knihovnu speciálně navrženou pro LED MATRIX. Tato knihovna bude k dispozici na adrese:
Po stažení souboru ZIP extrahujte obsah do složky ARDUINO. (Přejděte na místní disk, kde je nainstalován software ARDUINO NIGHTLY, otevřete složku, vyhledejte složku s názvem „knihovna“, extrahujte obsah souboru zip v této složce, restartujte program, nyní budete moci používat funkce maticového rozhraní)
Požadované komponenty
Hardware: Arduino Uno, napájecí zdroj (5 V), kondenzátor 100 uF (připojený přes napájecí zdroj)
Software: Arduino Nightly
Schéma zapojení a vysvětlení
Spojení mezi Arduino Uno a LED maticovým modulem jsou uvedena v následující tabulce.
PIN2 ------------------ LOAD nebo CHIPSELECT modulu LED
PIN3 ------------------ HODINY LED modulu
PIN4 ------------------ DATAIN LED modulu
+ 5V ------------------ VCC LED modulu
GND ------------------ GND LED modulu
Schéma zapojení maticový displej 8 * 8 LED je znázorněn na níže obrázku.
Nyní pro použití speciálních futures nazývaných instalací nové knihovny musíme v programu vytvořit několik příkazů, které jsou uvedeny níže.
#include "LedControlMS.h" #define NBR_MTX 1 LedControl lc = LedControl (4,3,2, NBR_MTX); lc.writeString (0, "CIRCUITDIGEST"); lc.clearAll (); |
Nejprve musíme zavolat soubor záhlaví pro propojení LED matice s Arduino Uno. To je „#include„ LedControlMS.h “”, tento soubor záhlaví volá knihovnu speciální funkce.
S těmito moduly máme vlastnost, že můžeme spojit mnoho modulů do série a programovat je společně jako jeden displej. Tato funkce se hodí, když potřebujeme zobrazovací jednotku, která dokáže zobrazit více znaků najednou. Musíme tedy říci řadiči, kolik displejů připojujeme.
V tomto modulu jsou hlavně tři piny; tok dat z UNO do modulu probíhá s těmito třemi piny. Kolíky jsou DATAIN (kolík pro příjem dat), CLOCK (kolík s hodinami) a CHIPSELECT (kolík pro příjem příkazu).
Nyní musíme OSN říct, kde spojujeme tyto piny. To se provádí příkazem „LedControl lc = LedControl (4,3,2, NBR_MTX); “. “Lc.writeString (0,„ CIRCUITDIGEST “);”, tento příkaz se používá k určení UNO, které znaky se mají zobrazit na matici LED. S výše uvedeným se na displeji zobrazí „CIRCUITDIGEST“, přičemž každý znak je jednou.
Před odesláním jakýchkoli dalších dat musíme vymazat paměť čipu displeje, to se provádí příkazem „lc.clearAll ();“.
Tímto způsobem můžeme snadno propojit 8x8 LED matici s Arduino Uno.