Tartalomjegyzék:

Hogyan építsünk egy 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével: 7 lépés (képekkel)
Hogyan építsünk egy 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével: 7 lépés (képekkel)

Videó: Hogyan építsünk egy 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével: 7 lépés (képekkel)

Videó: Hogyan építsünk egy 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével: 7 lépés (képekkel)
Videó: Megcsinálták a Minecraftot a Minecraftban 😳 #minecraft #redstone #magyar #topicone 2024, Július
Anonim
Hogyan építsünk 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével
Hogyan építsünk 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével
Hogyan építsünk 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével
Hogyan építsünk 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével

2020 január: szerkesztés

Ezt kihagyom, hátha valaki ötletek generálására akarja használni, de már nincs értelme egy kockát építeni ezen utasítások alapján. A LED -illesztőprogram -IC -k már nem készülnek, és mindkét vázlatot az Arduino és a Processing régi verzióiban írták, és már nem futnak. Nem tudom, mit kell megváltoztatni, hogy működjenek. Ezenkívül az építési módom fergeteges, ferde rendetlenséget eredményezett. Azt javaslom, hogy kövesse egy másik utasítás utasításait, vagy vásároljon egy készletet. Ez a kocka körülbelül 50 dollárba került 2011 -ben, most már 20 dollárért vásárolhat egy készletet az ebay -en.

Eredeti bemutatkozás:

Az Instructables -en sok LED -kocka található, akkor miért kell más? A legtöbb 27 vagy 64 LED -ből álló kis kockákhoz való, ritkán nagyobbak, mivel a mikrovezérlőn elérhető kimenetek számát korlátozzák. 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 készítettem el magát a kockát, a vezérlőpanelt és végül a kódot, hogy ragyogjon.

1. lépés: Anyagok

Anyagok
Anyagok

Minden alkatrész, amire szüksége lesz a kocka felépítéséhez: 1 Arduino/Freeduino, Atmega168 vagy újabb chip 512 LED, méret és szín rajtad múlik, én 3 mm -es piros 4 A6276EA LED -illesztő chipeket használtam az Allegro 8 NPN tranzisztorokból a feszültség áramlásának szabályozására, A BDX53B Darlington tranzisztorokat használtam 4 1000 ohmos ellenállást, 1/4 wattot vagy annál nagyobbat 12 560 ohmos ellenállást, 1/4 wattot vagy nagyobbat 1 330uF elektrolit kondenzátort 4 24 tűs IC aljzatot 9 16 tűs IC aljzatot 4 "x4" (vagy nagyobbat)) darab parfüm az összes alkatrész befogadására, egy régi számítógépes ventilátor Egy régi floppy vezérlőkábel Régi számítógép tápegysége Sok csatlakozó vezeték, forrasztó, forrasztópáka, fluxus, bármi más, ami megkönnyíti az életét. 7 "x7" (vagy nagyobb) fadarab, amelyet a LED -es forrasztóberendezés készítéséhez használnak. Egy szép tok a kész kocka megjelenítéséhez Az én választott Arduino/Freeduino a Bare Bones Board (BBB) a www.moderndevice.com webhelyről. A LED -eket az eBay -ről vásárolták, és 23 dollárba kerültek Kínából szállított 1000 LED -hez. A fennmaradó elektronikát a Newark Electronics -től (www.newark.com) vásárolták, és csak 25 dollárba kerülhet. Ha mindent meg kell vásárolnia, ennek a projektnek csak körülbelül 100 dollárba kell kerülnie. Sok régi számítógépes felszerelésem van, így ezek az alkatrészek lejöttek a hulladékhalomról.

2. lépés: Szerelje össze a rétegeket

Szerelje össze a rétegeket
Szerelje össze a rétegeket
Szerelje össze a rétegeket
Szerelje össze a rétegeket
Szerelje össze a rétegeket
Szerelje össze a rétegeket
Szerelje össze a rétegeket
Szerelje össze a rétegeket

Hogyan készítsünk 1 réteget (64 LED) ebből az 512 LED -es kockából: A megvásárolt LED -ek 3 mm átmérőjűek voltak. Úgy döntöttem, hogy kis LED -eket használok a költségek csökkentése érdekében, és a kocka végső méretét eléggé kicsi lesz ahhoz, hogy az asztalon vagy a polcon ülhessek anélkül, hogy teljesen átvenné az asztalt vagy a polcot. Egy 8x8 -as rácsot rajzoltam, körülbelül 0,6 hüvelykkel a sorok között. Így kaptam egy kocka méretet körülbelül 4,25 hüvelyk oldalanként. Fúrjon 3 mm -es lyukakat a vonalak találkozásánál, hogy készítsen egy jig -et, amely fogja a LED -eket minden egyes réteg forrasztásakor. Az A6276EA egy jelenlegi mosogatóeszköz. Ez azt jelenti, hogy nem a forráshoz, hanem a földhöz vezet. A kockát közös anódkonfigurációban kell felépítenie. A legtöbb kocka közös katódként épül fel. A LED hosszú oldala általában az anód, ellenőrizze a tiédet. Az első dolgom minden LED tesztelése volt. Igen, ez egy hosszú és unalmas folyamat, és ha akarja, kihagyhatja. Inkább időt szánok a LED -ek tesztelésére, mintsem holtpontot találjak a kockámban az összeszerelés után. 1 halott LED-et találtam az 1000-ből. Nem rossz. Vágjon le 11 darab szilárd, nem szigetelt csatlakozóvezetéket 5 hüvelykre. Helyezzen 1 LED -et a sor mindkét végébe a jigben, majd forrasztja a vezetéket minden anódhoz. Most helyezze a maradék 6 LED -et a sorba, és forrasztja az anódokat a vezetékre. Ez lehet függőlegesen vagy vízszintesen is, nem számít, ha minden réteget ugyanúgy csinál. Minden sor befejezése után vágja le az anódok felesleges vezetékét. Körülbelül 1/8 -t hagytam. Ismételje addig, amíg mind a 8 sort be nem fejezte. Most forrasztjon 3 darab rögzítődrótot az imént készített sorokon, hogy összekösse őket egy darabbal. Ezután teszteltem a réteget 5 voltos rögzítéssel csatlakoztassa a drótrácsot egy ellenálláson keresztül, és érintse meg 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 a szerszámról, és tegye félre. Ha meghajlítja a vezetékeket, ne aggódjon, csak egyenesítse ki őket, amennyire csak tudja. Nagyon könnyű hajlítani. Ahogy a képeimből is látszik, sok hajlított vezetékem volt. Gratulálunk, 1/8 kész. Készítsen további 7 réteget. Választható: Forrasztás a rétegek összekapcsolása (3. lépés) könnyebb, miközben minden következő réteg még mindig a jigben van, és hajlítsa előre a katód felső negyed hüvelykét 45-90 fokkal előre. Ez lehetővé teszi, hogy a vezető a LED köré nyúljon, amelyhez csatlakozik, és jelentősen megnehezíti a forrasztást Ne tegye ezt az első réteggel, kijelentjük, hogy az egyik az alsó réteg, és a vezetékeknek s -nek kell lenniük traight.

Lépés: Szerelje össze a kockát

Szerelje össze a kockát
Szerelje össze a kockát
Szerelje össze a kockát
Szerelje össze a kockát

Hogyan forrasztjuk össze az összes réteget egy kockává: A kemény résznek majdnem vége. Most óvatosan helyezzen vissza egy réteget a jigbe, de ne használjon túl nagy nyomást, szeretnénk eltávolítani anélkül, hogy meghajlítanánk. Ez az első réteg a kocka felső felülete. Helyezzen egy másik réteget az első réteg tetejére, állítsa be a vezetékeket és kezdje el a forrasztást. Úgy találtam, hogy a legegyszerűbb először a sarkokat, majd a külső peremet, majd a sorok belsejét elvégezni. Folytassa a rétegek hozzáadását, amíg elkészül. Ha előre meghajlította a vezetékeket, akkor ügyeljen arra, hogy a réteget egyenes vezetékekkel mentse az utolsóra. Ez az alja. Egy kicsit túl sok hely volt az egyes rétegek között, így nem kaptam kocka alakot. Nem nagy ügy, együtt tudok élni vele.

4. lépés: A vezérlőpult felépítése

Az ellenőrző testület felépítése
Az ellenőrző testület felépítése
Az ellenőrző testület felépítése
Az ellenőrző testület felépítése
Az ellenőrző testület felépítése
Az ellenőrző testület felépítése

A vezérlőkártya felépítése és az Arduino készülékhez való rögzítése: Kövesse a vázlatot, és építse meg a táblát, ahogyan Ön választja. A vezérlőlapkákat a tábla közepére helyeztem, és a bal oldalt tartottam a kocka minden rétegének áramát szabályozó tranzisztorokat, a jobb oldalt pedig a vezérlő chipekről a katódokhoz vezető csatlakozók megtartására. a LED oszlopokat. Találtam egy régi, 40 mm -es számítógép -ventilátort, egy női molex csatlakozóval, hogy csatlakoztassa a számítógép tápegységéhez. Ez tökéletes volt. Kis mennyiségű légáramlás hasznos a chipen, és most egyszerű módom van arra, hogy 5 voltot biztosítsak a vezérlőlapkáknak és magának az Arduino -nak. A sematikus ábrán az RC az áramkorlátozó ellenállás az összes A6276EA -hoz csatlakoztatott LED -hez. 1000 ohmot használtam, mert 5 milliampert biztosít a LED -nek, ami elég ahhoz, hogy megvilágítsa. Magas fényerőt használok, nem Super Brite LED -eket, így alacsonyabb az áramfelvétel. Ha az oszlop mind a 8 LED -je egyszerre világít, akkor ez csak 40 milliamper. Az A6276EA minden kimenete 90 milliampert képes kezelni, így jó hatótávolságon belül vagyok. Az RL az ellenállás, amely a logikai vagy jelvezetékekhez van csatlakoztatva. A tényleges érték nem túl fontos, amíg létezik, és nem túl nagy. 560 ohm -ot használok, mert egy csomó elérhető volt belőlük. Teljesítménytranzisztorral rendelkeztem, amely képes akár 6 amper kezelésére is, hogy szabályozza a kocka egyes rétegeinek áramát. Ez túlzás ebben a projektben, mivel a kocka minden rétege csak 320 milliampert húz le, amikor az összes LED világít. Szerettem volna növekedni, és később a vezérlőpanelt valami nagyobbra használhatom. Használjon bármilyen méretű tranzisztorokat, amelyek megfelelnek az Ön igényeinek. A 330 uF kondenzátor a feszültségforráson keresztül segíti a kisebb feszültségingadozások kiegyenlítését. Mivel régi számítógépes tápegységet használok, ez nem szükséges, de abban az esetben hagytam, ha valaki 5 voltos fali adaptert szeretne használni a kocka táplálásához. Minden A6276EA vezérlő chip 16 kimenettel rendelkezik. Nem rendelkeztem más megfelelő csatlakozóval, így a vezetékeket 16 tűs IC aljzatokhoz forrasztottam, és ezeket fogom használni a vezérlőpanel és a kocka csatlakoztatásához. Az IC aljzatot is félbevágtam, és arra használtam, hogy csatlakoztassam a 8 vezetéket, amelyek a tranzisztorokat a kocka rétegeihez csatlakoztatják. 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álják. A floppy kábel 2 sor 20 tűs, a csupasz Bones Board 18 tűvel rendelkezik. Ez egy nagyon olcsó (ingyenes) módszer az Arduino és a tábla csatlakoztatására. A szalagkábelt széthúztam 2 vezetékből álló csoportokban, lecsupaszítottam a végeket és összeforrasztottam őket. Ez lehetővé teszi az Arduino csatlakoztatását a csatlakozó bármelyik sorába. Kövesse a vázlatot, és forrasztja a csatlakozót a helyére. Ne felejtse el forrasztani az 5 voltos és a földelő vezetékeket a csatlakozó számára, hogy áramot biztosítson az Arduino számára. Ezt a vezérlőpanelt 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 be akarja kötni a csatlakozásokat, az rendben van.

5. lépés: Készítse el a vitrinet

Készítse el a vitrinet
Készítse el a vitrinet
Készítse el a vitrinet
Készítse el a vitrinet
Készítse el a vitrinet
Készítse el a vitrinet
Készítse el a vitrinet
Készítse el a vitrinet

Tegye szépnek a végtermékét: ezt a fából készült ládát a Hobby Lobby -ban találtam 4 dollárért, és úgy gondoltam, hogy tökéletes lenne, mivel benne van hely az összes vezeték elhelyezéséhez, és jól is néz ki. Ezt az egy piros, ugyanazt a foltot festettem a számítógép asztalon, hogy illeszkedjenek. Rajzoljon egy rácsot a tetejére, amely megegyezik a forrasztóberendezés rácsával (0,6 hüvelyk a sorok között). Fúrjon lyukakat, hogy a vezetékek áthaladjanak a tetején, és fúrjon egy másik lyukat a rács mögött a réteg/sík vezetékekhez (a 4. lépés tranzisztorokból). Nagyon nehezen tanultam meg, hogy nagyon nehéz 64 vezetéket felsorakoztatni, hogy kis lyukakon menjenek keresztül. Végül úgy döntöttem, hogy minden lyukat kissé nagyobbra fúrok, hogy a folyamat gyorsabb legyen. Végül egy.2 fúrót használtam. Most, hogy a kocka a kijelző tetején ül, hajlítsa meg a sarokvezetékeket, hogy a kocka a helyén maradjon a vezetékek rögzítésekor. Győződjön meg arról, hogy az összes vezetéket a megfelelő sorrendben csatlakoztatta. 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 vezetékeket a rétegek (az ábrán "síkok" felirattal) és a tranzisztorok közé. Az Arduino 6 -os érintkező tranzisztorja a kocka felső rétege. Ha rosszul vezeti a vezetékeket, akkor némileg korrigálható a kódon belül, de sok munkát igényelhet, ezért próbálja meg a megfelelő sorrendben elhelyezni őket. minden fel van építve és használatra kész, szerezzünk be egy kódot, és próbáljuk ki.

6. lépés: Kód

Kód
Kód

Ennek a kockának a kódja másképp történik, mint a legtöbb, elmagyarázom, hogyan kell alkalmazkodni. A legtöbb kockakód közvetlen írásokat használ az oszlopokba. A kód azt mondja, hogy az X oszlopot meg kell világítani, így adjon neki egy kis gyümölcslevet, és kész. Ez nem működik 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. pin) földeltem egy ellenálláson (RL) keresztül, így a kimenet mindig engedélyezve van. Soha nem használtam az Enable -t, így kivettem a kódból. Az SPI-in az Arduino-ból származó adatok, az Óra egy időzítő jel a kettő között, miközben beszélnek, és a Latch közli a vezérlővel, hogy ideje új adatokat fogadni. Minden chip minden kimenetét egy 16 bites bináris szám vezérli. Például; A 1010101010101010 elküldése a vezérlőhöz a vezérlő minden más LED -jét kigyulladná. A kódnak végig kell futnia minden, ami egy kijelzőhöz szükséges, és létre kell hoznia azt a bináris számot, majd el kell küldenie a chipre. Könnyebb, mint amilyennek hangzik. Technikailag ez egy csomó bitenkénti összeadás, de silány vagyok a bitenkénti matematikában, ezért mindent decimális formában teszek. 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 == 32768Ez azt jelenti, hogy ha világítson a 2. és a 10. kimeneten, összeadja a tizedesjegyeket (2 és 512), hogy megkapja az 514 -et. Küldje el az 514 -et a vezérlőhöz, és a 2 -es és 10 -es kimenet világít. De több mint 16 LED -ünk van, így kissé nehezebb lesz. 4 chipre kell megjelenítenünk a megjelenítési információkat. Ami olyan egyszerű, mint 1 -re építeni, csak 3 -szor csináld meg. Globális változó tömböt használok a vezérlőkódok tárolására. Ez így egyszerűbb. Ha mind a 4 kijelzőkód készen áll a küldésre, engedje le a reteszt (állítsa LOW -ra), és kezdje el a kódok küldését. Először az utolsót kell elküldenie. Küldje el a 4 -es, majd a 3 -as, majd a 2 -es, majd az 1 -es chip kódjait, majd állítsa a reteszt ismét HIGH állásba. Mivel az Engedélyezés gomb mindig a földhöz van csatlakoztatva, a kijelző azonnal megváltozik. A legtöbb kockakód, amelyet az Instructables és az internet általában láttam, egy óriási kódblokkból áll, amely előre beállított animációt hajt végre. Ez jól működik kisebb kockáknál is, de 512 bit bináris tárolására, olvasására és elküldésére van szükség minden alkalommal, amikor módosítani szeretné a kijelzőt, sok memóriát foglal el. Az Arduino néhány képkockánál többet nem tudott kezelni. Írtam tehát néhány egyszerű funkciót a kocka működés közbeni megjelenítéséhez, amely inkább a számításra támaszkodik, mint az előre beállított animációkra. Mellékeltem egy kis animációt, hogy megmutassam, hogyan történik, de rábízom a saját kijelzők készítését. A 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. Az első megadott szám a minta1 , a második a minta2 stb.

7. lépés: Mutassa be a keze munkáját

Mutasd be a kezed munkáját
Mutasd be a kezed munkáját

Kész, most itt az ideje, hogy élvezze a kockát. Mint látható, a kocka kissé görbe volt. Bár nem nagyon szeretek másikat építeni, úgyhogy együtt fogok élni azzal, hogy görbe. Van egy holtpontom, amit meg kell vizsgálnom. Lehet, hogy rossz a kapcsolat, vagy szükségem lehet egy új vezérlő chipre. Remélem, ez az Instructable inspirál arra, hogy saját kockát vagy más LED -es projektet építsen az A6276AE segítségével. Tegyen közzé egy linket a megjegyzésekben, ha egyet épít. Próbáltam eldönteni, hogy hová menjen innen. A vezérlőpanel egy 4x4x4 RGB kockát is vezérel, így ez a lehetőség. Azt hiszem, jó lenne egy gömböt csinálni, és ahogy a kódot írtam, nem lenne túl nehéz megtenni.

Ajánlott: