Tartalomjegyzék:

Nyomógombos LED mátrix: 4 lépés
Nyomógombos LED mátrix: 4 lépés

Videó: Nyomógombos LED mátrix: 4 lépés

Videó: Nyomógombos LED mátrix: 4 lépés
Videó: Камера-ЛАМПА со слежением и определением человека. 2024, Július
Anonim
Nyomógombos LED mátrix
Nyomógombos LED mátrix

Ez a projekt úgy tekinthető, mint egy másik bevezető Arduino projekt, amely valamivel fejlettebb, mint a tipikus „villogó LED” projekt. Ez a projekt magában foglal egy LED -mátrixot, nyomógombokat, váltásregisztereket (amelyek menthetik a csapokat az Arduino táblán), és egy kulcsfogalmat, az úgynevezett multiplexelést. Remélem, hogy az oktatóanyag felvilágosítónak tűnik, és kihívja magát, hogy javítson rajta!

Kellékek

(1x) Arduino Uno

(5x) Tapintható nyomógombok

(2x) 0,1 uF kondenzátorok

(2x) 1 uF kondenzátor

(8x) 1k ellenállás

(5x) 10k ellenállás

(2x) 74HC595 műszakregiszterek

Jumper vezetékek

Fekete vezeték

Vörös drót

1. lépés: 1. lépés: LED -mátrix készítése

Lépés: Készítsen LED -mátrixot
Lépés: Készítsen LED -mátrixot
Lépés: Készítsen LED -mátrixot
Lépés: Készítsen LED -mátrixot
Lépés: Készítsen LED -mátrixot
Lépés: Készítsen LED -mátrixot

A 8x8 LED mátrix elkészítéséhez használt oktatóanyag ebben a projektben itt található. A LED -mátrixnak gyakori konfigurációi vannak:

a) Közös soros anód

b) Közös sorkatód

Mivel a mátrix közös soros katód elrendezését használtam, elsősorban itt fogom tárgyalni, és ugyanezt a logikát kiterjesztheti a közös soros anód elrendezésére is. A közös soros katód elrendezésben a LED -ek katódjai (vagy negatív termináljai, amelyek a LED rövidebb lábai) sorokba vannak kötve, míg az anódok (vagy pozitív sorkapcsok, amelyek a LED hosszabb lábai) oszlopokban vannak összekötve. Egy adott LED megszólításához húzza le azt a katódsort, amelyen a LED katód alacsony, és húzza azt az anódoszlopot, amelyen a LED anód magasan van.

Megjegyzés: A fenti linken látható LED -mátrix készítésekor győződjön meg arról, hogy az anódoszlopokat csatlakoztatja az 1 k ohmos ellenállásokhoz, mielőtt bármilyen feszültséget alkalmazna a LED -ekre.

2. lépés: 2. lépés: A nyomógombok és a váltóregiszterek bekötése

2. lépés: A nyomógombok és a váltóregiszterek bekötése
2. lépés: A nyomógombok és a váltóregiszterek bekötése
2. lépés: A nyomógombok és a váltóregiszterek bekötése
2. lépés: A nyomógombok és a váltóregiszterek bekötése
2. lépés: A nyomógombok és a váltóregiszterek bekötése
2. lépés: A nyomógombok és a váltóregiszterek bekötése
2. lépés: A nyomógombok és a váltóregiszterek bekötése
2. lépés: A nyomógombok és a váltóregiszterek bekötése

A nyomógombok és a váltóregiszterek huzalozása fent látható. Szeretném megjegyezni, hogy az áramköri diagramban lévő eltolásregiszterek nem mutatják a chipek földelését (az IC 8. tüske) és a Vcc -t, vagy a tápegységet (az IC 16. csapja); a földelőcsap az Arduino kártya GND csapjához, a Vcc pedig az Arduino kártya 5 V -os csatlakozójához van csatlakoztatva. Az egyes váltóregiszterek Vcc -csapja a földhöz csatlakoztatott 0,1uF kondenzátorhoz is csatlakozik.

Megjegyzés: Az egyes műszakregiszterek kimenetei QA - QH (QH*figyelmen kívül hagyása). A legkevésbé szignifikáns bit (LSB) (QA esetén) a legjelentősebb bit (MSB) (QH esetén) szerint vannak felsorolva, azaz a QA a 0. sort vagy oszlopot irányítja stb.

3. lépés: 3. lépés: A kód feltöltése

A LED mátrix vezérlésére szolgáló kód ehhez az oktatóanyaghoz van csatolva. Megpróbáltam megjegyzést fűzni a kódhoz, amennyire csak tudtam, így nagyon világos lenne a program működése. A program fő alapja egy mátrix, amely nyomon követi, hogy mely LED -eknek kell be- vagy kikapcsolniuk. Annak érdekében, hogy a különböző LED -ek helyesen jelenjenek meg, anélkül, hogy véletlenül bekapcsolnák a nem kívánt diódákat, a multiplexelésnek nevezett koncepciót kell használni. A multiplexelés lényegében az egyes LED -ek meggyújtását egy adott sorban, míg az összes többi LED -et más sorokban, majd ugyanezt teszi a többi sorban. A trükk az, hogy ha a LED -ek elég gyorsan ciklusoznak a sorok között, akkor a szeme jelezheti, hogy az egyes sorok egyenként világítanak. Ha további módszereket szeretne felfedezni, hogyan csábíthatja el a szemét LED -ekkel, érdemes megvizsgálnia a látás állandóságának fogalmát (könnyen kereshető a Google -on vagy az Instructables -en).

Az anódoszlopok és a katódsorok frissítése a felhasználó által az „UpdateShiftRegisters” nevű függvényen keresztül történik. Ez a funkció először elfordítja a reteszelő csapot, amely azt szabályozza, hogy új bájt (8 bit) kerüljön -e a kimenetre, alacsony, így nincs lehetőség a kimenetek megváltoztatására, miközben új biteket írnak a chipre. Ezután a beépített „ShiftOut” nevű Arduino függvény használatával, amely kifejezetten kezeli az adatok küldését a váltóregiszterekhez, a program azt írja be, hogy melyik (katód) sor legyen alacsony, és melyik (anód) oszlop legyen magas. Végül a reteszcsapot magasra kell húzni, hogy frissítse a kimenetet (a LED -eket).

4. lépés: További információk/források

Íme néhány hivatkozás olyan webhelyekre vagy könyvekre, amelyek további információkat tartalmazhatnak a projektről:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/en/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

Az Arduino első lépései, 2. kiadás, Massimo Banzi

Ajánlott: