Indholdsfortegnelse:

Sådan bygger du en 8x8x8 LED -terning og styrer den med en Arduino: 7 trin (med billeder)
Sådan bygger du en 8x8x8 LED -terning og styrer den med en Arduino: 7 trin (med billeder)

Video: Sådan bygger du en 8x8x8 LED -terning og styrer den med en Arduino: 7 trin (med billeder)

Video: Sådan bygger du en 8x8x8 LED -terning og styrer den med en Arduino: 7 trin (med billeder)
Video: CАМАЯ КРАСИВАЯ ГОРА СИБИРИ. Жизнь скотоводов-кочевников в долине Аргута. Гора Белуха. 2024, Juli
Anonim
Sådan bygger du en 8x8x8 LED -terning og styrer den med en Arduino
Sådan bygger du en 8x8x8 LED -terning og styrer den med en Arduino
Sådan bygger du en 8x8x8 LED -terning og styrer den med en Arduino
Sådan bygger du en 8x8x8 LED -terning og styrer den med en Arduino

Januar 2020 rediger:

Jeg lader dette være i tilfælde af, at nogen vil bruge det til at generere ideer, men der er ikke længere nogen mening i at bygge en terning baseret på disse instruktioner. LED -driver -IC'erne laves ikke længere, og begge skitser blev skrevet i gamle versioner af Arduino og Processing og blev ikke længere kørt. Jeg ved ikke, hvad der skal ændres for at få dem til at fungere. Min konstruktionsmetode resulterede også i et skævt skævt rod. Mit forslag er at følge instruktionerne på en anden instruerbar eller købe et kit. Denne terning kostede omkring $ 50 tilbage i 2011, du kan købe et kit fra eBay for omkring $ 20 nu.

Original introduktion:

Der er mange LED -terninger på Instructables, så hvorfor gøre en anden? De fleste er til små terninger bestående af 27 eller 64 lysdioder, sjældent større, da de er begrænset til antallet af tilgængelige output på mikrokontrolleren. Denne terning vil være på 512 lysdioder og skal kun bruge 11 outputledninger fra Arduino. Hvordan er det muligt? Ved at bruge Allegro Microsystems A6276EA LED -driveren.

Jeg viser dig, hvordan jeg lavede selve terningen, controllerkortet og endelig koden for at få den til at skinne.

Trin 1: Materialer

Materialer
Materialer

Alle dele, du skal bruge til at bygge terningen: 1 Arduino/Freeduino med Atmega168 eller højere chip 512 lysdioder, størrelse og farve er op til dig, jeg brugte 3 mm røde 4 A6276EA LED -driverchips fra Allegro 8 NPN -transistorer til at styre spændingsstrømmen, Jeg brugte BDX53B Darlington transistor 4 1000 ohm modstande, 1/4 watt eller højere 12 560 ohm modstande, 1/4 watt eller højere 1 330uF elektrolytkondensator 4 24 pin IC stik 9 16 pin IC stik 4 "x4" (eller større) stykke perfboard til at rumme alle delene, En gammel computerventilator Et gammelt diskettestyringskabel En gammel computerens strømforsyning En masse tilslutningstråd, loddemetal, loddejern, flux, alt andet for at gøre dit liv lettere, mens du gør dette. 7 "x7" (eller større) træstykke, der bruges til at lave LED -loddejiggen. Et godt tilfælde til at vise din færdige terning Min Arduino/Freeduino efter eget valg er Bare Bones Board (BBB) fra www.moderndevice.com. Lysdioderne blev købt af eBay og kostede $ 23 for 1000 lysdioder, der blev sendt fra Kina. Den resterende elektronik blev købt fra Newark Electronics (www.newark.com) og skulle kun koste omkring $ 25. Hvis du skal købe alt, bør dette projekt kun koste omkring $ 100. Jeg har meget gammelt computerudstyr, så disse dele kom af skrotbunken.

Trin 2: Saml lagene

Saml lagene
Saml lagene
Saml lagene
Saml lagene
Saml lagene
Saml lagene
Saml lagene
Saml lagene

