Áramkörök

8x8x8 LED-es kocka építése és vezérlése egy Arduino-val: 7 lépés (képekkel)

Demjén Ferenc - Hogyan tudnék élni nélküled (HQ)

Demjén Ferenc - Hogyan tudnék élni nélküled (HQ)

Tartalomjegyzék:

Anonim

Van egy csomó LED-kocka az Instructables-en, így miért csinál egy másik? A legtöbb kocka 27 vagy 64 LED-ből áll, ritkán nagyobb, mivel ezek a mikrokontrolleren elérhető kimenetek számára korlátozódnak. Ez a kocka 512 LED lesz, és csak 11 kimeneti vezetékre lesz szüksége az Arduino-tól. Hogyan lehetséges ez? Az Allegro Microsystems A6276EA LED meghajtó használatával.
Megmutatom, hogyan csináltam magam a kockát, a vezérlőtáblát és végül a kódot, hogy ragyogjon.


kellékek:

1. lépés: Anyagok

Minden rész, amire szüksége lesz a kocka építéséhez:
1 Arduino / Freeduino Atmega168-mal vagy nagyobb chiptel
512 LED, mérete és színe rajtad múlik, 3 mm-es piros színt használtam
4 A6276EA LED-meghajtó chipek az Allegro-tól
8 NPN tranzisztor vezérli a feszültség áramlását, a BDX53B Darlington tranzisztort használtam
4 1000 ohm ellenállás, 1/4 watt vagy annál nagyobb
12 560 ohm ellenállás, 1/4 watt vagy annál nagyobb
1 330uF elektrolit kondenzátor
4 24 tűs IC aljzat
9 16 tűs csatlakozóaljzat
4 "x4" (vagy nagyobb) darab parfüm, hogy az összes alkatrészt tartsa.
Egy régi számítógépes ventilátor
Régi floppy vezérlő kábel
Régi számítógép tápegység
Sok huzal, forrasztó, forrasztópáka, fluxus, bármi más
könnyebbé teheti az életét, miközben ezt teszi.
7 "x7" (vagy nagyobb) darab fa, melyet a LED forrasztógép készítésére használnak
Egy szép eset a kész kocka megjelenítéséhez
A választott Arduino / Freeduino a Bare Bones Board (BBB) ​​a www.moderndevice.com címen. A LED-eket megvásárolták az eBay-től és $ 23-t fizettek 1000 kínai LED-ről. A fennmaradó elektronikát a Newark Electronics-tól (www.newark.com) vásárolták, és csak 25 dollárba kerülnek. Ha mindent meg kell vásárolni, ez a projekt csak 100 dollárba kerül.
Sok régi számítógépes berendezésem van, így ezek a részek elhagyták a törmeléket.

2. lépés: A rétegek összeszerelése

Hogyan készítsünk 1 réteg (64 LED) az 512 LED-es kockáról:
A megvásárolt LED-ek átmérője 3 mm volt. Úgy döntöttem, hogy kis LED-eket használok a költségek csökkentésére és ahhoz, hogy a kocka végső mérete elég kicsi legyen ahhoz, hogy az asztalomon vagy polcon üljek, anélkül, hogy teljesen átveszi az asztalt vagy a polcot.
8x8-os rácsot rajzoltam, körülbelül 0,6 hüvelykkel a vonalak között. Ez egy kocka méretet adott nekem oldalanként 4,25 hüvelyk körül. Fúrjon 3 mm-es lyukakat, ahol a vonalak találkoznak, hogy elkészítsen egy LED-et, amely a LED-eket megtartja, amikor minden réteget forraszt.
Az A6276EA egy aktuális mosogató eszköz. Ez azt jelenti, hogy a pálya a talajhoz, nem pedig a forrás feszültségéhez vezet. A kockát közös anódkonfigurációra kell építeni. A legtöbb kockát közös katódként építik.
A LED hosszú oldala általában anód, ellenőrizze, hogy van-e. Az első dolog, amit tettem, minden LED tesztelése volt. Igen, ez egy hosszú és unalmas folyamat, és ha akarja, hagyja ki. Inkább tölteném az időt, hogy teszteljem a LED-eket, mint hogy egy halott helyet találjak a kockaimban, miután összeállítottuk. Az 1000-ből 1 halott LED-et találtam. Nem rossz.
Vágjunk 11 darab szilárd, nem szigetelt horog vezetéket 5 hüvelykre. Helyezzen 1 LED-et egy sor minden végébe, majd forrassza meg a vezetéket minden anódhoz. Most helyezze a maradék 6 LED-et a sorba, és forrasztja be az anódokat a vezetékhez. Ez függőleges vagy vízszintes lehet, nem számít, amíg mindegyik réteg ugyanúgy történik. Amint befejezte az egyes sorokat, vágja le a felesleges ólmot az anódokból. Körülbelül 1/8 körül mentem.
Ismételje meg mindaddig, amíg nem fejezte be az összes 8 sort. Most forrasztjon 3 darab horgos vezetéket az éppen elkészített sorokba, hogy mindegyiket egyetlen darabhoz csatlakoztassa. Ezután teszteltem a réteget 5 volttal a
csatlakoztassa a vezetékrácsot egy ellenálláson keresztül, és megérintette a földvezetéket minden katódhoz. Cserélje ki a nem világító LED-eket.
Óvatosan távolítsa el a réteget, és tegye félre. Ha hajlítja a vezetékeket, ne aggódjon, csak egyenesítse ki őket a lehető legjobban. Nagyon könnyen hajlítható. Ahogy elmondhatod a képeimből, sok hajlított huzal volt.
Gratulálok, 1/8 kész. 7 további réteg készítése.
KIVÁLASZTÁS: A rétegek forrasztása (3. lépés) könnyebbé válik, míg az egyes további rétegek még mindig a jigben vannak hajlítva a katód felső negyedét 45 és 90 fok között. Ez lehetővé teszi a
vezet a LED körül, amelyhez csatlakozik, és sokkal könnyebbé teszi a forrasztást. Ne csináld ezt az első rétegeddel, kijelentjük, hogy az egyik az alsó réteg, és a vezetékeknek egyenesnek kell lenniük.

3. lépés: A kocka összeszerelése

Hogyan forrasztjuk az összes réteget egy kocka készítéséhez:
A kemény rész majdnem vége. Most óvatosan helyezzen vissza egy réteget a jigbe, de ne használjon túl sok nyomást, azt akarjuk, hogy eltávolítsuk anélkül, hogy meghajlítanánk. Ez az első réteg a kocka felső oldala. Helyezzen egy másik réteget az első tetejére, állítsa fel a vezetékeket, és indítsa el a forrasztást. A legegyszerűbbnek találtam a sarkokat először, majd a külső széleit, majd a sorokat.
Tartsa addig a rétegeket, amíg kész. Ha előre meghajlította a vezetékeket, győződjön meg róla, hogy az utolsó réteg egyenes vezetésével mentse el a réteget. Ez az alsó.
Kicsit túl sok hely volt az egyes rétegek között, így nem voltam teljesen kocka alakú. Nem nagy dolog, élhetek vele.

4. lépés: A vezérlőkártya kiépítése

Hogyan építsük fel a vezérlőtáblát és csatlakoztassuk az Arduino-hoz:
Kövesse a vázlatot és készítse el azt a táblát, amit választ. A vezérlő zsetonjait a tábla közepére helyeztem és a bal oldalt használva tartottam a tranzisztorokat, amelyek vezérlik az áramot a kocka minden rétegére, és a jobb oldali oldalt használva tartottam a csatlakozókat, amelyek a vezérlő chipekről a katódokig terjednek. a LED oszlopok.
Egy régi, 40 mm-es számítógépes ventilátort találtam egy női molex csatlakozóval, hogy csatlakoztassam egy számítógép tápegységéhez. Ez tökéletes volt. Egy kis mennyiségű légáramlás a chipen keresztül hasznos, és most már egy egyszerű módja annak, hogy 5 volttal biztosítsam a vezérlő chipeket és az Arduino-t.
A vázlatos rajzon az RC az összes korlátozott ellenállás mindegyik A6276EA-hoz csatlakoztatott LED számára. 1000 ohmot használtam, mert 5 milliamitot ad a LED-nek, elég ahhoz, hogy megvilágítsa. Nagy fényerőt használok, nem pedig a Super Brite LED-eket, így az áramlefolyás alacsonyabb. Ha az oszlop mind a 8 LED-je egyszerre világít, csak 40 milliamper. Az A6276EA mindegyik kimenete 90 milliamitot képes kezelni, így jó tartományban vagyok.
Az RL a logikához vagy a jelvezetékekhez csatlakoztatott ellenállás. A tényleges érték nem olyan fontos, amíg létezik és nem túl nagy. 560 ohmot használok, mert volt egy csomó ezek közül.
Egy 6-os amper kezelésére alkalmas teljesítménytranzisztort alkalmaztam a kocka minden rétegéhez érkező áram szabályozására. Ez a projekt túlterhelt, mivel a kocka minden rétege csak 320 milliamitot húz, és az összes LED világít. Szobát akartam növekedni, és a vezérlőtáblát használhatnánk valami nagyobbra később. Használja az Ön igényeinek megfelelő méretű tranzisztort.
A 330 uF-es kondenzátor a feszültségforráson keresztül segíti a kisebb feszültségingadozások kiegyenlítését. Mivel egy régi számítógépes tápegységet használok, ez nem szükséges, de csak abban az esetben hagytam el, ha valaki egy 5 voltos fali adaptert akar használni a kocka teljesítményéhez.
Minden A6276EA vezérlő chip 16 kimenettel rendelkezik. Nem volt más megfelelő csatlakozóm, így forrasztottam néhány 16 tűs IC aljzathoz, és ezeket a vezérlőtáblát a kockahoz csatlakoztatom. Az IC-aljzatot is félig vágtam, és összekapcsoltam a 8 vezetéket, amelyek összekapcsolják a tranzisztorokat a kocka rétegével.
Körülbelül 5 hüvelykre vágtam le egy régi floppy kábel végét, hogy az Arduino csatlakozójaként használjam. A hajlékonylemez-kábel 2 sorból áll, 20 darab, a csupasz csonttábla 18 csapral rendelkezik. Ez egy nagyon olcsó mód (ingyenes), hogy az Arduino-t összekapcsolja a táblával. A szalagkábelt 2 vezetékes csoportban húzottam le, eltávolítottam a végeket, és együtt forrasztottam őket. Ez lehetővé teszi, hogy az Arduino-t a csatlakozó bármelyik sorába csatlakoztassa. Kövesse a vázlatot és forrasztja be a csatlakozót a helyére. Ne felejtsük el, hogy az 5 voltos és a földelő vezetékeket forrasztjuk, hogy az Arduino áramellátást biztosítson.
Ezt a vezérlőtáblát más projektekhez kívánom használni, így a moduláris kialakítás jól működik számomra. Ha keményen akarja vezetni a kapcsolatokat, akkor ez rendben van.

5. lépés: A megjelenítő tok építése

Készítsen végső terméket szépnek:
Ezt a fából készült ládát a Hobby Lobbyban találtam 4 dollárért, és azt hittem, hogy tökéletes lenne, hiszen belsejében van hely, hogy megtartsa az összes drótot, és jól néz ki. Megfestettem ezt a piros, ugyanolyan foltot, amit a számítógép asztalánál használtam, hogy megfeleljenek.
Rajzoljon egy rácsot a tetejére ugyanolyan méretűre, mint a forrasztógéphez használt rács (0,6 hüvelyk a vonalak között). Fúrjon lyukakat, hogy lehetővé tegye a vezetékek áthaladását, és fúrjon egy másik lyukat a rács mögé a réteg / sík vezetékek számára (a 4. lépésben lévő tranzisztoroktól). Megtanultam azt a kemény utat, hogy a 64 lyuk felállítása a kis lyukakhoz nagyon nehéz. Végül úgy döntöttem, hogy kicsit nagyobbra fúrom a lyukakat, hogy a folyamat gyorsabb legyen. Végül egy .2 fúrógépet használtam fel.
Most, hogy a kocka a kijelző tetején ül, hajlítsa meg a sarokvezetékeket, hogy a kocka a helyén maradjon, amikor a vezetékeket rögzíti. Győződjön meg róla, hogy az összes vezetéket a megfelelő sorrendben rögzíti.
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64
És csatlakoztassa a huzalokat a rétegek (címkézett síkok) és a tranzisztorok közé. Az Arduino 6-os tranzisztor a kocka felső rétege.
Ha a vezetékek hibásak, a kódon belül valamivel korrigálható, de sok munkát igényelhet, ezért próbálja meg őket a megfelelő sorrendben.
Oké, mindent építettek és készen állnak, kapjunk egy kódot, és próbáljuk ki.

6. lépés: Kód

Ennek a kockának a kódja a legtöbbtől eltérően történik, elmagyarázom, hogyan kell alkalmazkodni.
A legtöbb kocka kód közvetlen írásokat ír az oszlopokhoz. A kód azt mondja, hogy az X oszlopnak meg kell világítania, hogy adjon egy kis lé, és készen állunk. Ez nem működik a vezérlő chipek használatakor.
A vezérlő chipek 4 vezetéket használnak az Arduino-val való beszélgetéshez: SPI-in, Clock, Latch és Enable. Az Enable PIN-t (21-es pálcát) egy ellenálláson (RL) keresztül földeltem, így a kimenet mindig engedélyezve van. Soha nem használtam az Enable-et, így kivettem a kódból. Az SPI-in az Arduino adatai, az óra egy időzítő jel a két beszélgetés közben, és a Latch azt mondja a vezérlőnek, hogy ideje új adatokat elfogadni.
Minden chip minden kimenetét egy 16 bites bináris szám vezérli. Például; a 1010101010101010-es vezérlőhöz való küldése a vezérlő minden más LED-jét világítaná. A kódodnak át kell futnia a kijelzőn minden szükséges adathoz, és ki kell építenie a bináris számot, majd elküldenie a chipnek. Könnyebb, mint amilyennek hangzik. Technikailag ez egy csomó bitenkénti hozzáadás, de rosszul vagyok a bitwise matematikában, így mindent tizedesben csinálok.
Az első 16 bit decimális értéke a következő:
1 << 0 == 1
1 << 1 == 2
1 << 2 == 4
1 << 3 == 8
1 << 4 == 16
1 << 5 == 32
1 << 6 == 64
1 << 7 == 128
1 << 8 == 256
1 << 9 == 512
1 << 10 == 1024
1 << 11 == 2048
1 << 12 == 4096
1 << 13 == 8192
1 << 14 == 16384
1 << 15 == 32768
Ez azt jelenti, hogy ha a 2-es és a 10-es kimeneteket szeretné megvilágítani, akkor a tizedesjegyeket (2 és 512) együtt kell hozzáadni ahhoz, hogy az 514-et megkapja.
De több mint 16 LEDünk van, így kissé nehezebbé válik. 4 zsetonra ki kell építeni a megjelenítési információkat. Ami ugyanolyan egyszerű, mint az 1-es építése, csak még háromszor csinálja. Egy globális változó tömböt használok a vezérlő kódok tárolására. Csak így könnyebb.
Miután mind a 4 megjelenítési kód elküldésre kész, dobja le a reteszt (állítsa LOW értékre) és kezdje el a kódok küldését. Először az utolsónak kell elküldeni. Küldje el a kódokat a 4-es chipre, majd a 3-ra, majd a 2-re, majd az 1-re, majd állítsa újra a reteszt HIGH-re. Mivel az Engedélyező tű mindig földre van kapcsolva, a kijelző azonnal megváltozik.
A legtöbb Cube kód, amit az Instructables-en láttam, és általában a web, egy óriási kódkészletből áll, amely előre beállított animációt hajt végre.Ez a kisebb kockákra jól működik, de minden alkalommal, amikor módosítani kívánja a tárolást, olvasást és 512 bit bináris küldést, a kijelző sok memóriát vesz igénybe. Az Arduino nem tudott többet kezelni, mint néhány keretet. Tehát néhány egyszerű funkciót írtam, hogy megmutassam a kocka működését, amely a számításon alapul, nem pedig előre beállított animációk. Kicsinyítettem egy kis animációt, hogy megmutassam, hogyan történik ez, de hagyom, hogy készítsd el a saját képernyőket.
cube8x8x8.pde az Arduino kód. Azt tervezem, hogy továbbra is hozzáadom a funkciókat a kódhoz, és rendszeresen frissítem a programot.
A matrix8x8.pde egy program a Feldolgozásban, hogy saját megjelenítéseket készítsen. A megadott első szám a minta1 , a második a minta2 , stb.
Az A6276EA adatlapja a következő címen érhető el:
http://www.allegromicro.com/en/Products/Part_Numbers/6276/6276.pdf

7. lépés: A kézimunka megjelenítése

Készen állsz, most itt az ideje, hogy élvezze a kockát.


Amint látod, kockaom kicsit görbe volt. Nem nagyon szívesen építek egy újat, de így fogok élni azzal, hogy görbe. Van egy pár halott foltom, amiket meg kell vizsgálnom. Lehet, hogy egy rossz kapcsolat, vagy szükség lehet egy új vezérlő chipre.
Remélem, hogy ez az Instructable inspirálja Önt arra, hogy saját kockát építsen, vagy más LED projektet használjon az A6276AE segítségével. Hozzon létre egy linket a megjegyzésekbe, ha egyet épít.
Megpróbáltam eldönteni, hogy hová megyek innen. A vezérlőtábla 4x4x4-es RGB-kockát is vezérel, így ez egy lehetőség. Azt hiszem, jó lenne, ha egy szférát csinálnánk, és ahogyan a kódot írom, nem lenne túl nehéz.