Ebben a munkamenetben egy 8x8 LED kijelzőt tervezünk 8x8 LED mátrixszal és ATmega8 mikrovezérlővel, amely ábécéket vagy neveket képes megjeleníteni. Az alábbiakban egy tipikus 8x8 led mátrix látható:
A 8x8 LED-es mátrix 64 LED-et (fénykibocsátó diódát) tartalmaz, amelyek mátrix formájában vannak elrendezve, ezért a LED-mátrix neve. Ezeket a mátrixokat 64 LED bekapcsolásával készíthetjük; ez a folyamat azonban időigényes. Nap mint nap kompakt formában állnak rendelkezésre, az ábra szerint. Ezek a kompakt modulok különböző méretben és sokféle színben kaphatók. Könnyen kiválaszthatja őket.
A modul költsége megegyezik a 64 LED költségével, így egy hobbistának ez a legkönnyebb dolgozni. A modul PIN-konfigurációja az ábrán látható. A hibák elkerülése érdekében a PIN-kódnak pontosan a képen látható számnak kell lennie. A modul belső áramkör-konfigurációját a leírásban részletesen tárgyaljuk.
Alkatrészek
Hardver: ATMEGA8, tápegység (5v), AVR-ISP PROGRAMMER, 100 uF kondenzátor (a tápegységen keresztül csatlakozik), 1KΩ ellenállás (8 darab).
Szoftver: Atmel studio 6.1, progisp vagy flash magic.
Áramkör és munka
Az ATMEGA8 és a LED mátrix modul közötti kapcsolatokat az alábbi ábra mutatja.
PORTD, PIN0 ------------------ PIN13 LED modul
PORTD, PIN1 ------------------ PIN03 LED modul
PORTD, PIN2 ------------------ PIN04 LED modul
PORTD, PIN3 ------------------ PIN10 LED modul
PORTD, PIN4 ------------------ PIN06 LED modul
PORTD, PIN5 ------------------ LED modul PIN11
PORTD, PIN6 ------------------ PIN15 LED modul
PORTD, PIN7 ------------------ PIN16 LED modul
PORTB, PIN0 ------------------ PIN09 LED modul
PORTB, PIN1 ------------------ PIN14 LED modul
PORTB, PIN2 ------------------ PIN08 LED modul
PORTB, PIN3 ------------------ PIN12 LED modul
PORTC, PIN0 ------------------ PIN01 LED modul
PORTC, PIN1 ------------------ PIN07 LED modul
PORTC, PIN2 ------------------ PIN02 LED modul
PORTC, PIN3 ------------------ PIN05of LED modul
A 8x8 LED mátrix kijelző kapcsolási rajzát az alábbi ábra mutatja.
64 LED van elhelyezve mátrix formában. Tehát 8 oszlopunk és 8 sorunk van, az ábra szerint. Ezen sorok és oszlopok alatt a sorban lévő összes pozitív terminál összegyűlik. Minden sorhoz tartozik egy közös pozitív kapocs az adott sor mind a 8 LED-jéhez. Az alábbi ábra mutatja,
Tehát 8 sorban 8 közös pozitív terminálunk van, vegyük figyelembe az első sort. A képen látható módon a D1-től D8-ig terjedő LED-eknek van egy közös pozitív kapcsa, és PIN9-ként kerülnek elő a LED-MODULBÓL.
Látni kell, hogy a sorok összes közös pozitívuma nem rendezett módon kerül elő a LED-MODULBÓL. A közös termináloknál minden esetben nagyon szabálytalan. Ezt a terminál csatlakoztatása közben szem előtt kell tartani.
Mondjuk, ha azt akarjuk, hogy a mátrix első sorában bármelyik vagy egy LED be legyen kapcsolva, akkor a LED MATRIX MODUL PIN9-ét kell bekapcsolnunk, nem pedig PIN0-t.
Mondjuk, ha azt akarjuk, hogy a mátrix harmadik sorában bármelyik vagy az összes LED be legyen kapcsolva, akkor a LED MATRIX MODUL PIN8-at kell bekapcsolnunk, nem pedig a PIN2-t.
Tehát amikor azt akarjuk, hogy egy vagy egy LED világítson egy sorban, akkor a LED MODUL megfelelő érintkezője áramellátást kap.
Ennek még nincs vége, ha csak elhagyja a hatalmat. A ROWS nem eredményez semmit. Földelni kell a másik végét. Az alábbiakban tárgyaljuk.
Most ebben az esetben figyelmen kívül hagyjuk a közös pozitív sorokat, és a közös negatív oszlopokra koncentrálunk.
Tehát ebben a modulban az első oszlop összes negatív kapcsa összegyűlik a PIN13-ra. Ezt az alábbi ábra mutatja.
Itt is van szabálytalanság a modul PIN OUTAGE-jában. Az első oszlopos LED-ek negatívja a PIN13-on jelenik meg. A második oszlopban a közös negatív LED-ek a PIN3-on jelennek meg.
Figyeljen a csatlakozókra a csatlakozás közben. Ha az első oszlopban található LED-ek egyike vagy az összes földelésre kerül, akkor a MATRIX MODUL PIN13 PIN-kódját földelni kell. Így megy mind a másik hét közös negatív oszlop. Amikor mindkét esetet összeállítjuk, találkozunk egy áramkörrel, az alábbiak szerint,
A fenti áramkör a LED MODUL teljes belső ábrája. Mondjuk, ha be akarjuk kapcsolni a D10 LED-et a mátrixban, akkor be kell kapcsolnunk a modul PIN14-ét, és földelnünk kell a PIN3-at a modulon. Ezzel a D10 bekapcsol. Ezt mutatja az alábbi ábra. Először ellenőrizni kell, hogy a MATRIX mindent tud-e rendben.
Tegyük fel, hogy ha be akarjuk kapcsolni a D1-et, akkor be kell kapcsolnunk a mátrix PIN9-ét és földelnünk a PIN13-at. Ezzel a D1 LED világítani fog. Az eset aktuális irányát az alábbi ábra mutatja.
Most a trükkös részről vegyük fontolóra, hogy egyszerre szeretnénk bekapcsolni a D1-et és a D10-et is. Tehát mind a PIN9-et, mind a PIN14-et tápláljuk, mind a PIN13-at, a PIN3-at földeljük. Ezzel D2 és D9 BE lesz kapcsolva, D1 és D10 mellett. Ez azért van, mert közös terminálok vannak. Tehát, ha a LED-eket az átló mentén akarjuk bekapcsolni, akkor kénytelenek vagyunk az út során az összes LED-et bekapcsolni. Ezt az alábbi ábra mutatja.
Tehát ennek a problémának a kiküszöbölése érdekében egyszerre csak egyet vezetünk be. Mondjuk, hogy t = 0m SEC, a D1 LED be van kapcsolva. T = 1m SEC értéknél a D1 LED kikapcsol, és a D2 LED bekapcsol. Ismét t = 2 m SEC értéknél a D2 LED kikapcsol és a D1 LED bekapcsol. Ez megy tovább.
Most az a trükk, hogy az emberi szem nem képes 30 HZ-nél nagyobb frekvenciát rögzíteni. Ez akkor van, ha egy LED folyamatosan be- és kikapcsol, 30 Hz vagy annál nagyobb sebességgel. A szem látja, hogy a LED folyamatosan BE van kapcsolva. Ez azonban nem így van. A LED folyamatosan be- és kikapcsol. Ezt a technikát multiplexelésnek nevezzük.
A multiplexelés használatával egyszerre csak egy sort fordítunk, és a 8 sor körül folyamatosan kerékpározni fogunk. Ez egy teljesen bekapcsolt ON mátrixként szabad szemmel látható.
Most mondjuk azt, hogy „A” -t akarunk megjeleníteni a mátrixon.
Ahogy mondtuk, egy sort azonnal bekapcsolunk, T = 0m SEC értéknél a PIN09 értéke HIGH (a többi ROW tű ekkor LOW) van beállítva, a PIN3, PIN4, PIN10, PIN6, PIN11, PIN15 földelt (a többi COLUMN tű magas)
T = 1m SEC értéknél a PIN14 értéke HIGH (más ROW csapok ekkor LOW) vannak beállítva, a PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 földeltek (a többi COLUMN tüske jelenleg MAGAS)
T = 2m SEC értéknél a PIN08 HIGH értékre van állítva (a többi ROW tű ekkor LOW), a PIN13, PIN3, PIN15, PIN16 földelésre kerül (a többi COLUMN tű ekkor MAGAS)
T = 3m SEC értéknél a PIN12 értéke HIGH (más ROW csapok ekkor LOW) vannak beállítva, a PIN13, PIN3, PIN15, PIN16 földelve vannak (más COLUMN csapok ebben az időben MAGASAK)
T = 4m SEC értéknél a PIN01 értéke HIGH (a többi ROW tű ekkor LOW) van beállítva, PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 földelt (más COLUMN csapok ebben az időben MAGASAK))
T = 5m SEC értéknél a PIN07 értéke HIGH (más ROW csapok ekkor LOW) vannak beállítva, PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 földelve vannak (a többi COLUMN tű magas))
T = 6m SEC értéknél a PIN02 HIGH értékre van állítva (a többi ROW tű ekkor LOW), a PIN13, PIN3, PIN15, PIN16 földelésre kerül (a többi COLUMN tű ekkor MAGAS)
T = 7m SEC értéknél a PIN05 értéke HIGH (más ROW csapok ekkor LOW) vannak beállítva, a PIN13, PIN3, PIN15, PIN16 földelve vannak (a többi COLUMN tű ekkor MAGAS)
Ennél a sebességnél a kijelző folyamatosan „A” karaktert mutat. Ábrán látható.
Az összes karakter így jelenik meg a kijelzőn. Az áramkör megfelelő módon történő csatlakoztatása után, ahogy azt a kapcsolási rajz mutatja. Közvetlenül utasításokat adhatunk a vezérlőnek a multiplexelés végrehajtására a név megjelenítésének rendezett módon.