LED MATRIX

Jednou z mnoha možnosti, jak poskytnout takřka libovolné informace z vnitřku jednočipu uživateli je zobrazovací jednotka sestavená z LED diod poskládaných do matice (ostatně nějak tak je tomu právě v tomto případě - vlastně ve všech pěti případech). Celá atrakce začala zkoušením na vypájené matici 5x7 bodů. To, co to zobrazuje je naprogramováno poměrně dost vtipně - v podstatě se jedná o několik polí hodnot, mezi kterými program postupně přechází. Elegance v tom moc není, ale jako první pokus to je uspokojivé... výsledek vypadá (no vlastně už nevypadá - rozebral jsem to) takto:


Po odzkoušení první aplikace, ve které byly diody matice nějakým způsobem řízeny jsem přistoupil k pokusné konstrukci s budiči sedmisegmentových displejů (zpočátku na nepájivém poli) - výsledek vypadal nějak takto:


Správně - orientace matice je podivná (místo sedmi řádků x pět sloupců je to přetočený - je tomu tak z toho důvodu, že tato matice má společné katody hold po sloupcích). Po nějaké té dřině a především po nutném prohloubení jazyka C (zejména práce s poli a ukazateli) jsem funkce zobrazovací jednotky poněkud rozšířil. Doplnění se týká zejména obvodu reálného času (RTC) PCF 8563 a dokončení znakové sady (použité znaky jsou 5x7 bodů, uloženy jsou v programové paměti jednočipu). Výsledek pak vypadá nějak takto:


Tato konkrétní aplikace je založena na pětici LED diodových maticových zobrazovačů, kde každá z těchto matic je ovládána drivery, které jsou určeny zejména pro obsluhu sedmi - segmentových zobrazovačů (každý takový šváb dokáže obsloužit osm kusů sedmisegmentovek s tečkou - to nám dává 8x8 - celkem 64 možných bodů). Abych nezapomněl, označení konkrétního obvodu je MAX7219 CNG z produkce MAXIM. Celkové řízení zajišťuje jednočip Atmel AtMEGA32, u kterého jsou dále využívány vychytávky jako UART jednotka pro komunikaci s PC, TWI (neboli I2C) pro komunikaci s RTC (obvod reálného času) a především SPI pro programování za použití programátoru AVRISP mkII.

 

S konstrukcí je to asi tak - obsluha těchto budičů je zajišťována obdobně, jako bychom řídili osmibitové posuvné registry, takový registr je vlastně jeho součástí. Pro ovládání je pak nutné zajistit řízení těchto signálů:

DIN        -    vstup sériových dat

CLK        -    časové impulzy

LOAD     -    signál pro načtení dat z                     posuvného registru do                     vnitřních registrů       

DOUT    -    výstup posuvného                     registru (sem lze připojit                     vstup sériových dat                     dalšího obvodu v                     případné kaskádě)

 

Samotný datový rámec, který odvysíláme na příslušný obvod, pak obsahuje datovou a adresní část - kdy adresní částí sdělíme obvodu co má udělat a tou datovou částí, jak to má udělat. Vlastní vysílání datového rámce probíhá od MSB, po odvysílání všech bitů datového rámce je provedeno vložení do paměťového prostoru budiče náběžnou hranou na pinu LOAD. Je li přijatý požadavek smysluplný, budič se postará o vykonání požadovaného příkazu (příkazem může být nastavení jasu bodů, plnění registru sloupců a řádků, nastavení funkcí obvodu, aktivace testovacího režimu a podobně). Více napoví vnitřní blokové schéma obvodu.
 
 
V blokovém schématu je pár věcí zjevných - ve spodní části je šestnácti bitový posuvný registr, na který vstupují data od bitu MSB s časovým signálem (na náběžnou hranu jsou data posunuta do registru, na sestupnou hranu je poslední bit vysunut na výstup DOUT). Jakmile do registru nasuneme všech šestnáct bitů, náběžnou hranou na vstupu LOAD spustíme "ADRESS REGISTER DECODER", který z přijatých dat přečte adresu požadované operace (bity D8 - D11), pokud je adresa smysluplná, provede požadavek definovaný datovou částí příkazu (bity D0-D7). Soupis adres je uveden zde:
 
 

Diskusní téma: LED MATRIX

Datum: 18.09.2017

Vložil: cristobal

Titulek: relog

bueno en proyecto pedirles por favor en viarme el codigo fuente,gracias
mi email es cristobalizaguirre65@yahoo.com

Odpovědět

—————

Datum: 04.06.2017

Vložil: Arang

Titulek: Nice Project

Ráno pane .. jak jste vy ..? Nejlepším projektem, ale vypadá to těžko použít ..? Můžete mi poslat tento kód projektu ... tubeh@hotmail.com

Odpovědět

—————

Datum: 27.02.2017

Vložil: skajay

Titulek: source code

It is a nice project. I would like to make it. could you able to send me the technical details such as schematic diagram and source code or hex file? or how much it will cost?
Please reply on skajayghosh@gmail.com

Odpovědět

—————

Datum: 15.02.2017

Vložil: Muhammad Irfan

Titulek: Need Source Code

Please send me source code. My email addres is irfanmkw@gmail.com

Thanks in advance

Odpovědět

—————

Datum: 02.01.2017

Vložil: soumitra mandal

Titulek: need sorce code and schematic

kindly send me the kit details and code, I want frame a clock like this for my drawing room.

SOUMITRA MANDAL,

Odpovědět

—————

Datum: 29.11.2016

Vložil: carlos

Titulek: relogio 64 posiçoes

Caro pode me ensinar codigo como movimento dos sec enteresante.

Odpovědět

—————

Datum: 14.10.2016

Vložil: Francisco Bermudez

Titulek: Proyecto de led

Mi correo es: franober510@gmail.com

Gracias

Odpovědět

—————

Datum: 14.10.2016

Vložil: Francisco Bermudez

Titulek: Proyecto de led

Por favor el esquema y codigo, estoy realizando uno igual con Arduino Uno
Gracias

Odpovědět

—————

Datum: 21.09.2016

Vložil: Miguel

Titulek: Reloj de leds

Me gusta estaba buscando uno como este puedes pasarme esquemas y codigo nofane66@hotmail.com gracias

Odpovědět

—————

Datum: 07.09.2016

Vložil: carlos

Titulek: relogio

caro amigo tem como compartilhar o codigo do relogio agradeço.
carlosdefreitas00@gmail.com

Odpovědět

—————