Annons

arduino frekvens ledOm du har tappat med några nybörjars Arduino-projekt, men letar efter något som är lite permanent och på en helt annan nivå av fantastisk, är den ödmjuka 4 x 4 x 4 LED-kuben ett naturligt val. Konstruktion är mycket enklare än du kanske tror, ​​och med hjälp av en multiplexering kan vi styra alla lysdioder direkt från bara ett Arduino Uno-kort. Det är bra lödningssätt och de totala kostnaderna för komponenter bör inte uppgå till mer än cirka 40 $.

Idag ska jag 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.

Du kommer behöva

  • En Arduino. Den medföljande koden antar 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 3mm Blue LEDs (3,2 v 30ma) @ £ 2,64 för 50.
  • 16 motstånd av lämpligt värde för dina lysdioder. För lysdioderna ovan köpte 99 pence 100 av dessa. Använda sig av ledcalc.com - ange 5v för matningsspänningen, spänningen på lysdioderna (i mitt fall 3.2) och strömmen i milliamplar (3.2). Din önskade motstånd visas i rutan märkt
    instagram viewer
    “Närmaste högre rankade motstånd”, sök bara efter det värdet på eBay.
  • Några hantverkstråd för att stärka grundstrukturen och för dekoration - använde jag 0,8 mm tjocklek.
  • EN prototypertavla 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 det eftersom jag inte har en banskärare, men använd vad som passar dig. En Arduino-prototypsköld är dock lite för liten, såvida du inte verkligen pressar dina lysdioder ihop.
  • Slumpmässig komponenttråd - Vissa nätverkskabelsträngar och några av prototyperna från ett kit fungerar bra.
  • Krokodilklämmor eller "hjälpande händer" är användbara för att hålla bitar på plats.
  • Lödkolv och löd.
  • En del 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 byggnad detaljerad om instruktionsmaterial av användare forte1994, som du kanske också vill läsa igenom innan du försöker detta.

Se till 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 översikt över hur den här saken ska fungera så att du kan improvisera och identifiera fel när du går. Vissa LED-kuber använder en enda utgångsstift för varje lysdiod - men i en 4x4x4 kub skulle det behövas 64 stift - som vi verkligen inte har på en Arduino Uno. En lösning skulle vara att använda skiftregister Arduino-programmering - Spela med skiftregister (a.k.a ännu fler lysdioder)Idag försöker jag lära dig lite om skiftregister. Dessa är en ganska viktig del av Arduino-programmeringen, i grund och botten för att de utökar antalet output du kan använda, i utbyte mot ... Läs mer , men detta är onödigt komplicerat.

För att kontrollera alla dessa lysdioder på bara 20 stift använder vi en teknik som kallas multiplexering. Genom att bryta kuben ned i fyra separata lager behöver vi bara styrpinnar för 16 lysdioder - så för att tända a specifik LED måste vi aktivera både lagret och kontrollstiftet, 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) på sidan, kommer varje lysdiod att anslutas till motsvarande lysdiod i skiktet ovanför och under den. I huvudsak har vi 16 kolumner med de positiva benen och fyra lager av de negativa. Här är några 3D-vyer över anslutningarna som hjälper dig att förstå:

arduino frekvens led
arduino led ljus program

Konstruktion

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

arduino led ljus program

Den första kritiska delen av detta projekt är att göra en träjig. Detta kommer att hålla ett lager av lysdioder medan du lödar benen ihop, så det måste vara exakt och inte för löst. Använd samma storlek som borrkronorna som dina lysdioder, mät ut och borra sedan en 4 × 4-matris med ekvidistant hål. Tänk på att du vill att cirka en fjärdedel av benet ska överlappa varandra med sin granne och använda en faktisk linjal. Kontrollera varje hål för att säkerställa att en lysdiod kan passa ordentligt, men inte så tätt att du inte kommer att kunna ta ut den igen, eller så får du problem när du försöker ta bort ett helt lödskikt.

arduino led ljus program

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

arduino ledde

För att stärka skiktets styvhet ska du klippa och löda två raka bitar av hantverkstråd i vardera änden och se till att de ansluter till varje rad. Det här är ditt första lager. Lämna alla överflödiga ben som sticker ut vid sidan för tillfället.

Nu skulle det vara en utmärkt tid att testa - ladda bara upp standard Arduino blink-appen, och med ett motstånd anslutet, lägg marken till skiktramen och tryck på den positiva ledningen till varje LED i tur och ordning.

arduino ledde

Förhoppningsvis tänds de alla upp. Om inte, se till att du inte bara har missat ett lödförband någonstans, och om nödvändigt 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 kommer att gå sönder och anslutningen är fast kommer det inte att påverka slutprodukten. Jag medger att min lödning var ganska hopplös, min jigg var av och det liknade det lutande tornet i Pisa. Jag är fortfarande stolt över den färdiga kuben, och när lysdioderna tänds kommer du inte att titta på lödfogarna ändå!

Gå med i lager

När du har fyra färdiga lager kommer du att gå ihop med alla vertikala ben. Jag tyckte att detta var den svåraste delen av byggnaden, och för att hjälpa till med processen skar jag en stigerör ur kortet.

arduino ledde

Detta höll skikten i lämplig höjd, men många ben fanns fortfarande inte perfekt - för detta använde jag några krokodilklipp för att hålla dem på plats.

Hur man gör en pulserande Arduino LED-kub som ser ut som den kom från framtiden säkra veritcal ben med krokodilklämmor

Första dumma misstag som ska undvikas

Först efter att ha slutfört ett helt lager insåg jag att mitt kortsteg var fast på plats, så jag var tvungen att klippa ut det! Gör inte samma misstag som jag gjorde - gör steget längre på sidan och gå med i korthållarna utanför kuben, så när du har färdiggjort lagret kan du dekonstruera stigaren och dra ut kort.

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

Andra dumma misstag som ska undvikas

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

Testa igen efter att varje lager har fästs. Testa alla lager, faktiskt, bara vidröra den positiva ledningen till spetsen på det översta lagret, så att du har god kontakt genom alla lager.

När alla fyra lager var lödda ihop började jag städa lite - jag lämnade ett enda ben sträckte sig ut från varje skikt på ett slags springbrettmode - detta skulle tappas ner till styrelsen senare. Andra främmande bitar av metallram och ben skars av. Självklart ska du inte klippa några av de vertikala benen - vi måste lägga dessa i vår protoytpingtavla.

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

Fixa till styrelsen

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

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

I efterhand skulle jag först ha placerat motståndarna i protobordet. Som det är, lödde jag först alla kubens ben in i brädet och försökte sedan försiktigt pressa motstånd mellan var och en. Lär mig av mitt misstag och placera dina motstånd först.

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

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

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

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

Slutligen tillagde jag några pluggledningar som jag sedan kunde placera i de relevanta Arduino-stiften. Använd den längsta typen du har. Observera att jag orsakade ordningen på platser på grund av dålig planering. Men varje rad med lysdioder färgkodades.

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

Det är allt. Färdiga!

Hur man gör en pulserande Arduino LED-kub som ser ut som om den kom från framtiden 4x4x4 ledkub färdig

Programmera din kub

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

arduino frekvens led

Ladda ner demonstrationsmö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 i stället för standard 20).

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

Det är 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 a plan (lager) nummer 0–3 och ett LED-stiftnummer 0–15. Vrid planet till LOW-utgång (eftersom detta är det negativa benet) och LED-stiftnumret HÖG (det positiva benet) för att aktivera lysdioden.
  2. Innan du aktiverar en enda lysdiod, se till att alla andra plan är av - det innebär att ställa in dem på HÖG-utgång. Underlåtenhet att göra detta resulterar i 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 undersöka - ladda ner koden härifrån. Den första tänder helt enkelt varje lysdiod en efter en, i följd. Vi använder två för öglor för detta, iterera över varje lager och varje kontrollstift.

Den andra är en slumpmässig slinga (du måste kommentera den första och aktivera detta i huvudslingan för att testa den). Den plockar helt enkelt ett slumpmässigt lager och slumpmässigt kontrollstift och blinkar av och på.

Sammanfattning

Låt mig inte låta bli att läsa av denna byggnad - jag saknar allvarligt lödfärdigheter och jag lyckades med det här (Jag tror?). Den totala byggtiden var ungefär en timme om dagen i en vecka. Nästa gång kommer jag att försöka lära dig lite mer ambitiös programmering för kuben, så jag hoppas att du kommer att gå med mig i att bygga din egen kub den här veckan och laddar lite ny kod nästa vecka - och om du gör dina egna fantastiska appar eller sekvenser, ladda upp dem till Pastebin och meddela oss i kommentarer!

James har en kandidatexamen i artificiell intelligens och är CompTIA A + och Network + certifierad. Han är ledande utvecklare av MakeUseOf och tillbringar sin fritid med att spela VR-paintball och brädspel. Han har byggt datorer sedan han var liten.