Sådan laver du en pulserende Arduino LED Cube, der ligner den kom fra fremtiden

Hvis du har dabbled med nogle nybegyndere Arduino projekter, men søger noget lidt permanent og på et helt andet niveau awesome, så er den ydmyge 4 x 4 x 4 LED-terning et naturligt valg. Konstruktion er langt lettere end du måske tror, ​​og ved hjælp af en multipleksering kan vi styre alle lysdioder direkte fra kun et enkelt Arduino Uno bord.

Hvis du har dabbled med nogle nybegyndere Arduino projekter, men søger noget lidt permanent og på et helt andet niveau awesome, så er den ydmyge 4 x 4 x 4 LED-terning et naturligt valg.  Konstruktion er langt lettere end du måske tror, ​​og ved hjælp af en multipleksering kan vi styre alle lysdioder direkte fra kun et enkelt Arduino Uno bord.
Reklame

arduino frekvens led Hvis du har dabbled med nogle nybegyndere Arduino projekter, men søger noget lidt permanent og på et helt andet niveau awesome, så er den ydmyge 4 x 4 x 4 LED-terning et naturligt valg. Konstruktion er langt lettere end du måske tror, ​​og ved hjælp af en multipleksering kan vi styre alle lysdioder direkte fra kun et enkelt Arduino Uno bord. Det er fantastisk lodning praksis, og de samlede omkostninger ved komponenter bør ikke komme til mere end omkring $ 40.

I dag vil jeg grundigt detaljere byggesiden af ​​ting og give nogle software til at køre på det, at begge ser imponerende ud og lærer dig det grundlæggende.

Du får brug for

  • En Arduino. Koden leveres forudsætter en Arduino Uno, men kan også justeres til en større model.
  • 64 LED'er - det nøjagtige valg er op til dig, men jeg brugte disse superbright 3mm blå LED'er ( 3.2v 30ma ) @ £ 2.64 for 50.
  • 16 Modstande af den passende værdi til dine lysdioder. Til LED'erne ovenfor købte 99 pence 100 af disse. Brug ledcalc.com - indtast 5v for forsyningsspænding, spænding af LED'erne (i mit tilfælde 3.2) og strømmen i milliampere (3.2). Din ønskede modstand vil blive vist i boksen mærket "Nærmeste højere nominel modstand", så søg bare efter denne værdi på eBay.
  • Nogle håndværk for at styrke den grundlæggende struktur og til dekoration - jeg brugte 0, 8 mm tykkelse.
  • Et prototypebord af en slags, som du kan lodde alle dine bits til. Jeg brugte en, der ikke havde fulde spor langs den, da jeg ikke har en sporskærer, men brug hvad der passer dig. Et Arduino prototypeskærm er dog lidt for lille, medmindre du virkelig klemmer dine LED'er sammen.
  • Tilfældig komponenttråd - nogle netværkskabelstrenger og nogle af prototyperne fra et sæt fungerer fint.
  • Crocodile clips eller "hjælper hænder" er nyttige til at holde bits på plads.
  • Loddejern og loddemetal.
  • Nogle skrot træ.
  • En boremaskine, med samme størrelse som dine LED'er.

Bemærk: 3D tegninger i denne vejledning blev udført i minutter ved hjælp af TinkerCAD. Jeg fulgte en eksisterende bygning detaljeret på Instructables af bruger forte1994, som du måske også gerne vil læse igennem, før du forsøger dette.

Sørg for at læse alle disse instruktioner først, før du forsøger det selv.

Princippet om dette design

Før du begynder at bygge, er det vigtigt at få et komplet overblik over, hvordan denne ting skal arbejde, så du kan improvisere og identificere fejl, som du går med. Nogle LED-kuber bruger en enkelt udgangsstift til hver enkelt LED - dog i en 4x4x4-terning, der ville have brug for 64 stifter - som vi helt sikkert ikke har på en Arduino Uno. En løsning ville være at bruge skiftregistre Arduino Programmering - Afspilning med Shift Registers (også flere LED'er) Arduino Programmering - Spiller med Shift Registers (også flere LED'er) I dag forsøger jeg at lære dig lidt om Shift Registers. Disse er en forholdsvis vigtig del af Arduino programmering, i grunden fordi de udvider antallet af output, du kan bruge, i bytte for ... Læs mere, men det er unødigt kompliceret.

For at styre alle disse lysdioder på kun 20 stifter, bruger vi en teknik kaldet multiplexing. Ved at bryde terningen ned i 4 separate lag, har vi kun brug for kontrolpinde til 16 lysdioder - for at tænde en bestemt LED skal vi aktivere både lag og kontrolpinde, hvilket giver os et samlet krav på 16 + 4 stifter. Hvert lag har en fælles katode - den negative del af kredsløbet - så alle de negative ben er sammenføjet og forbundet med en enkelt pin for det lag.

På anoden (positiv) side, vil hver LED blive forbundet til den tilsvarende LED i laget over og under det. I det væsentlige har vi 16 kolonner af de positive ben og 4 lag af det negative. Her er nogle 3D-visninger af forbindelserne for at hjælpe dig med at forstå:

arduino frekvens led

arduino led lys program

Konstruktion

Da vi ikke vil bruge en komplet metalstruktur til loddetøj til, vil vi have alle LED'ernes ben til at overlappe omkring en fjerdedel og give stivhed til strukturen. Fold katoden på dine LED'er - siden med det flade hak i hovedet og det kortere ben som vist i diagrammet. (Det betyder ikke rigtig noget, hvis du bøjer det til venstre eller højre, så længe du er konsistent og det rører aldrig anoden)

arduino led lys program

Den første kritiske del af dette projekt er at lave en træjig. Dette vil holde et lag med lysdioder, mens du lodne benene sammen, så det skal være præcist og ikke for løs. Brug den samme størrelse borekrone som dine lysdioder, måle ud og bore derefter en 4 × 4 matrix af ækvivalente huller. Husk at du vil have omkring en fjerdedel af benet at overlappe med sin nabo, og brug en reel linjal. Kontroller hvert hul for at sikre, at en LED kan passe tæt, men ikke så tæt, at du ikke vil kunne få den ud igen, eller du får problemer, når du prøver at fjerne et fuldt loddet lag.

arduino led lys program

Lodde katoderne på 4 rækker lysdioder. Pas på ikke at brænde ud lysdioderne - du vil have et godt varmt jern og være ind og ud. Her er mine første fire rækker afsluttet.

arduino ledet

For at styrke lagets stivhed skæres og loddes to lige stykker håndværkstråd til begge sider, så de forbinder hver række. Dette er dit første lag komplet. Lad alle overskydende ben stikke ud på siden for nu.

Nu ville det være en god tid at teste - bare indlæse standard Arduino blink app, og med en modstand forbundet, læg jorden til lagrammen, og tryk den positive ledning til hver LED igen.

arduino ledet

Forhåbentlig vil de alle lyse op. Hvis ikke, skal du sørge for, at du ikke bare har gået glip af en loddetråd, og udskift LED'en om nødvendigt.

Fjern det lag fra jiggen, og gentag processen 3 flere gange .

Bare rolig, hvis din lodning ikke er perfekt - så længe det ikke går i stykker, og forbindelsen er solid, vil den ikke påvirke det endelige produkt. Jeg indrømmer, at min lodning var temmelig håbløs, min jig var slukket, og det lignede alle det lutende tårn i Pisa. Alligevel er jeg stolt af den færdige terning, og når LED'erne lyser, vil du alligevel ikke se på loddetaljerne!

Sammenføjning af lag

Når du har 4 færdige lag, vil du gerne være sammen med alle de vertikale ben sammen. Jeg fandt dette til at være den vanskeligste del af bygningen, og for at hjælpe processen, skar jeg en stigrør ud af kortet.

arduino ledet

Dette lagde lagene i passende højde, men mange af benene ville stadig ikke justere perfekt - for dette brugte jeg nogle krokodilklip til at holde dem på plads.

Sådan laver du en pulserende Arduino LED-kube, der ligner den kom fra fremtiden sikre veritcal ben med krokodille klip

Første dumme fejl at undgå

Først efter at jeg havde lavet et komplet lag, indså jeg, at mit kortstiger var fast på plads, så jeg måtte klippe det ud! Gør ikke den samme fejl, jeg gjorde - lav stigrøret længere på siden og kom med kortstykkerne uden for terningen, så når du har færdiggjort laget, kan du dekonstruere stigrøret og trække kortet ud.

Sådan laver du en pulserende Arduino LED Cube, der ligner den kom fra fremtiden kortjig lag 3

2. fjollet fejl at undgå

Lod det vertikale ben til katoderammen ikke klart. Lodrette ben bør kun forbinde med andre lodrette ben, og intet andet.

Igen er testen efter hvert lag blevet fastgjort. Test alle lagene, kun ved at røre den positive ledning til toppen af ​​det øverste lag og derved sikre, at du har god kontakt gennem alle lagene.

Da alle 4 lag blev loddet sammen, satte jeg mig om at rense lidt - jeg forlod et enkelt ben udvidet ud af hvert lag i en slags stepping stone mode - dette ville blive droppet ned til brættet senere. Andre udadvendte bits af metalramme og ben blev afskåret. Du må selvfølgelig ikke skære nogen af ​​de vertikale ben - vi skal sætte disse ind i vores protoytping bord.

Sådan laver du en pulserende Arduino LED-kasse, der ligner den kom fra fremtiden 4 lag komplet og slettet

Fastgørelse til bestyrelsen

Husk da jeg sagde, at hvert lag til sig selv var den hårdeste del? Jeg løj. At forsøge at passe 16 LED-ben i små huller på prototyper er faktisk sværere. Den nemmeste måde jeg fandt var at stikke gennem 4 ad gangen, sikre dem nedenunder med krokodilleklip og derefter gå videre til næste række af 4. Brug en markørpen til at markere afstanden på forhånd, hvis det hjælper.

Sådan laver du en pulserende Arduino LED-kub, der ligner den kom fra fremtiden, fikseres i protobord

I eftertid ville jeg have lagt modstanderne ind i protobordet først, faktisk. Som det lod jeg alle kubens ben først ind i brættet, så prøvede jeg at klæbe modstand imellem hver enkelt delikat. Lær af min fejl, og læg først dine modstande.

Jeg forsøgte at placere dem lige så godt som muligt, så jeg kunne bruge en hel side af kuben til alle de endelige forbindelser til Arduino. Her er kredsløbsdiagrammet jeg tog med:

Sådan laver du en pulserende Arduino LED Cube, der ligner den kom fra fremtiden underwiring diagram

For de fire negative lag faldt jeg en enkelt ledning ned fra hvert lag og tog dem lige ud til siden, sådan:

Sådan laver du en pulserende Arduino LED-kub, der ligner den kom fra fremtiden fra toptrappede katoder

Endelig tilføjede jeg nogle stikledninger, som jeg derefter kunne placere i de relevante Arduino-stifter. Brug den længste slags du har. Bemærk Jeg messed ordren op på steder på grund af dårlig planlægning. Hver række af lysdioder var dog farvekodet.

Sådan laver du en pulserende Arduino LED Cube, der ligner den kom fra fremtiden undersiden ledninger

Det er det. Færdig!

Sådan laver du en pulserende Arduino LED-terning, der ligner den kom fra fremtiden 4x4x4 ledet terning færdig

Programmering af din terning

Jeg ved, at du ikke kan vente på at få denne ting fyret op, så sæt de 4 negative lag i analoge I / O- porte A2 (nederste lag) gennem A5 (øverste lag) (disse kan også fungere som digital I / O) . Derefter tilsluttes de 16 LED-kontrolstifter, startende med +1 til højre til digital I / O- port 0, med +15 og +16, der går i analog A0 og A1 . (Brug ikke AREF og GND)

arduino frekvens led

Download demo mønstre og kode fra instruerbar bruger forte1994 . Han har også leveret et nyttigt online værktøj til at designe byte mønstre til at tilpasse din egen rækkefølge. Her er en video af denne kode i aktion på min terning (jeg justerede hastigheden til 5, i stedet for standard 20) .

Det er selvfølgelig ikke den eneste måde at programmere din terning på, så lad mig bruge et par minutter til at lære dig det meget grundlæggende ved at lave dine egne mønstre programmatisk, i stedet for at afspille forudindstillede mønstre, som den ovenfor viste demo gør.

Der er et par ting, du bør vide, når du forsøger at programmere din terning:

  1. For at adressere en enkelt LED, skal du bruge et plan (lag) nummer 0-3 og et LED-pin nummer 0-15. Drej flyet til LOW output (da dette er det negative ben) og LED-pin nummer HIGH (det positive ben) for at aktivere LED'en.
  2. Før du aktiverer en enkelt LED, skal du sørge for at alle andre fly er slukket - det vil sige, at de skal indstilles til HIGH output. Hvis du ikke gør det, vil det resultere i en kolonne af LED'er, der tændes i stedet for en enkelt LED.

Med det i tankerne har jeg lavet to meget enkle programmatiske sekvenser til at undersøge - download koden herfra. Den første lyser blot hver LED en efter en, i rækkefølge. Vi bruger to til sløjfer til dette, iterering over hvert lag og hver kontrolpind.

Det andet er en tilfældig sløjfe (du skal kommentere den første og aktivere dette i hovedsløjfen for at teste det). Det vælger simpelthen et tilfældigt lag og en tilfældig styrepind, der blinker dem til og fra.

Resumé

Ikke blive intimiated af denne build - Jeg mangler alvorligt loddemæssige færdigheder, og det lykkedes jeg godt (jeg tror?) . Den samlede byggetid var en time eller deromkring en dag i ugen. Næste gang vil jeg forsøge at lære dig en mere ambitiøs programmering for terningen, så jeg håber du vil være med til at opbygge din egen terning i denne uge og indlæse en ny kode næste uge - og hvis du laver din egen fantastiske apps eller sekvenser, upload dem til Pastebin og lad os vide i kommentarerne!

In this article