Sådan laver du 1 lag (64 lysdioder) af denne 512 LED -terning: Lysdioderne, jeg købte, var 3 mm i diameter. Jeg besluttede at bruge små lysdioder til at reducere omkostningerne og gøre den endelige størrelse på terningen lille nok til at sidde på mit skrivebord eller på hylden uden helt at overtage skrivebordet eller hylden. Jeg tegnede et 8x8 gitter med cirka.6 tommer mellem linjerne. Dette gav mig en kubestørrelse på omkring 4,25 tommer pr. Side. Bor 3 mm huller, hvor linjerne mødes for at lave en jig, der holder lysdioderne, mens du lodder hvert lag. A6276EA er en nuværende vaskeanordning. Dette betyder, at det giver en vej til jorden i stedet for en vej til kildespændingen. Du bliver nødt til at bygge terningen i en fælles anodekonfiguration. De fleste terninger er bygget som fælles katode. Langsiden af LED'en er generelt anoden, tjek din for at være sikker. Det første jeg gjorde var at teste hver LED. Ja det er en lang og kedelig proces, og du kan springe den over, hvis du vil. Jeg vil hellere bruge tiden på at teste lysdioderne end at finde et dødt sted i min terning, efter at den var samlet. Jeg fandt 1 død LED ud af 1000. Ikke dårligt. Skær 11 stykker solid, ikke-isoleret tilslutningstråd til 5 tommer. Placer 1 LED i hver ende af en række i din jig og lod derefter ledningen til hver anode. Placer nu de resterende 6 lysdioder i rækken, og lod disse anoder til ledningen. Dette kan være lodret eller vandret, det er ligegyldigt, så længe du gør alle lagene på samme måde. Når du er færdig med hver række, skal du trimme det overskydende bly fra anoderne. Jeg forlod omkring 1/8 . Gentag, indtil du er færdig med alle 8 rækker. Nu loddes 3 stykker hook -wire på tværs af de rækker, du lige lavede for at forbinde dem alle til et enkelt stykke. Jeg testede derefter laget ved at vedhæfte 5 volt til at tilslutte trådgitteret gennem en modstand og røre jordledningen til hver katode. Udskift alle lysdioder, der ikke lyser. Fjern forsigtigt laget fra jiggen og sæt det til side. Hvis du bøjer ledningerne, skal du ikke bekymre dig, bare rette dem ud så godt du kan. Det er meget let at bøje. Som du kan se på mine billeder, havde jeg mange bøjede tråde. Tillykke, du er 1/8 færdig. Lav 7 lag mere. VALGFRIT: For at lave lodning lagene sammen (trin 3) lettere, mens hvert efterfølgende lag stadig er i jiggen, bøjer den øverste kvart tomme af katoden 45 til 90 grader fremad. Dette gør det muligt for hovedet at nå rundt om den LED, det tilsluttes til, og vil gøre lodning meget lettere. Gør ikke dette med dit første lag, vi erklærer, at det ene er det nederste lag, og at lederne skal være s ret.

Trin 3: Saml terningen

Saml terningen
Saml terningen
Saml terningen
Saml terningen

Sådan loddes alle lagene sammen for at lave en terning: Den hårde del er næsten slut. Læg nu forsigtigt et lag tilbage i jiggen, men brug ikke for meget pres, vi vil gerne kunne fjerne det uden at bøje det. Dette første lag er terningens øverste flade. Læg et andet lag oven på det første, sæt ledningerne på linje og begynd at lodde. Jeg fandt det lettest at lave hjørner først, derefter udvendig kant, derefter inde i rækker. Fortsæt med at tilføje lag, indtil du er færdig. Hvis du har bøjet ledningerne på forhånd, skal du sørge for at gemme laget med lige ledninger til sidst. Det er bunden. Jeg havde lidt for meget plads mellem hvert lag, så jeg fik ikke helt en terningform. Ikke en stor ting, jeg kan leve med det.

Trin 4: Opbygning af controllerkortet

Opbygning af controller board
Opbygning af controller board
Opbygning af controller board
Opbygning af controller board
Opbygning af controller board
Opbygning af controller board

Sådan opbygges controllerkortet og fastgøres til din Arduino: Følg skematikken og opbyg tavlen, som du vælger. Jeg placerede controller -chipsene i midten af brættet og brug venstre side til at holde transistorer, der styrer strømmen, til hvert lag af terningen, og brugte højre side til at holde de stik, der går fra controller -chipsene til katoderne i LED -søjlerne. Jeg fandt en gammel 40 mm computerblæser med et hun -molex -stik til at tilslutte den til en computers strømforsyning. Dette var perfekt. En lille mængde luftstrøm over chippen er nyttig, og jeg har nu en nem måde at levere 5 volt til controller -chipsene og selve Arduino'en. På skematisk er RC den nuværende begrænsende modstand for alle lysdioder, der er forbundet til hver A6276EA. Jeg brugte 1000 ohm, fordi den giver 5 milliampere til LED'en, nok til at tænde den. Jeg bruger High Brightness, ikke Super Brite LED'er, så strømafløbet er lavere. Hvis alle 8 lysdioder i en kolonne er tændt på én gang, er det kun 40 milliampere. Hver udgang fra A6276EA kan klare 90 milliampere, så jeg er godt inden for rækkevidde. RL er modstanden forbundet til logikken eller signalledningerne. Den faktiske værdi er ikke særlig vigtig, så længe den findes og ikke er for stor. Jeg bruger 560 ohm, fordi jeg havde en masse af dem til rådighed. Jeg brugte en effekttransistor, der kunne klare op til 6 ampere til at styre strømmen til hvert lag af terningen. Dette er overkill for dette projekt, da hvert lag i terningen kun vil trække 320 milliampere med alle lysdioderne tændt. Jeg ville have plads til at vokse og kan måske bruge controller -kortet til noget større senere. Brug en hvilken som helst transistor, der passer til dine behov. 330 uF kondensatoren på tværs af spændingskilden er der for at hjælpe med at udjævne eventuelle mindre spændingsudsving. Da jeg bruger en gammel computer strømforsyning, er dette ikke nødvendigt, men jeg forlod det i tilfælde af, at nogen vil bruge en 5 volt vægadapter til at drive deres terning. Hver A6276EA controller chip har 16 udgange. Jeg havde ikke noget andet passende stik, så jeg loddet ledninger til nogle 16 -pins IC -stik og vil bruge dem til at forbinde controller -kortet til terningen. Jeg skar også en IC -stikkontakt i halvdelen og brugte den til at forbinde de 8 ledninger, der forbinder transistorerne med lagene i kuben. Jeg skar ca. 5 tommer fra enden af et gammelt diskettekabel til at bruge som stik til Arduino. Diskettkablet er 2 rækker med 20 ben, det blotte Bones Board har 18 ben. Dette er en meget billig måde (gratis) at forbinde Arduino til brættet. Jeg trak båndkablet fra hinanden i grupper på 2 tråde, fjernede enderne og lodde dem sammen. Dette giver dig mulighed for at tilslutte Arduino til hver række af stikket. Følg skematisk, og lod stikket på plads. Glem ikke at lodde de 5 volt og jordledninger til stikket for at levere strøm til Arduino. Jeg agter at bruge dette controller board til andre projekter, så det modulære design fungerer fint for mig. Hvis du vil tilslutte forbindelserne hårdt, er det fint.

Trin 5: Byg Vitrine

Byg Vitrine
Byg Vitrine
Byg Vitrine
Byg Vitrine
Byg Vitrine
Byg Vitrine
Byg Vitrine
Byg Vitrine

Få dit endelige produkt til at se pænt ud: Jeg fandt dette trækiste i Hobby Lobby for $ 4 og tænkte, at det ville være perfekt, da det har plads indeni til at holde al ledningen plus det ser godt ud. Jeg farvede denne ene røde, samme plet, som jeg brugte på mit computerskrivebord, så de matchede. Tegn et gitter ovenpå samme størrelse som gitteret, der blev brugt til loddejiggen (.6 tommer mellem linjerne). Bor huller for at tillade ledningerne gennem toppen, og bor endnu et hul bag gitteret til lag-/plantrådene (fra transistorerne i trin 4). Jeg lærte på den hårde måde, at det er meget svært at forsøge at stille 64 ledninger til at gå gennem små huller. Jeg besluttede endelig at genbore alle hullerne lidt større for at få processen til at gå hurtigere. Jeg endte med at bruge omkring en.2 bor. Nu hvor terningen sidder oven på displayet, skal du bøje hjørneledningerne, så terningen forbliver på plads, når du fastgør ledningerne. Sørg for at montere alle ledninger i den rigtige rækkefølge. 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 64Og forbind ledningerne mellem lagene (mærket 'planer' på skematikken) og transistorerne. Transistoren på Arduino pin 6 er det øverste lag af terningen. Hvis du får ledningerne forkert, er det noget, der kan korrigeres inden for koden, men det kan kræve meget arbejde, så prøv at få dem i den rigtige rækkefølge. alt er bygget og klar til at gå, lad os få noget kode og prøve det.

Trin 6: Kode

Kode
Kode

Koden til denne terning gøres anderledes end de fleste, jeg forklarer, hvordan man tilpasser. De fleste terningskoder bruger direkte skriv til kolonnerne. Koden siger, at kolonne X skal tændes, så giv den lidt juice, og vi er færdige. Det fungerer ikke, når du bruger controller-chips. Controller-chips bruger 4 ledninger til at tale med Arduino: SPI-in, Clock, Latch og Enable. Jeg jordede Enable pin (pin 21) gennem en modstand (RL), så output er altid aktiveret. Jeg har aldrig brugt Enable, så jeg tog det ud af koden. SPI-in er data fra Arduino, Ur er et tidssignal mellem de to, mens de taler, og Latch fortæller controlleren, at det er på tide at acceptere nye data. Hver output for hver chip styres af et 16 bit binært tal. For eksempel; at sende 1010101010101010 til controlleren ville få hver anden LED på controlleren til at lyse. Din kode skal køre igennem alt, hvad der er nødvendigt for et display og bygge det binære nummer, og derefter sende det til chippen. Det er lettere, end det lyder. Teknisk set er det en flok bitvis tilføjelse, men jeg er elendig til bitvis matematik, så jeg gør alt i decimal. Decimal for de første 16 bits er som følger: 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 == 32768Dette betyder, at hvis du vil lyser output 2 og 10, du tilføjer decimalerne (2 og 512) sammen for at få 514. Send 514 til controlleren og output 2 og 10 lyser. Men vi har mere end 16 LED'er, så det bliver lidt vanskeligere. Vi skal bygge displayinformation til 4 chips. Hvilket er lige så let som at bygge det til 1, bare gør det 3 gange mere. Jeg bruger en global variabel array til at holde kontrolkoderne. Det er bare lettere på den måde. Når du har alle 4 displaykoder klar til at sende, skal du slippe låsen (indstil den til LOW) og begynde at sende koderne. Du skal først sende den sidste. Send koderne for chip 4, derefter 3, derefter 2, derefter 1, og sæt derefter låsen til HIGH igen. Da Enable pin altid er forbundet til jorden, ændres displayet med det samme. De fleste terningskoder, jeg har set på Instructables, og internettet generelt, består af en kæmpe blok kode, der skal udføre en forudindstillet animation. Det fungerer fint til mindre terninger, men det er nødvendigt at gemme, læse og sende 512 bits binær hver gang du vil ændre displayet, der fylder meget i hukommelsen. Arduinoen kunne ikke klare mere end et par rammer. Så jeg skrev nogle enkle funktioner for at vise terningen i aktion, der er afhængige af beregning frem for forudindstillede animationer. Jeg inkluderede en lille animation for at vise, hvordan det gøres, men jeg vil overlade det til dig at bygge dine egne displays.cube8x8x8.pde er Arduino -koden. Jeg planlægger at fortsætte med at tilføje funktioner til koden og vil opdatere programmet periodisk. Matrix8x8.pde er et program i Processing til at bygge dine egne displays. Det første angivne tal går ind i mønster1 , det andet i mønster2 osv. Databladet for A6276EA er tilgængeligt på:

Trin 7: Vis dit håndværk

Vis dit håndværk
Vis dit håndværk

Du er færdig, nu er det tid til at nyde din terning. Som du kan se, kom min terning lidt skævt ud. Jeg er dog ikke særlig opsat på at bygge en anden, så jeg vil leve med, at den er skæv. Jeg har et par døde pletter, som jeg skal undersøge. Det kan være en dårlig forbindelse, eller jeg har måske brug for en ny controller -chip. Jeg håber, at denne instruktør inspirerer dig til at bygge din egen terning eller et andet LED -projekt ved hjælp af A6276AE. Send et link i kommentarerne, hvis du bygger et. Jeg har forsøgt at beslutte, hvor jeg skal gå herfra. Controllerkortet vil også styre en 4x4x4 RGB -terning, så det er en mulighed. Jeg synes, det ville være pænt at lave en kugle, og den måde, jeg har skrevet koden på, ville det ikke være for svært at gøre.

Anbefalede: