V tejto relácii navrhneme 8x8 LED displej s 8x8 LED maticou a mikrokontrolérom ATmega8, ktorý dokáže zobrazovať abecedy alebo mená. Typická matica LED 8x8 je uvedená nižšie:
Matica LED 8x8 obsahuje 64 LED (diódy emitujúce svetlo), ktoré sú usporiadané vo forme matice, a preto sa nazýva LED matica. Tieto matice je možné vytvoriť obvodom 64 LED; tento proces je však časovo náročný. Teraz sú dnes dostupné v kompaktných formách, ako je to znázornené na obrázku. Tieto kompaktné moduly sú k dispozícii v rôznych veľkostiach a mnohých farbách. Jeden si ich môže zvoliť pre väčšie pohodlie.
Cena modulu je rovnaká ako cena 64 LED, takže pre fanúšikov je to najjednoduchšie pracovať. Konfigurácia PIN modulu je zobrazená na obrázku. Aby sa zabránilo chybám, mali by byť čísla PIN presne také, aké sú zobrazené na obrázku. Konfigurácii vnútorného obvodu modulu sa budeme podrobne venovať v popise.
Komponenty
Hardvér: ATMEGA8, napájací zdroj (5 V), AVR-ISP PROGRAMÁTOR, kondenzátor 100 uF (pripojený cez napájací zdroj), rezistor 1 KΩ (8 kusov).
Softvér: Atmel studio 6.1, progisp alebo flash magic.
Schéma zapojenia a funkčnosť
Pripojenia, ktoré sa uskutočňujú medzi ATMEGA8 a LED maticovým modulom, sú zobrazené na obrázku nižšie.
PORTD, PIN0 ------------------ PIN13 LED modulu
PORTD, PIN1 ------------------ PIN03 LED modulu
PORTD, PIN2 ------------------ PIN04 LED modulu
PORTD, PIN3 ------------------ PIN10 LED modulu
PORTD, PIN4 ------------------ PIN06 LED modulu
PORTD, PIN5 ------------------ PIN11 LED modulu
PORTD, PIN6 ------------------ PIN15 LED modulu
PORTD, PIN7 ------------------ PIN16 LED modulu
PORTB, PIN0 ------------------ PIN09 LED modulu
PORTB, PIN1 ------------------ PIN14 LED modulu
PORTB, PIN2 ------------------ PIN08 LED modulu
PORTB, PIN3 ------------------ PIN12 LED modulu
PORTC, PIN0 ------------------ PIN01 LED modulu
PORTC, PIN1 ------------------ PIN07 LED modulu
PORTC, PIN2 ------------------ PIN02 LED modulu
PORTC, PIN3 ------------------ PIN05 LED modulu
Schéma zapojenia maticový displej 8x8 LED je znázornený na nižšie obrázku.
K dispozícii je 64 LED usporiadaných do matice. Takže máme 8 stĺpcov a 8 riadkov, ako je znázornené na obrázku. Cez tieto riadky a stĺpce sú spojené všetky kladné svorky v rade. Pre každý riadok existuje jeden spoločný kladný pól pre všetkých 8 LED diód v danom rade. Je to znázornené na nasledujúcom obrázku,
Takže pre 8 riadkov máme 8 spoločných kladných svoriek, zvážte prvý riadok. Ako je vidieť na obrázku, LED diódy od D1 do D8 majú spoločnú kladnú svorku a sú vyvedené z LED MODULU ako PIN9.
Malo by byť zrejmé, že všetky bežné pozitívy radov nie sú vyvedené z LED MODULU usporiadane. Na spoločných termináloch sa v každom prípade vyskytujú veľmi nezrovnalosti. Toto by ste si mali pamätať pri pripájaní terminálu.
Povedzme, že ak chceme, aby svietila jedna alebo všetky LED v prvom riadku matice, mali by sme napájať PIN9 LED MATRIX MODULU, nie PIN0.
Povedzme, že ak chceme, aby svietila jedna alebo všetky LED diódy v treťom RIADKU matice, mali by sme napájať PIN8 LED MODULU MATRIX, nie PIN2.
Takže kedykoľvek chceme, aby jedna alebo všetky LED v riadku boli zapnuté, musí byť napájaný zodpovedajúci kolík LED MODULU.
Týmto ešte nie je koniec, iba keď ponecháte silu RIADKY neprináša nič. Musíme uzemniť druhý koniec. Budeme o tom diskutovať nižšie.
Teraz pre tento príklad ignorujeme spoločné kladné riadky a zameriavame sa na spoločné záporné stĺpce.
Takže v tomto module sú všetky záporné terminály prvého stĺpca spojené do PIN13. Toto je zobrazené na nasledujúcom obrázku.
Aj tu je nezrovnalosť v PIN OUTAGE modulu. LED na prvom stĺpci, spoločné záporné, sú vyvedené na PIN13. Spoločne záporné LED diódy druhého stĺpca sú vyvedené na PIN3.
Počas pripájania by ste mali venovať pozornosť pinom. Teraz, ak má byť uzemnená ktorákoľvek z LED diód v prvom stĺpci, musí byť uzemnený PIN13 MATRIX MODULE. Týmto spôsobom prejdete všetkých ďalších sedem bežných záporných stĺpcov. Keď sú obidva prípady spojené, narazíme na obvod, ako je uvedené nižšie,
Vyššie uvedený obvod predstavuje kompletnú internú schému LED MODULU. Povedzme, že ak chceme v matici rozsvietiť LED D10, musíme napájať PIN14 modulu a uzemniť PIN3 na module. Týmto sa D10 zapne. To je znázornené na obrázku nižšie. Toto by mala byť prvá kontrola, či MATRIX vie všetko v poriadku.
Povedzme, že ak chceme zapnúť D1, musíme napájať PIN9 matice a uzemniť PIN13. Vďaka tomu bude LED D1 svietiť. Aktuálny smer pre tento prípad je uvedený na obrázku nižšie.
Teraz, pokiaľ ide o zložitú časť, zvážime, že chceme súčasne zapnúť obidva režimy: D1 aj D10. Napájame teda obidva kódy PIN9, PIN14 a uzemňujeme oba kódy PIN13, PIN3. Vďaka tomu budeme mať D2 a D9 ZAPNUTÉ spolu s D1 a D10. Je to preto, lebo zdieľajú spoločné terminály. Ak teda chceme rozsvietiť LED diódy pozdĺž uhlopriečky, budeme nútení rozsvietiť všetky LED diódy pozdĺž cesty. Toto je zobrazené na nasledujúcom obrázku.
Aby sme tento problém odstránili, zapneme naraz iba jednu led. Povedzte pri t = 0 m SEC, LED D1 je naladená ON. Pri t = 1 m SEC je LED D1 naladená VYPNUTÁ a LED D2 je zapnutá. Opäť o t = 2 m SEC, LED D2 zhasne a LED D1 sa rozsvieti. Toto pokračuje ďalej.
Teraz je to trik, že ľudské oko nedokáže zachytiť frekvenciu viac ako 30 HZ. To znamená, že LED svieti a zhasína nepretržite rýchlosťou 30 Hz alebo viac. Oko vidí LED ako nepretržite svieti. To však nie je tento prípad. LED bude neustále svietiť a zhasínať. Táto technika sa nazýva multiplexovanie.
Použitím multiplexovania budeme obracať vždy iba jeden riadok a okolo 8 riadkov sa bude bicyklovať nepretržite. Toto sa vizualizovalo ako úplne zapnutá matica voľným okom.
Teraz povedzme, že chceme na matici zobraziť „A“.
Ako už bolo povedané, zapneme jeden riadok v okamihu, Pri t = 0 m SEC je PIN09 nastavený na VYSOKÝ (ostatné ROW kolíky sú v tomto okamihu NÍZKE) v tomto okamihu sú PIN3, PIN4, PIN10, PIN6, PIN11, PIN15 uzemnené (ostatné COLUMN piny sú v tomto okamihu VYSOKÉ)
Pri t = 1 m SEC je PIN14 nastavený na VYSOKÝ (ostatné ROW kolíky sú v tomto okamihu NÍZKE) v tomto okamihu sú PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 uzemnené (ostatné kolíky COLUMN sú v tejto chvíli VYSOKÉ)
Pri t = 2 m SEC je PIN08 nastavený na VYSOKÝ (ostatné ROW kolíky sú v tomto okamihu NÍZKE) v tomto okamihu sú PIN13, PIN3, PIN15, PIN16 uzemnené (ostatné COLUMN piny sú v tomto okamihu VYSOKÉ)
Pri t = 3 m SEC je PIN12 nastavený na VYSOKÝ (ostatné ROW kolíky sú v tomto okamihu NÍZKE) v tomto okamihu sú PIN13, PIN3, PIN15, PIN16 uzemnené (ostatné COLUMN piny sú v tomto okamihu VYSOKÉ)
Pri t = 4 m SEC je PIN01 nastavený na VYSOKÝ (ostatné ROW kolíky sú v tomto čase NÍZKE) v tomto okamihu sú PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 uzemnené (ostatné kolíky COLUMN sú v tejto chvíli VYSOKÉ)
Pri t = 5 m SEC je PIN07 nastavený na VYSOKÝ (ostatné ROW kolíky sú v tomto okamihu NÍZKE) v tomto okamihu sú PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 uzemnené (ostatné COLUMN piny sú v tejto chvíli VYSOKÉ)
Pri t = 6 m SEC je PIN02 nastavený na VYSOKÝ (ostatné ROW kolíky sú v tomto okamihu NÍZKE) v tomto okamihu sú PIN13, PIN3, PIN15, PIN16 uzemnené (ostatné COLUMN piny sú v tejto chvíli HIGH)
Pri t = 7 m SEC je PIN05 nastavený na VYSOKÝ (ostatné ROW kolíky sú v tomto okamihu NÍZKE) v tomto okamihu sú PIN13, PIN3, PIN15, PIN16 uzemnené (ostatné COLUMN piny sú v tomto okamihu VYSOKÉ)
Pri tejto rýchlosti sa na displeji bude neustále zobrazovať znak „A“. Je to znázornené na obrázku.
Takto sú na displeji zobrazené všetky znaky. Po správnom pripojení obvodu, ako je znázornené na schéme zapojenia. Ovládaču môžeme priamo dať pokyny, aby vykonal multiplexovanie usporiadaným spôsobom tak, aby sa názov zobrazoval.