P, Nov 4, 2011
Led mátrixok szórakoztató játékok. Ki ne szeretné a blinkenlights-ot? Az elektronika kemény. Az elektronika sokkal nehezebb, mint a programozás. Nehéz volt megértenem, hogyan működnek a led mátrixok. Mi a legjobb módja annak, hogy megtanulj valamit? Építsen egyet maga.
Led mátrix szerkezete
mátrix formátumban a LED-ek sorokban és oszlopokban vannak elrendezve. Ezeket y és x koordinátáknak is nevezhetjük. Tegyük fel, hogy van 4×4 mátrixunk.A sorokat a-tól D-ig, az oszlopokat pedig 1-től 4-ig jelöljük. Most tudunk címezni minden LED sor és oszlop. A bal felső led (A,1) lenne. Bottomdown led lenne (D, 4).
a Led mátrixok két ízben kaphatók. Common-row anode (balra) és common-rowcathode (jobbra).
a fenti ábra a különböző konfigurációkat mutatja. A különbség a két konfiguráció között az, hogy hogyan világít egy led-et. A közös soros anodekurrens források (pozitív feszültség) az a sorokhoz vannak csatolva..D ésáramok süllyed (negatív feszültség, föld), hogy oszlopok 1..4. A közös soros katódáramú mosogatók az a sorokhoz vannak rögzítve..D és áramforrások az 1. oszlophoz..4.Például
. A közös katódmátrix alulról lefelé mutató led (D,4) megvilágításához pozitív feszültséget táplálna a 4.oszlopba, és csatlakoztatná a D sort a földhöz. Az egyértelműség elhagyása a cikk többi részében a közös soros katódot fogom használni.
LED-mátrix építése
egy 4×4-es közös soros katódmátrix felépítéséhez 16 LED-re, négy ellenállásra, néhány fejlécre és prototípus-táblára lesz szüksége. Elkezdtem ragasztás theleds prototípus tábla epoxi ragasztó. Így könnyebb, hogy vaneleds szépen igazítva. A LED-ek ragasztásakor győződjön meg róla, hogy a hosszú és a rövidlábak ugyanúgy vannak igazítva.
ha a ragasztó száraz, ideje hajlítani és forrasztani. Először hajlítsa meg az összes katódothogy a lehető legközelebb maradjon a prototípus-táblához. Forrasztja meg az összes katódotminden sorban együtt. Amikor a katódok készen állnak, hajlítsa meg az összes anódot. Az anódok nem érinthetik a katódokat. Egy darab műanyag csövet használtam, hogy elősegítsem az anódok hajlítását, hogy hidat képezzenek a katódok felett.
most forrasztja össze az összes anódot minden sorban. Forrasztja meg a fejléceket éscsatlakoztassa a katódsorokat közvetlenül a fejléchez.
az Anódsorok áramkorlátozó ellenállásokkal vannak összekötve a fejléchez.Az ellenállás értéke a használt LED-től függ. Ellenőrizze a LED adatlap forward feszültség és áram. A LED-es számológép segít megtalálnihelyes ellenállás. A Matrix készen áll a tesztelésre.
címzés egyetlen LED
csatlakozó föld az a sor és a pozitív feszültség az 1.oszlop világíta jobb felső LED (A,1).
a földelés csatlakoztatása A D sorhoz és a pozitív feszültség a 4.oszlophoz világítaz alsó LED (D,4).
az intuíció azt mondaná,hogy mind a (A,1), mind a (D, 4) egyszerre világítja meg mind a négy vezetéket. Ez nem így van. Négy LED világít. Ez azért van,mert az áram is átfolyik(A,4) és (D, 1).
multiplexelés és a látás tartóssága
a multiplexelés tetszőleges minták megjelenítésére használható ledmatrices segítségével. A multiplexelést néha szkennelésnek is nevezik. Beolvassa sorok (általában fentről lefelé) és fények szükséges LED-ek csak egy sorban attime. Valami, mint a következő:
- Kezdje azzal, hogy mindent leválasztott.
- csatlakoztassa a pozitív feszültséget az összes szükséges oszlophoz.
- csatlakoztassa a sort a földhöz. Ez megvilágítja a sorban a szükséges LED-eket.
- válassza le a sort és az összes oszlopot.
- végezze el ugyanazokat a lépéseket egyenként az összes sorhoz, majd kezdje el akezdettől.
tegye ezt lassan, és villogó LED sorokat látna. Csináld nagyon gyorsanés az emberi szem látja az egész mintát. A jelenséget hívjáka látás tartóssága.
Rajzolj egy mintát
írjunk néhány egyszerű kódot a minta rajzolásához a mátrixon. Megjegyzés!Annak ellenére, hogy Arduino táblát használok, nem használom az Arduino könyvtárakat a fejlesztéshez. Én azonban, mint az Arduino pin számozási rendszer.A pin_mode()
és digital_write()
függvények pontosan ugyanúgy működnek, mint az Arduino megfelelőik.
kezdjük a csapok és az alapértelmezett állapot beállításával.
uint8_t column_pins = { 2, 3, 4, 5 };uint8_t row_pins = { 11, 10, 9, 8 };static void init(void) { /* Turn all columns off by setting then low. */ for (uint8_t x=0; x<4; x++) { pin_mode(column_pins, OUTPUT); digital_write(column_pins, LOW); } /* Turn all rows off by setting then high. */ for (uint8_t y=0; y<4; y++) { pin_mode(row_pins, OUTPUT); digital_write(row_pins, HIGH); }}
ahhoz, hogy megjelenjen egy mintát mátrix használjuk draw()
funkciót.A Bitmap kétdimenziós tömbként kerül átadásra. A késleltetést csak akkor használjákbizonyítsa a látás tartósságát.
uint8_t pattern = {{1,0,0,1}, {0,1,0,0}, {0,0,1,0}, {1,0,0,1}};void draw(uint8_t buffer, uint8_t delay) { for (uint8_t row=0; row<4; ++row) { /* Connect or disconnect columns as needed. */ for (uint8_t column=0; column<4; ++column) { digital_write(column_pins, buffer); } /* Turn on whole row. */ digital_write(row_pins, LOW); _delay_ms(delay); /* Turn off whole row. */ digital_write(row_pins, HIGH); }}
a látáshatás tartósságának vizsgálatához rajzoljuk a mintátkülönböző késések.
uint8_t main(void) { init(); /* With 100ms delay eye can see updating row by row. */ for (uint8_t i=0; i<10; i++) { draw(pattern, 100); } /* With 10ms delay pattern appears but flickers. */ for (uint16_t i=0; i<100; i++) { draw(pattern, 10); } /* Withoud delay solid pattern appears. */ while (1) { draw(pattern, 1); } return 0;}
a teljes kód megtalálhatógithub.Ellenőrizze az alábbi videó kimenetét.
további olvasás
áramköri készségek: LED mátrix a Make magazin által. LED vezetése ellenállással vagy anélkül Alexander Weber. Bevezetés a vezetési LED mátrixok (PDF) technote által Avago Technologies. Fénykibocsátó diódák (LED-ek) Az Electronics Club által.
kategória
AVR Elektronika