Cuprins:

Cum să construiești un cub LED 8x8x8 și să-l controlezi cu un Arduino: 7 pași (cu imagini)
Cum să construiești un cub LED 8x8x8 și să-l controlezi cu un Arduino: 7 pași (cu imagini)

Video: Cum să construiești un cub LED 8x8x8 și să-l controlezi cu un Arduino: 7 pași (cu imagini)

Video: Cum să construiești un cub LED 8x8x8 și să-l controlezi cu un Arduino: 7 pași (cu imagini)
Video: How to make 8x8x8 LED cube using arduino 2024, Iulie
Anonim
Cum să construiești un cub LED 8x8x8 și să îl controlezi cu un Arduino
Cum să construiești un cub LED 8x8x8 și să îl controlezi cu un Arduino
Cum să construiești un cub LED 8x8x8 și să-l controlezi cu un Arduino
Cum să construiești un cub LED 8x8x8 și să-l controlezi cu un Arduino

Editare ianuarie 2020:

Las asta în caz că cineva vrea să-l folosească pentru a genera idei, dar nu mai are rost să construim un cub pe baza acestor instrucțiuni. IC-urile driverului LED nu mai sunt realizate și ambele schițe au fost scrise în versiunile vechi ale Arduino și Processing și nu mai rulează. Nu știu ce trebuie schimbat pentru a-i face să funcționeze. De asemenea, metoda mea de construcție a avut ca rezultat o mizerie dezordonată. Sugestia mea este să urmați instrucțiunile unui alt instructable sau să cumpărați un kit. Acest cub a costat în jur de 50 USD în 2011, puteți cumpăra un kit de pe eBay pentru aproximativ 20 USD acum.

Introducere originală:

Există o mulțime de cuburi LED pe Instructables, deci de ce să faci altul? Cele mai multe sunt pentru cuburi mici formate din 27 sau 64 de LED-uri, rareori mai mari, deoarece sunt limitate la numărul de ieșiri disponibile pe microcontroler. Acest cub va avea 512 LED-uri și va avea nevoie doar de 11 fire de ieșire de la Arduino. Cum este posibil acest lucru? Prin utilizarea driverului LED Allegro Microsystems A6276EA.

Vă voi arăta cum am făcut cubul în sine, placa controlerului și, în cele din urmă, codul pentru a-l face să strălucească.

Pasul 1: Materiale

Materiale
Materiale

Toate piesele de care aveți nevoie pentru a construi cubul: 1 Arduino / Freeduino cu cip Atmega168 sau mai mare 512 LED-uri, dimensiunea și culoarea depind de dvs., Am folosit tranzistorul BDX53B Darlington 4 rezistențe de 1000 ohmi, rezistențe de 1/4 wați sau mai mari 12 560 ohmi, 1/4 wați sau mai mare 1 condensator electrolitic 330uF 4 Priză IC cu 24 pini 9 prize IC cu 16 pini 4 "x4" (sau mai mare) bucată de perfboard pentru a ține toate părțile, Un ventilator vechi al computerului Un vechi cablu de controler pentru dischetă Un vechi alimentator de alimentare al computerului O mulțime de sârmă de conectare, lipit, lipitor, flux, orice altceva pentru a vă face viața mai ușoară în timp ce faceți acest lucru. Bucată de lemn de 7 "x7" (sau mai mare) utilizată pentru realizarea dispozitivului de lipit cu LED-uri O carcasă frumoasă pentru a afișa cubul tău finit Arduino / Freeduino la alegere este Bare Bones Board (BBB) de pe www.moderndevice.com. LED-urile au fost achiziționate de pe eBay și au costat 23 USD pentru 1000 de LED-uri expediate din China. Electronica rămasă a fost achiziționată de la Newark Electronics (www.newark.com) și ar trebui să coste doar aproximativ 25 USD. Dacă trebuie să cumpărați totul, acest proiect ar trebui să coste doar aproximativ 100 USD. Am o mulțime de echipamente informatice vechi, așa că acele părți s-au desprins din grămada de deșeuri.

Pasul 2: Asamblați straturile

Asamblați straturile
Asamblați straturile
Asamblați straturile
Asamblați straturile
Asamblați straturile
Asamblați straturile
Asamblați straturile
Asamblați straturile

Cum se face un strat (64 de LED-uri) din acest cub de 512 LED-uri: LED-urile pe care le-am cumpărat aveau un diametru de 3 mm. Am decis să folosesc LED-uri mici pentru a reduce costurile și pentru a face dimensiunea finală a cubului suficient de mică pentru a sta pe biroul sau raftul meu, fără a prelua complet biroul sau raftul. Am desenat o grilă de 8x8 cu aproximativ 0,6 inci între linii. Acest lucru mi-a dat o dimensiune a cubului de aproximativ 4,25 inci pe fiecare parte. Găuriți găuri de 3 mm acolo unde liniile se întâlnesc pentru a face un dispozitiv care să țină LED-urile pe măsură ce lipiți fiecare strat. A6276EA este un dispozitiv de chiuvetă curent. Aceasta înseamnă că oferă o cale spre masă, mai degrabă decât o cale către tensiunea sursei. Va trebui să construiți cubul în configurația comună a anodului. Majoritatea cuburilor sunt construite ca un catod comun. Partea lungă a LED-ului este în general anodul, verificați-l pe al dvs. pentru a vă asigura. Primul lucru pe care l-am făcut a fost să testez fiecare LED. Da, este un proces lung și plictisitor și puteți sări peste el dacă doriți. Aș prefera să petrec timpul pentru a testa LED-urile decât să găsesc un punct mort în cubul meu după ce a fost asamblat. Am găsit 1 LED mort din 1000. Nu e rău. Tăiați 11 bucăți de sârmă solidă, neizolată, conectată la 5 inci. Așezați 1 LED în fiecare capăt al unui rând în jig și apoi lipiți firul către fiecare anod. Acum puneți restul de 6 LED-uri în rând și lipiți acei anodi pe fir. Acest lucru poate fi vertical sau orizontal, nu contează atâta timp cât faceți toate straturile în același mod. Pe măsură ce terminați fiecare rând, tăiați excesul de plumb din anodi. Am lăsat în jur de 1/8 . Repetați până când ați terminat toate cele 8 rânduri. Acum lipiți 3 bucăți de sârmă de legătură peste rândurile pe care tocmai le-ați făcut pentru a le conecta pe toate într-o singură bucată. Am testat apoi stratul atașând 5 volți pentru a conecta rețeaua de sârmă printr-un rezistor și a atins cablul de la sol la fiecare catod. Înlocuiți orice LED-uri care nu se aprind. Scoateți cu grijă stratul din jig și lăsați-l deoparte. Dacă îndoiți firele, nu vă faceți griji, doar îndreptați-le cât mai bine. Este foarte ușor de îndoit. După cum puteți vedea din imaginile mele, am avut o mulțime de fire îndoite. Felicitări, ați terminat 1/8. Faceți încă 7 straturi. OPȚIONAL: Pentru a face lipirea straturile împreună (Pasul 3) sunt mai ușoare, în timp ce fiecare strat ulterior este încă în jig, îndoiți sfertul superior de catod al catodului înainte 45-90 de grade. mai ușor. Nu faceți acest lucru primului dvs. strat, vom declara că unul este stratul inferior, iar cablurile trebuie să fie s trădare.

Pasul 3: Asamblați cubul

Asamblați cubul
Asamblați cubul
Asamblați cubul
Asamblați cubul

Cum să lipiți toate straturile împreună pentru a crea un cub: partea dificilă este aproape terminată. Acum, așezați cu atenție un strat înapoi în jig, dar nu folosiți prea multă presiune, vrem să îl putem îndepărta fără să-l îndoim. Acest prim strat este fața superioară a cubului. Așezați un alt strat deasupra primului, aliniați cablurile și începeți să lipiți. Mi s-a părut cel mai ușor să faci colțurile mai întâi, apoi pe marginea exterioară, apoi pe rânduri. Păstrează adăugarea de straturi până când ai terminat. Dacă ați îndoit cablurile, asigurați-vă că salvați stratul cu cabluri drepte pentru ultima. Este partea inferioară. Am avut puțin prea mult spațiu între fiecare strat, așa că nu prea am primit o formă de cub. Nu e mare lucru, pot trăi cu ea.

Pasul 4: Construirea plăcii de control

Construirea plăcii de control
Construirea plăcii de control
Construirea plăcii de control
Construirea plăcii de control
Construirea plăcii de control
Construirea plăcii de control

Cum să construiți placa de control și să o atașați la Arduino: Urmați schema și construiți placa după cum doriți. Am așezat cipurile controlerului în centrul plăcii și am folosit partea stângă pentru a ține tranzistoarele care controlează curentul către fiecare strat al cubului și am folosit partea dreaptă pentru a ține conectorii care merg de la cipurile controlerului la catodii din coloanele cu LED-uri. Am găsit un ventilator vechi de 40 mm pentru computer cu un conector molex de sex feminin pentru al conecta la o sursă de alimentare a computerului. A fost perfect. O cantitate mică de flux de aer peste cip este utilă și am acum o modalitate ușoară de a furniza 5 volți cipurilor controlerului și Arduino în sine. Pe schemă, RC este rezistorul de limitare a curentului pentru toate LED-urile conectate la fiecare A6276EA. Am folosit 1000 ohmi pentru că oferă 5 miliamperi LED-ului, suficient pentru a-l aprinde. Folosesc luminozitate ridicată, nu LED-uri Super Brite, deci scurgerea de curent este mai mică. Dacă toate cele 8 LED-uri dintr-o coloană sunt aprinse simultan, este doar 40 de miliamperi. Fiecare ieșire a A6276EA poate gestiona 90 de miliamperi, așa că sunt bine în domeniul de acțiune. Valoarea reală nu este foarte importantă atâta timp cât există și nu este prea mare. Folosesc 560 ohmi pentru că aveam o grămadă de ei disponibili. Am folosit un tranzistor de putere capabil să manipuleze până la 6 amperi pentru a controla curentul care merge la fiecare strat al cubului. Acest lucru este excesiv pentru acest proiect, deoarece fiecare strat al cubului va atrage doar 320 miliamperi cu toate LED-urile aprinse. Am vrut să crească spațiu și să folosesc placa controlerului pentru ceva mai mare mai târziu. Utilizați tranzistorul de orice dimensiune se potrivește nevoilor dvs. Condensatorul de 330 uF pe sursa de tensiune este acolo pentru a ajuta la calmarea oricăror fluctuații minore de tensiune. Deoarece folosesc o sursă de alimentare pentru computer veche, acest lucru nu este necesar, dar l-am lăsat doar în cazul în care cineva dorește să utilizeze un adaptor de perete de 5 volți pentru a-și alimenta cubul. Fiecare cip de controler A6276EA are 16 ieșiri. Nu am avut niciun alt conector adecvat, așa că am lipit cablurile la niște prize IC cu 16 pini și le voi folosi pentru a conecta placa controlerului la cub. De asemenea, am tăiat o priză IC în jumătate și am folosit-o pentru a conecta cele 8 fire care conectează tranzistoarele la straturile cubului. Am tăiat aproximativ 5 inci de la capătul unui cablu vechi de dischetă pentru a-l folosi ca conector pentru Arduino. Cablul floppy are 2 rânduri de 20 de pini, placa Bones goală are 18 pini. Acesta este un mod foarte ieftin (gratuit) de a conecta Arduino la placă. Am tras cablul panglică în grupuri de 2 fire, am dezbrăcat capetele și le-am lipit împreună. Acest lucru vă permite să conectați Arduino la fiecare rând al conectorului. Urmați schema și lipiți conectorul în poziție. Nu uitați să lipiți cablurile de 5 volți și masă pentru conector pentru a furniza energie Arduino. Intenționez să folosesc această placă de control pentru alte proiecte, astfel încât designul modular să funcționeze frumos pentru mine. Dacă doriți să conectați conexiunile, este bine.

Pasul 5: Construiți vitrina

Construiți vitrina
Construiți vitrina
Construiți vitrina
Construiți vitrina
Construiți vitrina
Construiți vitrina
Construiți vitrina
Construiți vitrina

Faceți ca produsul dvs. final să arate frumos: am găsit acest cufăr din lemn la Hobby Lobby pentru 4 USD și m-am gândit că ar fi perfect, deoarece are spațiu în interior pentru a ține tot firul, plus că arată frumos. Am colorat-o pe aceea roșie, aceeași pată pe care am folosit-o pe biroul computerului, astfel încât să se potrivească. Desenați o grilă deasupra, de aceeași dimensiune ca grila utilizată pentru jigul de lipit (.6 inci între linii). Faceți găuri pentru a permite cablurile să treacă prin partea superioară și faceți o altă gaură în spatele grilei pentru firele stratului / planului (de la tranzistoare la pasul 4). Am învățat calea grea că încercarea de a alinia 64 conduce la trecerea prin găuri mici este foarte dificilă. În cele din urmă am decis să forez din nou toate găurile puțin mai mari pentru a face procesul să meargă mai repede. Am ajuns să folosesc în jur un burghiu.2. Acum că cubul stă deasupra afișajului, îndoiți cablurile de colț, astfel încât cubul să rămână pe loc în timp ce atașați firele. Asigurați-vă că atașați toate firele în ordinea corectă. 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 Și conectați firele între straturi („planuri” etichetate pe schemă) și tranzistoare. Tranzistorul de pe pinul Arduino 6 este stratul superior al cubului. Dacă greșiți firele, acesta este oarecum corectabil în cod, dar poate necesita multă muncă, așa că încercați să le obțineți în ordinea corectă. Bine, totul este construit și gata de plecare, haideți să obținem un cod și să-l încercăm.

Pasul 6: Cod

Cod
Cod

Codul pentru acest cub se face diferit față de majoritatea, voi explica cum să se adapteze. Majoritatea codului cubului utilizează scrieri directe în coloane. Codul spune că Coloana X trebuie aprinsă, așa că dați-i suc și am terminat. Acest lucru nu funcționează atunci când utilizați cipuri de control. Cipurile de control folosesc 4 fire pentru a vorbi cu Arduino: SPI-in, Clock, Latch și Enable. Am împământat pinul de activare (pinul 21) printr-un rezistor (RL), astfel încât ieșirea este întotdeauna activată. Nu am folosit niciodată Enable, așa că am scos-o din cod. SPI-in este datele din Arduino, Ceasul este un semnal de sincronizare între cei doi în timp ce vorbesc, iar Latch îi spune controlerului că este timpul să accepte date noi. Fiecare ieșire pentru fiecare cip este controlată de un număr binar de 16 biți. De exemplu; trimiterea 101010101010101010 către controler ar determina aprinderea tuturor celorlalte LED-uri de pe controler. Codul dvs. trebuie să ruleze prin tot ceea ce este necesar pentru afișare și să construiască acel număr binar, apoi să îl trimită la cip. Este mai ușor decât pare. Din punct de vedere tehnic, este o grămadă de adaosuri pe biți, dar sunt prost la matematică pe biți, așa că fac totul în zecimal. Decimal pentru primii 16 biți sunt după cum urmează: 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 Aceasta înseamnă dacă doriți să aprindeți ieșirile 2 și 10, adăugați zecimale (2 și 512) împreună pentru a obține 514. Trimiteți 514 la controler și ieșirile 2 și 10 se vor aprinde. Dar avem mai mult de 16 LED-uri, astfel încât devine puțin mai dificil. Trebuie să construim informații de afișare pentru 4 jetoane. Ceea ce este la fel de ușor ca construirea acestuia pentru 1, faceți-o încă de 3 ori. Folosesc o matrice variabilă globală pentru a păstra codurile de control. Este pur și simplu mai ușor în acest fel. După ce aveți toate cele 4 coduri de afișare gata de trimis, lăsați zăvorul (setați-l la LOW) și începeți să trimiteți codurile. Trebuie să-l trimiteți mai întâi pe ultimul. Trimiteți codurile pentru cipul 4, apoi 3, apoi 2, apoi 1, apoi setați din nou Latch la HIGH. Deoarece pinul Enable este întotdeauna conectat la masă, afișajul se schimbă imediat. Majoritatea codului cub pe care l-am văzut pe Instructables și pe web, în general, constă dintr-un bloc gigantic de set de coduri pentru a efectua o animație prestabilită. Acest lucru funcționează bine pentru cuburile mai mici, dar trebuie să stocheze, să citească și să trimită 512 biți de binare de fiecare dată când doriți să schimbați afișajul, ocupă multă memorie. Arduino nu putea suporta mai mult de câteva cadre. Așa că am scris câteva funcții simple pentru a arăta cubul în acțiune care se bazează mai degrabă pe calcule decât pe animații prestabilite. Am inclus o mică animație pentru a arăta cum se face, dar vă voi lăsa să creați propriile afișaje. Cub8x8x8.pde este codul Arduino. Am de gând să continui să adaug funcții la cod și voi actualiza periodic programul. Matrix8x8.pde este un program în procesare pentru a-ți construi propriile afișaje. Primul număr dat intră în modelul 1 , al doilea în modelul 2 etc. Fișa tehnică pentru A6276EA este disponibilă la:

Pasul 7: Afișați lucrarea dvs. manuală

Afișați lucrarea dvs. manuală
Afișați lucrarea dvs. manuală

Ai terminat, acum este timpul să te bucuri de cubul tău. După cum puteți vedea, cubul meu a ieșit puțin strâmb. Deși nu sunt foarte dornic să construiesc altul, așa că voi trăi cu el strâmb. Am câteva pete moarte în care trebuie să mă uit. S-ar putea să fie o conexiune defectuoasă sau s-ar putea să am nevoie de un nou cip de controler. Sper că acest Instructable vă va inspira să vă construiți propriul cub sau un alt proiect LED folosind A6276AE. Postați un link în comentarii dacă creați unul. Am încercat să decid unde să merg de aici. Placa de control va controla, de asemenea, un cub RGB 4x4x4, deci aceasta este o posibilitate. Cred că ar fi îngrijit să fac o sferă și modul în care am scris codul nu ar fi prea greu de făcut.

Recomandat: