Fórum témák
» Több friss téma |
Cikkek » MSGEQ7 equalizer IC használata Arduino-val MSGEQ7 equalizer IC használata Arduino-val
Szerző: Fizikus, idő: Szept 23, 2013, Olvasva: 17402, Oldal olvasási idő: kb. 2 perc
LED mátrix kijelzőt meghajtó kapcsolás shift regiszterekkelA 8x8-as LED mátrix esetén a sorok és oszlopok vezérlését shift regiszterekkel valósítottam meg. Ezáltal a mikrovezérlőn nem 16 db I/O lábat használok fel, hanem csak 3-t (ADAT, LATCH és CLOCK). A shift regiszter működéséről már részletesen írtam az AVR SPI-ről szóló cikkemben (LINK). Az általam használt HC595-ös shift regisztert nem LED-ek meghajtására tervezték. Lábanként csak maximálisan 35 mA-t tud leadni és 20 mA-t tud elnyelni. Az IC a lábain, összesen, egyszerre maximálisan 70 mA-t képes leadni. A 330 Ω-os előtétellenállásokkal a piros LED-eken max. 9 mA áram folyik, ami jóval kisebb mint 35 mA. Ha egy soron belül mind a nyolc LED be van kapcsolva, akkor összesen 72 mA (8x9 mA) áram folyik a shift regiszteren keresztül, ami még nem probléma. Gond csak akkor van, ha pl. egy sorban mind a nyolc LED be van kapcsolva, akkor az oszlopokra kötött shift regiszter, adott oszlophoz tartozó lábának kb. 70 mA-t kellene elnyelnie, ami túl sok az adatlapban megadott 20 mA-es maximális limithez viszonyítva és tönkreteheti a shift regisztert. Ezért az oszlopok áramának az elnyeletésére egy shift regiszterrel vezérelt ULN2803-as Darlington tranzisztormezőt használok, mert az lábankent akár 500 mA-t is képes elnyelni. A LED mátrix kijelzőt meghajtó kapcsolás az alábbi ábrán látható: (a nagyobb mérethez kattints a képre) A cikkben használt LED mátrix kijelző sorainak és oszlopainak lábkiosztását az alábbi ábra mutatja:
Az ábráról látható, hogy a sorokhoz és oszlopok tartozó kivezetések nem sorban egymást követően, hanem eléggé össze-vissza helyezkednek el. A kapcsolási rajzot felhasználva végigkövethető, hogy pl. a 1-es shift regiszter 15-ös lábát (első oszlop) egy 330 Ω-os ellenálláson keresztül a kijelző 13-as lábára kell kötni. A fentiekhez hasonlóan kikövetkeztethető, hogy az egyes sorokhoz és oszlopokhoz tartozó shift regiszter lábak a LED mátrix kijelző melyik lábához kell csatlakozzanak. A LED mátrix kijelzőt és az azt meghajtó áramkört is egy próbanyákra forrasztottam össze. (Csak tanulságként jegyzem meg - a rutinosabbak úgyis rögtön észreveszik - hogy az oszlopokat vezérlő 2-es számú shift regiszter lábait véletlenül fordított sorrendben forrasztottam az ULN2803-hez, nem pedig úgy ahogyan a kapcsolási rajzon szerepel. Ezt a hibát szerencsére nagyon könnyű volt szoftveresen, a mikrovezérlő programjában kijavítani.)
A LED mátrix kijelzőt meghajtó panel teszteléseA LED mátrix kijelzőt tesztelő Arduino kód az előző részben szereplő Smiley figurát és annak negatívját jeleníti meg a kijelzőn másodpercenként felváltva:
A Timer interrupt másodpercenként százszor meghívja a kijelzoFrissites() függvényt, ami egymás után megjeleníti a képsorokat. A fenti kód működéséhez szükséges a TimerOne.h Arduino könyvtár (LINK), ami innen letölthető: (LINK)
A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |