Innehållsförteckning:

Hur man bygger en 8x8x8 LED -kub och styr den med en Arduino: 7 steg (med bilder)
Hur man bygger en 8x8x8 LED -kub och styr den med en Arduino: 7 steg (med bilder)

Video: Hur man bygger en 8x8x8 LED -kub och styr den med en Arduino: 7 steg (med bilder)

Video: Hur man bygger en 8x8x8 LED -kub och styr den med en Arduino: 7 steg (med bilder)
Video: Using BTS7960 BTN8982TA PWM H Bridge motor controller module with Arduino library 2024, Juli
Anonim
Hur man bygger en 8x8x8 LED -kub och styr den med en Arduino
Hur man bygger en 8x8x8 LED -kub och styr den med en Arduino
Hur man bygger en 8x8x8 LED -kub och styr den med en Arduino
Hur man bygger en 8x8x8 LED -kub och styr den med en Arduino

Redigera i januari 2020:

Jag lämnar detta ifall någon vill använda det för att generera idéer, men det är inte längre någon idé att bygga en kub baserat på dessa instruktioner. LED -drivrutins -IC: erna tillverkas inte längre, och båda skisserna skrevs i gamla versioner av Arduino och Processing och kördes inte längre. Jag vet inte vad som behöver ändras för att få dem att fungera. Min konstruktionsmetod resulterade också i en skrämmande sned röra. Mitt förslag är att följa instruktionerna på en annan instruerbar eller köpa ett kit. Denna kub kostade cirka $ 50 tillbaka 2011, du kan köpa ett kit på eBay för cirka $ 20 nu.

Original introduktion:

Det finns många LED -kuber på Instructables, så varför göra en annan? De flesta är för små kuber bestående av 27 eller 64 lysdioder, sällan större eftersom de är begränsade till antalet utgångar som finns tillgängliga på mikrokontrollern. Denna kub kommer att vara 512 lysdioder och behöver bara 11 utgångskablar från Arduino. Hur är detta möjligt? Genom att använda Allegro Microsystems A6276EA LED -drivrutinen.

Jag ska visa dig hur jag gjorde själva kuben, styrkortet och slutligen koden för att få den att lysa.

Steg 1: Material

Material
Material

Alla delar du behöver för att bygga kuben: 1 Arduino/Freeduino med Atmega168 eller högre chip 512 lysdioder, storlek och färg är upp till dig, jag använde 3 mm röda 4 A6276EA LED -drivrutiner från Allegro 8 NPN -transistorer för att styra spänningsflödet, Jag använde BDX53B Darlington -transistorn 4 1000 ohm motstånd, 1/4 watt eller högre 12 560 ohm motstånd, 1/4 watt eller högre 1 330uF elektrolytkondensator 4 24 -stifts IC -uttag 9 16 -stifts IC -uttag 4 "x4" (eller större) stycke perfboard för att rymma alla delar, En gammal datorfläkt En gammal diskettkontrollkabel En gammal datorns strömförsörjning Mycket anslutningstråd, löd, lödkolv, flux, allt annat för att göra ditt liv enklare medan du gör detta. 7 "x7" (eller större) träbit som används för att göra LED -lödjiggen Ett trevligt fodral för att visa din färdiga kub Min valda Arduino/Freeduino är Bare Bones Board (BBB) från www.moderndevice.com. Lysdioderna köptes av eBay och kostade $ 23 för 1000 lysdioder som skickades från Kina. Den återstående elektroniken köptes från Newark Electronics (www.newark.com) och skulle bara kosta cirka $ 25. Om du måste köpa allt, bör detta projekt bara kosta cirka $ 100. Jag har en hel del gammal datorutrustning så de delarna kom från skrothögen.

Steg 2: Montera lagren

Montera lagren
Montera lagren
Montera lagren
Montera lagren
Montera lagren
Montera lagren
Montera lagren
Montera lagren

Hur man gör 1 lager (64 lysdioder) av denna 512 LED -kub: Lysdioderna jag köpte var 3 mm i diameter. Jag bestämde mig för att använda små lysdioder för att minska kostnaderna och för att göra den slutliga storleken på kuben tillräckligt liten för att sitta på mitt skrivbord eller hylla utan att helt ta över skrivbordet eller hyllan. Jag ritade ett 8x8 rutnät med ungefär 0,6 tum mellan linjerna. Detta gav mig en kubstorlek runt 4,25 tum per sida. Borra 3 mm hål där linjerna möts för att göra en jigg som håller lysdioderna när du lödder varje lager. A6276EA är en aktuell diskbänk. Detta innebär att det ger en väg till jord snarare än en väg till källspänning. Du måste bygga kuben i en gemensam anodkonfiguration. De flesta kuber är byggda som en vanlig katod. Ledsidan av lysdioden är i allmänhet anoden, kontrollera din för att vara säker. Det första jag gjorde var att testa varje LED. Ja det är en lång och tråkig process och du kan hoppa över den om du vill. Jag skulle hellre ägna tiden åt att testa lysdioderna än att hitta en död plats i min kub efter att den monterats. Jag hittade 1 död LED av 1000. Inte illa. Klipp 11 stycken fast, oisolerad anslutningstråd till 5 tum. Placera 1 lysdiod i varje ände av en rad i din jigg och löd sedan kabeln till varje anod. Placera nu de återstående 6 lysdioderna i raden och löd dessa anoder till tråden. Detta kan vara vertikalt eller horisontellt, det spelar ingen roll så länge du gör alla lager på samma sätt. När du avslutar varje rad, trimma överskottsledningen från anoderna. Jag lämnade cirka 1/8 . Upprepa tills du har slutfört alla 8 raderna. Löd nu 3 bitar av trådtråd över raderna du precis gjorde för att ansluta dem till en enda bit. Jag testade sedan lagret genom att fästa 5 volt för att koppla upp trådgitteret genom ett motstånd och rörde jordkabeln till varje katod. Byt ut alla lysdioder som inte tänds. Ta försiktigt ut skiktet från jiggen och lägg det åt sidan. Om du böjer ledningarna, oroa dig inte, bara räta ut dem så gott du kan. Det är väldigt lätt att böja. Som du kan se på mina bilder hade jag många böjda trådar. Grattis, du är 1/8 klar. Gör 7 lager till. VALFRITT: Att göra lödning lagren tillsammans (steg 3) lättare, medan varje efterföljande lager är kvar i jiggen böjer katodens övre tum tum 45 till 90 grader framåt. Detta gör att blyet kan nå runt lysdioden det ansluter till och kommer att göra lödning mycket enklare. Gör inte detta mot ditt första lager, vi deklarerar att det ena är det nedre lagret och avledningarna måste vara s rätt.

Steg 3: Montera kuben

Montera kuben
Montera kuben
Montera kuben
Montera kuben

Hur man lödar ihop alla lager för att göra en kub: Den hårda delen är nästan över. Lägg nu försiktigt tillbaka ett lager i jiggen, men använd inte för mycket tryck, vi vill kunna ta bort det utan att böja det. Detta första lager är kubens ovansida. Lägg ytterligare ett lager ovanpå det första, lägg upp ledningarna och börja lödning. Jag tyckte det var lättast att göra hörn först, sedan ytterkant, sedan inuti rader. Fortsätt lägga till lager tills du är klar. Om du förböjde ledningarna, se till att spara lagret med raka ledningar för sista. Det är botten. Jag hade lite för mycket utrymme mellan varje lager så jag fick inte riktigt en kubform. Ingen stor grej, jag kan leva med det.

Steg 4: Bygga upp styrkortet

Bygga styrkortet
Bygga styrkortet
Bygga styrkortet
Bygga styrkortet
Bygga styrkortet
Bygga styrkortet

Hur man bygger styrkortet och fäster det på din Arduino: Följ schemat och bygga kortet hur du än väljer. Jag placerade controller -chipsen i mitten av kortet och använder den vänstra sidan för att hålla transistorerna som styr strömmen till varje lager av kuben och använde den högra sidan för att hålla kontakterna som går från controller -chipsen till katoderna på LED -kolumnerna. Jag hittade en gammal 40 mm datorfläkt med en molex -hona för att ansluta den till datorns strömförsörjning. Det här var perfekt. En liten mängd luftflöde över chipet är användbart och jag har nu ett enkelt sätt att ge 5 volt till styrenhetens chips och Arduino själv. På schemat är RC det strömbegränsande motståndet för alla lysdioder som är anslutna till varje A6276EA. Jag använde 1000 ohm eftersom den ger 5 milliampere till lysdioden, tillräckligt för att tända den. Jag använder High Brightness, inte Super Brite LED, så strömavloppet är lägre. Om alla 8 lysdioder i en kolumn lyser samtidigt är det bara 40 milliampere. Varje utgång från A6276EA kan hantera 90 milliampare så jag är väl inom räckvidd. RL är motståndet anslutet till logiken eller signalledningarna. Det verkliga värdet är inte särskilt viktigt så länge det finns och är inte för stort. Jag använder 560 ohm eftersom jag hade en massa av dem tillgängliga. Jag använde en effekttransistor som kan hantera upp till 6 ampere för att styra strömmen till varje lager av kuben. Detta är överkill för detta projekt, eftersom varje lager i kuben bara drar 320 milliampar med alla lysdioder tända. Jag ville ha utrymme att växa och kan använda styrkortet för något större senare. Använd vilken transistor som helst som passar dina behov. 330 uF -kondensatorn över spänningskällan är där för att hjälpa till att jämna ut mindre spänningsfluktuationer. Eftersom jag använder en gammal datorns strömförsörjning är detta inte nödvändigt, men jag lämnade den bara för att någon vill använda en 5 volt väggadapter för att driva sin kub. Varje A6276EA -styrchip har 16 utgångar. Jag hade ingen annan lämplig kontakt så jag lodde till några 16 -stifts IC -uttag och kommer att använda dem för att ansluta styrkortet till kuben. Jag skar också ett IC -uttag på mitten och använde det för att ansluta de 8 trådarna som ansluter transistorerna till kubens lager. Jag skar ca 5 tum från slutet av en gammal diskettkabel för att användas som kontakten för Arduino. Diskettkabeln är 2 rader med 20 stift, den nakna benbrädan har 18 stift. Detta är ett mycket billigt sätt (gratis) att ansluta Arduino till kortet. Jag drog isär bandkabeln i grupper om 2 trådar, tog av ändarna och lödde ihop dem. Detta gör att du kan ansluta Arduino till endera raden av kontakten. Följ schemat och löd kontakten på plats. Glöm inte att lödda 5 volt och jordledningar för kontakten för att ge ström till Arduino. Jag tänker använda detta styrkort för andra projekt så att den modulära designen fungerar bra för mig. Om du vill ansluta anslutningarna är det bra.

Steg 5: Bygg upp vitrinskåpet

Bygg vitrinskåpet
Bygg vitrinskåpet
Bygg vitrinskåpet
Bygg vitrinskåpet
Bygg vitrinskåpet
Bygg vitrinskåpet
Bygg vitrinskåpet
Bygg vitrinskåpet

Få din slutprodukt att se snygg ut: Jag hittade den här träkistan på Hobby Lobby för $ 4 och tyckte att den skulle vara perfekt eftersom den har plats inuti för att hålla hela tråden plus att den ser snygg ut. Jag färgade den här röda, samma fläcken som jag använde på mitt skrivbord så att de matchar. Rita ett rutnät ovanpå samma storlek som rutnätet som används för lödjiggen (.6 tum mellan linjerna). Borra hål för att släppa ledningarna genom toppen och borra ytterligare ett hål bakom gallret för lager-/plantrådarna (från transistorerna i steg 4). Jag lärde mig det hårda sättet att försöka ställa upp 64 ledningar för att gå igenom små hål är mycket svårt. Jag bestämde mig slutligen för att borra om alla hålen lite större för att processen ska gå snabbare. Jag slutade använda runt en.2 borr. Nu när kuben sitter ovanpå skärmen, böj hörnledarna så att kuben håller sig på plats när du fäster trådarna. Se till att du fäster alla trådar i rätt ordning. 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 64Och anslut ledningarna mellan skikten (märkt "plan" på schemat) och transistorerna. Transistorn på Arduino pin 6 är det översta lagret av kuben. Om du får fel ledningar är det något korrigerbart inom koden, men det kan kräva mycket arbete, så försök att få dem i rätt ordning. Ok, allt är byggt och klart, låt oss skaffa lite kod och testa det.

Steg 6: Kod

Koda
Koda

Koden för denna kub görs annorlunda än de flesta, jag ska förklara hur man anpassar. De flesta kubkoder använder direktskrivningar till kolumnerna. Koden säger att kolumn X måste tändas så ge den lite juice och vi är klara. Det fungerar inte när du använder controller-chips. Controller-chipsen använder fyra ledningar för att prata med Arduino: SPI-in, Clock, Latch och Enable. Jag jordade aktiveringsstiftet (stift 21) genom ett motstånd (RL) så att utmatning alltid är aktiverad. Jag använde aldrig Aktivera så jag tog bort det från koden. SPI-in är data från Arduino, Clock är en tidssignal mellan de två medan de pratar, och Latch berättar för kontrollern att det är dags att acceptera ny data. Varje utmatning för varje chip styrs av ett 16-bitars binärt tal. Till exempel; Om du skickar 1010101010101010 till styrenheten tänds varannan lysdiod på styrenheten. Din kod måste gå igenom allt som behövs för en bildskärm och bygga det binära numret och sedan skicka det till chipet. Det är lättare än det låter. Tekniskt sett är det ett gäng bitvis tillägg, men jag är usel på bitvis matematik så jag gör allt i decimal. Decimal för de första 16 bitarna är följande: 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 == 32768Detta betyder att om du vill tänd utgångarna 2 och 10, du lägger till decimalerna (2 och 512) tillsammans för att få 514. Skicka 514 till styrenheten och utgångarna 2 och 10 tänds. Men vi har mer än 16 lysdioder så det blir lite svårare. Vi måste bygga displayinformation för fyra marker. Vilket är lika enkelt som att bygga det för 1, gör det bara 3 gånger till. Jag använder en global variabel array för att hålla kontrollkoderna. Det är bara lättare på det sättet. När du har alla fyra displaykoder redo att skicka, släpp spärren (ställ den på LOW) och börja skicka koderna. Du måste skicka den sista först. Skicka koderna för chip 4, sedan 3, sedan 2, sedan 1, ställ sedan in spärren till HIGH igen. Eftersom aktiveringsnålen alltid är ansluten till marken ändras displayen omedelbart. De flesta kubkoder jag har sett på Instructables, och webben i allmänhet, består av ett gigantiskt kodblock för att utföra en förinställd animering. Det fungerar bra för mindre kuber men behöver lagra, läsa och skicka 512 bitar binärt varje gång du vill ändra skärmen tar mycket minne. Arduino klarade inte mer än några få ramar. Så jag skrev några enkla funktioner för att visa kuben i aktion som bygger på beräkning snarare än förinställda animationer. Jag inkluderade en liten animation för att visa hur det görs, men jag överlåter åt dig att bygga dina egna skärmar. Cube8x8x8.pde är Arduino -koden. Jag planerar att fortsätta lägga till funktioner i koden och uppdaterar programmet regelbundet. Matrix8x8.pde är ett program i Processing för att bygga dina egna skärmar. Det första angivna talet går in i mönster1 , det andra i mönster2 , etc. Databladet för A6276EA finns på:

Steg 7: Visa ditt handarbete

Visa ditt handarbete
Visa ditt handarbete

Du är klar, nu är det dags att njuta av din kub. Som ni ser kom min kub ut lite snett. Jag är dock inte så sugen på att bygga en till så jag får leva med att det är snett. Jag har ett par döda fläckar som jag måste titta på. Det kan vara en dålig anslutning, eller jag kan behöva ett nytt controllerchip. Jag hoppas att denna instruktionsbok inspirerar dig att bygga din egen kub eller något annat LED -projekt med A6276AE. Lägg upp en länk i kommentarerna om du bygger en. Jag har försökt bestämma var jag ska gå härifrån. Styrkortet kommer också att styra en 4x4x4 RGB -kub, så det är en möjlighet. Jag tycker att det skulle vara snyggt att göra en sfär och hur jag har koden skriven, skulle det inte vara för svårt att göra.

Rekommenderad: