Hur man gör en pulserande Arduino LED -kub som ser ut som om den kom från framtiden

Hur man gör en pulserande Arduino LED -kub som ser ut som om den kom från framtiden

Om du har kämpat med några nybörjare Arduino -projekt, men letar efter något lite permanent och på en helt annan nivå, är den ödmjuka 4 x 4 x 4 LED -kuben ett naturligt val. Konstruktionen är mycket enklare än du kanske tror, ​​och med hjälp av en multiplex kan vi styra alla lysdioder direkt från bara ett enda Arduino Uno -kort. Det är bra lödningspraxis, och den totala kostnaden för komponenter bör inte uppgå till mer än cirka $ 40.





Idag kommer jag att noggrant beskriva konstruktionssidan av saker och tillhandahålla lite programvara för att köra på det som både ser imponerande ut och lär dig grunderna.





är windows 7 bättre än windows 10

Du kommer behöva

  • EttArduino. Koden som tillhandahålls förutsätter en Arduino Uno, men kan också justeras till en större modell.
  • 64 lysdioder - det exakta valet är upp till dig, men jag använde dessa superbright 3 mm blå lysdioder ( 3,2v 30ma ) @ £ 2,64 för 50.
  • 16 motstånd av rätt värde för dina lysdioder. För lysdioderna ovan köpte 99 pence 100 av dessa. Använda sig av ledcalc.com - mata in 5v för matningsspänningen, lysdiodernas spänning (i mitt fall 3.2) och strömmen i milliampere (3.2). Ditt önskade motstånd visas i rutan märkt Närmast högre motstånd , sedan är det bara att söka efter det värdet på eBay.
  • Vissa hantverkstråd för att stärka grundstrukturen och för dekoration - jag använde 0,8 mm tjocklek.
  • TILL prototyper av någon typ som du kan löda alla dina bitar till. Jag använde en som inte hade fulla spår längs den eftersom jag inte har en spårskärare, men använd vad som passar dig. En Arduino -prototypsköld är dock lite för liten, såvida du inte verkligen klämmer ihop dina lysdioder.
  • Slumpmässig komponenttråd - några nätverkskabelsträngar och några av prototyperna från ett kit kommer att fungera bra.
  • Krokodilklämmor eller hjälpande händer är användbara för att hålla bitar på plats.
  • Lödkolv och löd.
  • Lite skrot.
  • En borr, med samma storlek som dina lysdioder.

Obs! 3D -ritningarna i denna handledning gjordes på några minuter med TinkerCAD . Jag följde en befintlig version som beskrivs av instruktioner efter användareforte1994, som du kanske också vill läsa igenom innan du försöker detta.





Var noga med att läsa igenom alla dessa instruktioner först innan du försöker detta själv.

Principen för denna design

Innan du börjar bygga är det viktigt att ha en fullständig överblick över hur det här kommer att fungera så att du kan improvisera och identifiera fel under tiden. Vissa LED -kuber använder en enda utgångsstift för varje enskild lysdiod - men i en kub 4x4x4 skulle det behövas 64 stift - som vi verkligen inte har på en Arduino Uno. En lösning skulle vara att använda skiftregister, men detta är onödigt komplicerat.



För att styra alla dessa lysdioder i bara 20 stift använder vi en teknik som kallas multiplexering. Genom att bryta ner kuben i 4 separata lager behöver vi bara kontrollpinnar för 16 lysdioder - så för att tända en specifik lysdiod måste vi aktivera både lagret och kontrollpinnen, vilket ger oss ett totalt krav på 16+4 stift. Varje lager har en gemensam katod - den negativa delen av kretsen - så alla negativa ben är sammanfogade och anslutna till en enda stift för det lagret.

På anoden (positiv) varje sida kommer varje LED att anslutas till motsvarande LED i skiktet ovanför och under den. I huvudsak har vi 16 kolumner med de positiva benen och 4 lager av det negativa. Här är några 3D -vyer av anslutningarna som hjälper dig att förstå:





Konstruktion

Eftersom vi inte kommer att använda en fullständig metallkonstruktion för att lödas till, vill vi att alla ben på lysdioderna ska överlappa varandra med ungefär en fjärdedel och ge styvhet till strukturen. Vik katoden på dina lysdioder - sidan med den platta skåran i huvudet och det kortare benet - som visas i diagrammet. (Det spelar egentligen ingen roll om du böjer den åt vänster eller höger, så länge du är konsekvent och aldrig berör anoden)

Den första kritiska delen av detta projekt är att göra en jigg i trä. Detta kommer att hålla ett lager av lysdioder medan du lödda benen ihop, så det måste vara exakt och inte för löst. Använd samma storlek borr som dina lysdioder, mäta och borra sedan en 4x4 matris av lika långt hål. Tänk på att du vill att ungefär en fjärdedel av benet ska överlappa med sin granne, och använd en verklig linjal. Kontrollera varje hål för att se till att en lysdiod kan sitta tätt, men inte så tätt att du inte kommer att kunna få ut den igen, eller så får du problem när du försöker ta bort ett helt lödt lager.





Löd katoderna på 4 rader med lysdioder. Var försiktig så att du inte bränner ut lysdioderna - du vill ha ett gott hett strykjärn och att vara in och ut. Här är mina första fyra rader klara.

För att förstärka lagrets styvhet, skär och löd två raka bitar av hantverkstråd i vardera änden och se till att de ansluter till varje rad. Detta är ditt första lager komplett. Låt alla överflödiga ben sticka ut vid sidan för tillfället.

Nu skulle det vara en bra tid att testa - bara ladda upp standard Arduino blink -appen, och med ett motstånd anslutet, sätt marken till lagerramen och tryck på den positiva ledningen till varje lysdiod i tur och ordning.

Förhoppningsvis tänds alla. Om inte, se till att du inte bara har missat en lödfog någonstans, och om det behövs byt ut lysdioden.

Ta bort det lagret från jiggen och upprepa processen 3 gånger till .

Oroa dig inte om din lödning inte är perfekt - så länge den inte går sönder och anslutningen är fast påverkar det inte slutprodukten. Jag erkänner att mitt lödning var ganska hopplöst, min jigg var avstängd och allt liknade det lutande tornet i Pisa. Ändå är jag stolt över den färdiga kuben, och när lysdioderna lyser kommer du inte att titta på lödfogarna ändå!

Ansluta lager

När du har fyra färdiga lager, vill du sammanfoga alla vertikala ben. Jag tyckte att detta var den svåraste delen av bygget, och för att underlätta processen klippte jag ut en riser ur kortet.

Detta höll lagren på lämplig höjd, men många ben skulle fortfarande inte passa perfekt - för detta använde jag några krokodilklämmor för att hålla dem på plats.

Första dumma misstaget att undvika

Först efter att ha fyllt ett helt lager insåg jag att min korthöjare fastnade på plats, så jag var tvungen att klippa ur den! Gör inte samma misstag som jag gjorde - gör stigaren längre på sidan och fäst kortbitarna utanför kuben, så när du har slutfört lagret kan du dekonstruera stigaren och dra ut kortet.

2: a dumma misstaget att undvika

Löd inte det vertikala benet till katodramen, uppenbarligen. Vertikala ben ska bara anslutas till andra vertikala ben, och inget annat.

Testa igen efter att varje lager har fästs. Testa alla lager, i själva verket bara genom att röra den positiva ledningen till spetsen på det översta lagret, och se till att du har bra kontakt genom alla lager.

När alla fyra skikten löddes ihop började jag städa upp lite - jag lämnade ett enda ben utsträckt ur varje lager på ett slags stegsten - detta skulle tappas ner till brädet senare. Andra främmande bitar av metallram och ben skars av. Klipp uppenbarligen inte några av de vertikala benen - vi måste lägga dem i vårt protoytping -bräda.

Fixering till styrelsen

Kommer du ihåg när jag sa att fixa varje lager till sig själv var det svåraste? Jag ljög. Att försöka passa 16 LED -ben i små hål på en prototypplatta är faktiskt svårare. Det enklaste sättet jag hittade var att peta igenom 4 i taget, säkra dem under med krokodilklämmor och sedan gå vidare till nästa rad av 4. Använd en markörpenna för att markera avståndet i förväg om det hjälper.

I efterhand skulle jag ha placerat motstånden i protoboardet först, faktiskt. Som det är, lodde jag först in alla kubbens ben i brädet för att sedan försiktigt pressa in motstånd mellan dem. Lär dig av mitt misstag och placera dina motstånd först.

Jag försökte placera dem lika stegvis så att jag kunde använda en hel sida av kuben för alla de sista anslutningarna till Arduino. Här är kretsschemat jag gick med:

För de fyra negativa skikten tappade jag en enda tråd ner från varje lager och drog dem bara åt sidan, så här:

Slutligen lade jag till några pluggtrådar som jag sedan kunde placera i de relevanta Arduino -stiften. Använd den längsta sorten du har. Observera att jag förstörde ordern på platser på grund av dålig planering. Varje rad lysdioder var dock färgkodad.

Det är allt. Färdiga!

Programmera din kub

Jag vet att du inte kan vänta med att få upp den här saken, så anslut de fyra negativa lagren till Analog I/O hamnar A2 (bottenlager) genom A5 (översta lagret) (dessa kan också fungera som digital I/O) . Anslut sedan de 16 LED -kontrollpinnarna från och med +1 längst till höger till digital I / O port 0 , med +15 och +16 går in på analog A0 och A1 . (Använd inte AREF och GND)

Ladda ner demomönster och kod från instruerbar användare forte1994 . Han har också tillhandahållit en användbart onlineverktyg för att designa byte -mönstren för att anpassa din egen sekvens. Här är en video av den här koden i aktion på min kub (Jag justerade hastigheten till 5, istället för standard 20) .

Windows 7 -operativsystemet hittades inte

Detta är naturligtvis inte det enda sättet att programmera din kub, så låt mig ägna några minuter åt att lära dig själva grunderna för att göra dina egna mönster programmatiskt , snarare än att spela upp förinställda mönster som ovanstående demo gör.

Det finns några saker du bör veta när du försöker programmera din kub:

  1. För att adressera en enda lysdiod använder du en plan (lager) nummer 0–3 och ett LED -stift nummer 0–15. Vrid planet till LOW -utgången (eftersom detta är det negativa benet) och LED -stiftnumret HIGH (det positiva benet) för att aktivera lysdioden.
  2. Innan du aktiverar en enda lysdiod, se till att alla andra plan är avstängda - det betyder att du ställer in dem på HIGH -utgång. Underlåtenhet att göra detta leder till att en kolumn med lysdioder tänds snarare än en enda lysdiod.

Med det i åtanke har jag gjort två mycket enkla programmatiska sekvenser för dig att granska - ladda ner koden härifrån. Den första tänder helt enkelt varje LED en efter en i följd. Vi använder två för slingor för detta, iterating över varje lager och varje kontrollstift.

Den andra är en slumpmässig slinga (du måste kommentera den första och aktivera den i huvudslingan för att testa den). Det väljer helt enkelt ett slumpmässigt lager och en slumpmässig kontrollnål, blinkar dem av och på.

Sammanfattning

Låt dig inte skrämmas av denna konstruktion - jag saknar allvarligt lödningskunskaper, och jag klarade det bra (Jag tror?) . Den totala byggtiden var ungefär en timme om dagen i en vecka. Nästa gång ska jag försöka lära dig lite mer ambitiös programmering för kuben, så jag hoppas att du kommer att vara med och bygga din egen kub denna vecka och ladda lite ny kod nästa vecka - och om du gör din egen fantastiska appar eller sekvenser, ladda upp dem till Pastebin och meddela oss i kommentarerna!

Dela med sig Dela med sig Tweet E-post 3 sätt att kontrollera om ett e -postmeddelande är riktigt eller falskt

Om du har fått ett e -postmeddelande som ser lite tveksamt ut är det alltid bäst att kontrollera dess äkthet. Här är tre sätt att se om ett e -postmeddelande är sant.

Läs Nästa
Relaterade ämnen
  • DIY
  • Arduino
Om författaren James Bruce(707 artiklar publicerade)

James har en kandidatexamen i artificiell intelligens och är CompTIA A+ och Network+ -certifierad. När han inte är upptagen som Hardware Reviews Editor, gillar han LEGO, VR och brädspel. Innan han började på MakeUseOf var han belysningstekniker, engelsklärare och datacenteringenjör.

Mer från James Bruce

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera