V této relaci navrhneme 8x8 LED displej s 8x8 LED maticí a mikrokontrolérem ATmega8, který může zobrazovat abecedy nebo jména. Typická matice LED 8x8 je uvedena níže:
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 vytvořit obíháním 64 LED; tento proces je však časově náročný. Nyní jsou dnes k dispozici v kompaktních formách, jak je znázorněno na obrázku. Tyto kompaktní moduly jsou k dispozici v různých velikostech a mnoha barvách. Jeden si je může vybrat z pohodlí.
Cena modulu je stejná jako cena 64 LED, takže pro fandy je to nejjednodušší pracovat. Konfigurace PIN modulu je zobrazena na obrázku. Aby se předešlo chybám, měly by mít PIN přesně takové číslo, jaké je uvedeno na obrázku. V popisu podrobně probereme konfiguraci vnitřních obvodů modulu.
Součásti
Hardware: ATMEGA8, napájecí zdroj (5 V), AVR-ISP PROGRAMÁTOR, kondenzátor 100 uF (připojený přes napájecí zdroj), rezistor 1 KΩ (8 kusů).
Software: Atmel studio 6.1, progisp nebo flash magic.
Schéma zapojení a práce
Spojení mezi ATMEGA8 a LED maticovým modulem je zobrazeno na následujícím obrázku.
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 zapojení maticový displej 8x8 LED je znázorněn na níže obrázku.
K dispozici je 64 LED uspořádaných do maticového tvaru. Takže máme 8 sloupců a 8 řádků, jak je znázorněno na obrázku. Přes tyto řádky a sloupce jsou spojeny všechny kladné svorky v řadě. Pro každý řádek existuje jedna společná kladná svorka pro všech 8 LED v dané řadě. Je to znázorněno na následujícím obrázku,
Takže pro 8 řádků máme 8 společných kladných svorek, zvažte první řádek. Jak je vidět na obrázku, LED diody od D1 do D8 mají společnou kladnou svorku a jsou vyvedeny z LED MODULE jako PIN9.
Mělo by být vidět, že všechna běžná pozitiva řádků nejsou vyvedena z LED MODULU řádně. Na společných terminálech je v každém případě velmi nepravidelnost. Měli byste to mít na paměti při připojování terminálu.
Řekněme, že pokud chceme, aby jedna nebo všechny LED diody v prvním ŘÁDKU matice byly ZAPNUTY, měli bychom napájet PIN9 LED MATRIX MODULE, ne PIN0.
Řekněme, že pokud chceme, aby svítila jedna nebo všechny LED ve třetím ŘÁDKU matice, měli bychom napájet PIN8 LED MODULU MATRIX, nikoli PIN2.
Takže kdykoli chceme, aby jedna nebo všechny LED diody v ŘÁDKU byly zapnuty, bude napájen odpovídající kolík LED MODULU.
To ještě neskončilo pouhým opuštěním síly ROWS nepřináší nic. Musíme uzemnit druhý konec. Budeme o tom diskutovat níže.
Nyní pro tento příklad ignorujeme běžné kladné řádky a zaměřujeme se na společné záporné sloupce.
Takže v tomto modulu jsou všechny záporné terminály prvního sloupce spojeny dohromady k PIN13. To je znázorněno na následujícím obrázku.
I zde je nesrovnalost v PIN OUTAGE modulu. Společné záporné LED diody prvního sloupce jsou vyvedeny na PIN13. Společné záporné LED diody druhého sloupce jsou vyvedeny na PIN3.
Při připojování je třeba věnovat pozornost pinům. Nyní, pokud má být uzemněna jedna nebo všechny LED diody v prvním sloupci, musí být uzemněn PIN13 MATRIX MODULE. Tímto způsobem přejdete do všech dalších sedmi společných záporných sloupců. Když se oba případy spojí, narazíme na obvod, jak je znázorněno níže,
Výše uvedený obvod je kompletní interní schéma LED MODULE. Řekněme, že pokud chceme v matici rozsvítit LED D10, musíme napájet PIN14 modulu a uzemnit PIN3 na modulu. Tím se D10 zapne. To ukazuje následující obrázek. To by měla být první kontrola, aby MATRIX věděl vše v pořádku.
Řekněme, že pokud chceme zapnout D1, musíme napájet PIN9 matice a uzemnit PIN13. S touto LED bude svítit D1. Aktuální směr pro tento případ je uveden na následujícím obrázku.
Pokud jde o složitou část, zvažte, že chceme zapnout současně D1 i D10. Napájíme tedy oba PIN9, PIN14 a uzemňujeme oba PIN13, PIN3. Díky tomu budeme mít D2 a D9 zapnuté spolu s D1 a D10. Je to proto, že sdílejí společné terminály. Pokud tedy chceme rozsvítit LED podél úhlopříčky, budeme nuceni rozsvítit všechny LED podél cesty. To je znázorněno na následujícím obrázku.
Abychom tento problém odstranili, zapneme najednou pouze jednu led. Řekněme, že při t = 0 m SEC je LED D1 naladěna na ON. Při t = 1 m SEC je LED D1 naladěna OFF a LED D2 se rozsvítí. Opět při t = 2 m SEC, LED D2 zhasne a LED D1 se rozsvítí. To jde dál.
Trik nyní spočívá v tom, že lidské oko nedokáže zachytit frekvenci větší než 30 HZ. To znamená, že LED svítí a zhasíná nepřetržitě rychlostí 30 Hz nebo více. Oko vidí, že LED trvale svítí. To však není tento případ. LED bude trvale svítit a zhasínat. Tato technika se nazývá multiplexování.
Pomocí multiplexování otočíme pouze jeden řádek najednou a kolem 8 řádků se bude nepřetržitě cyklovat. Toto se zobrazilo jako zcela zapnutá matice pouhým okem.
Nyní řekněte, že chceme na matici zobrazit „A“.
Jak již bylo řečeno, zapneme jeden řádek za okamžik, Při t = 0 m SEC je PIN09 nastaven na VYSOKÝ (ostatní ROW piny jsou v tuto chvíli NÍZKÝ) v tuto chvíli jsou PIN3, PIN4, PIN10, PIN6, PIN11, PIN15 uzemněny (ostatní PINY COLUMN jsou v tomto okamžiku VYSOKÉ)
Při t = 1 m SEC je PIN14 nastaven na VYSOKÝ (ostatní ROW piny jsou v tuto chvíli NÍZKÉ) v tuto chvíli jsou PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 uzemněny (ostatní piny COLUMN jsou v tomto okamžiku VYSOKÉ)
Při t = 2 m SEC je PIN08 nastaven na VYSOKÝ (ostatní ROW piny jsou v tuto chvíli NÍZKÝ) v tomto okamžiku jsou PIN13, PIN3, PIN15, PIN16 uzemněny (ostatní Sloupcové piny jsou v tomto okamžiku VYSOKÉ)
Při t = 3 m SEC je PIN12 nastaven na VYSOKÝ (ostatní ROW piny jsou v tuto chvíli NÍZKÝ) v tomto okamžiku, PIN13, PIN3, PIN15, PIN16 jsou uzemněny (ostatní COLUMN piny jsou v tomto okamžiku VYSOKÉ)
Při t = 4 m SEC je PIN01 nastaven na VYSOKÝ (ostatní ROW piny jsou v tuto chvíli NÍZKÝ) v tuto chvíli jsou PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 uzemněny (ostatní piny COLUMN jsou v tomto okamžiku VYSOKÉ)
Při t = 5 m SEC je PIN07 nastaven na VYSOKÝ (ostatní ROW piny jsou v tuto chvíli NÍZKÉ) v tuto chvíli jsou PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 uzemněny (ostatní piny COLUMN jsou v tomto okamžiku VYSOKÉ)
Při t = 6 m SEC je PIN02 nastaven na VYSOKÝ (ostatní ROW piny jsou v tuto chvíli NÍZKÝ) v tomto okamžiku jsou PIN13, PIN3, PIN15, PIN16 uzemněny (ostatní Sloupcové piny jsou v tomto okamžiku VYSOKÉ)
V čase t = 7 m SEC je PIN05 nastaven na VYSOKÝ (ostatní ROW piny jsou v tuto chvíli NÍZKÝ) v tomto okamžiku jsou PIN13, PIN3, PIN15, PIN16 uzemněny (ostatní COLUMN piny jsou v tomto okamžiku VYSOKÉ)
Při této rychlosti bude displej nepřetržitě zobrazovat znak „A“. Je to znázorněno na obrázku.
Takto jsou na displeji zobrazeny všechny znaky. Po správném připojení obvodu, jak je znázorněno na schématu zapojení. Řadiči můžeme přímo dát pokyny k provedení multiplexování řádným způsobem, aby se název zobrazil.