Készítette: Vegera Tamás
LED mátrix
Az áramkör képes karaktereket, karakterekből felépített szöveget megjeleníteni, és fényújságszerűen futtatni egy LED-ekből felépített kijelzőn. A felhasználó nyomógombokon és PC-n programozhatja az animációkat, melyeket az eszköz elment egy flash memóriába. Speciális funkciókkal van ellátva, pl. karakterszerkesztés.
Felépítése
Az áramkört egy ATmega16 típusú AVR mikrokontroller vezérli. Ehhez kapcsolódnak a nyomógombok, a latch-ek, tranzisztorok és az SPI buszon kommunikáló flash memória. A latchek bemenetei a megfelelő lábakon össze vannak kötve, és így kapcsolódnak az AVR-re. Kimeneteire ellenállások csatlakoznak, ezek a LED-ek előtét ellenállásaiként szolgálnak. Az áramkör tápellátása dugasztápról biztosítható, ebből az áramkör működéséhez szükséges megfelelő feszültséget egy 7805 típusú feszültség stabilizátor állítja elő. A flash memória AT45DB081D típusú, tárhelye 8mbit. A szükséges működési feszültsége 3,3V, ez az 5V-os tápfeszültség csökkentésével, 3 sorosan kapcsolt dióda segítségével állítható elő. A feszültségszint különbségek miatt feszültségosztó ellenállások szükségesek. A vezérlő és a mátrix egység két különböző NYÁK-on helyezkedik el, a kapcsolatot tüskesorok valósítják meg.
Működése
A flash memóriában külön helyet kaptak a karakterek és az animációk. Az animációk tárolásakor csak karaktersorszámok mentődnek le, melyek alapján megkereshető az adott karakter, így a tárhely igény minimalizálódik. Egy karakter 8×6 képpontot jelent, tárolása 6 db, uint8_t típusú változóban valósul meg, melyekben minden bit egy képpont állapotát jelöli. Egy animáció futtatása a következőképpen történik: a vezérlő az adott animáció első karakterének sorszámát kiolvassa a flash memóriából, majd ez alapján kiolvassa az ehhez tartozó karaktert, és egy tömbben eltárolja azt, majd megjeleníti az első oszlopát, ezt rövid időn belül balra „tolva” pedig a következőt, és így tovább. A karakter végére érve beolvassa, és megjeleníti a következőt, ezt az animáció végéig ismételi. Az animáció végét a memóriában egy kitüntetett karaktersorszám jelöli, melyhez valójában nincs rendelve karakter.
A vezérlő
Megjelenítés, multiplexelés:
Ezen funkciókat két fő függvény látja el. Az egyik a kiolvasott karakterekből előállít uint8_t típusú változókat, és ezeket hozzárendeli az éppen megjeleníteni kívánt képhez oly módon, hogy minden ilyen változó egy sor egy 8 képpontos részletét tárolja. Ha egy bit egy változóban 1-es, akkor a hozzá tartozó sor adott képpontjának abban a képben világítania kell. A másik függvény ezen változók segítségével hozza létre a képet. Az A porthoz tartozó lábak a latchek bemeneteire vannak kötve, így ide kiírva egy sor változót, és a megfelelő latch órajelét rövid időre felkapcsolva a latch kimenetén megjelenik az A portra kiírt adat. Ezt minden latch-csel elvégezve egy egész sor megjeleníthető, a LED-ek pedig az adott sorhoz tartozó tranzisztor kapcsolásával felvillannak. Ezt az állapotot néhány ms-ig tartva, és ezt minden sorral elvégezve, majd ezt a kívánt kép hosszúságának idejéig folytatva egy állóképet fogunk látni, mivel az emberi szem nem képes követni az ilyen gyors változásokat.
Működés közben