Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtiden

Hvis du har dabbled med noen nybegynnere Arduino-prosjekter, men leter etter noe litt permanent og på et helt annet nivå, er den ydmyke 4 x 4 x 4 LED-kuben et naturlig valg. Konstruksjonen er langt enklere enn du kanskje tror, ​​og ved hjelp av en multipleksering kan vi styre alle lysdiodene direkte fra bare et enkelt Arduino Uno bord.

Hvis du har dabbled med noen nybegynnere Arduino-prosjekter, men leter etter noe litt permanent og på et helt annet nivå, er den ydmyke 4 x 4 x 4 LED-kuben et naturlig valg.  Konstruksjonen er langt enklere enn du kanskje tror, ​​og ved hjelp av en multipleksering kan vi styre alle lysdiodene direkte fra bare et enkelt Arduino Uno bord.
Annonse

arduino frekvens ledet Hvis du har dabbled med noen nybegynnere Arduino-prosjekter, men leter etter noe litt permanent og på et helt annet nivå, er den ydmyke 4 x 4 x 4 LED-kuben et naturlig valg. Konstruksjonen er langt enklere enn du kanskje tror, ​​og ved hjelp av en multipleksering kan vi styre alle lysdiodene direkte fra bare et enkelt Arduino Uno bord. Det er bra lodding praksis, og den totale kostnaden for komponenter bør ikke komme til mer enn ca $ 40.

I dag skal jeg grundig detaljere konstruksjonssiden av ting, og gi litt programvare til å løpe på det som begge ser imponerende ut og lærer deg det grunnleggende.

Du vil trenge

  • En Arduino. Koden som følger med antar en Arduino Uno, men kan også justeres til en større modell.
  • 64 lysdioder - det nøyaktige valget er opp til deg, men jeg brukte disse superbright 3mm blå lysdiodene ( 3.2v 30ma ) @ £ 2.64 for 50.
  • 16 Motstander av riktig verdi for lysdiodene dine. For LEDene ovenfor kjøpte 99 pence 100 av disse. Bruk ledcalc.com - skriv inn 5v for forsyningsspenningen, spenningen til lysdiodene (i mitt tilfelle 3.2) og strømmen i milliampere (3.2). Din ønskede motstand vil bli vist i boksen merket "Nærmeste høyere nominell motstand", så bare søk etter den verdien på eBay.
  • Noen håndverk for å styrke grunnleggende struktur og dekorasjon - jeg brukte 0, 8 mm tykkelse.
  • Et prototypebrett av noe slag som du kan lodde alle dine biter til. Jeg brukte en som ikke hadde fulle spor langs den, siden jeg ikke har en sporskytter, men bruk det som passer deg. En Arduino prototyping skjold er litt for liten skjønt, med mindre du virkelig klemmer dine lysdioder sammen.
  • Tilfeldig komponenttråd - noen nettverkskabelstrenger og noen av prototypingskablene fra et sett vil fungere fint.
  • Krokodilklips eller "hjelpende hender" er nyttige for å holde biter på plass.
  • Lodding og lodding.
  • Noen skraptre.
  • En drill, med samme størrelse som dine lysdioder.

Merk: 3D-tegningene i denne opplæringen ble gjort i løpet av minutter med TinkerCAD. Jeg fulgte en eksisterende bygge detaljert på Instructables av bruker forte1994, som du kanskje også vil lese gjennom før du prøver dette.

Sørg for å lese gjennom alle disse instruksjonene før du prøver dette selv.

Prinsippet for dette designet

Før du begynner konstruksjon, er det viktig å ha en fullstendig oversikt over hvordan denne tingen skal fungere slik at du kan improvisere og identifisere feil mens du går. Noen LED-kuber bruker en enkelt utgangsstift for hver enkelt LED - men i en 4x4x4-kube, som vil trenge 64 pins - som vi absolutt ikke har på en Arduino Uno. En løsning ville være å bruke skiftregister Arduino Programmering - Spille med Shift Registers (også flere LEDer) Arduino Programmering - Spille med Shift Registers (aka enda flere LEDer) I dag prøver jeg å lære deg litt om Shift Registers. Dette er en ganske viktig del av Arduino programmering, i utgangspunktet fordi de utvider antall utganger du kan bruke, i bytte for ... Les mer, men dette er unødvendig komplisert.

For å kontrollere alle disse lysdiodene på bare 20 pinner, bruker vi en teknikk som kalles multiplexing. Ved å kutte kuben ned i 4 separate lag trenger vi bare kontrollpinner til 16 lysdioder - for å teste en bestemt LED må vi aktivere både laget og kontrollpinnen, noe som gir oss et totalt krav på 16 + 4 pinner. Hvert lag har en felles katode - den negative delen av kretsen - slik at alle de negative benene sitter sammen, og koblet til en enkelt pinne for det laget.

På anoden (positiv) side, vil hver LED bli koblet til den tilsvarende lysdioden i laget over og under det. I hovedsak har vi 16 kolonner av de positive bena, og 4 lag av det negative. Her er noen 3D-visninger av forbindelsene for å hjelpe deg å forstå:

arduino frekvens ledet

arduino led lys program

Konstruksjon

Siden vi ikke vil bruke en fullmetallstruktur til loddetinn til, vil vi at alle lysdiodens bein skal overlappe ca. En fjerdedel og gi stivhet til strukturen. Brett katoderen til lysdiodene dine - siden med flatt hakk i hodet og kortere ben som vist på diagrammet. (Det spiller ingen rolle om du bøyer det til venstre eller høyre, så lenge du er konsekvent og det berører aldri anoden)

arduino led lys program

Den første kritiske delen av dette prosjektet er å lage en trejig. Dette vil holde et lag med lysdioder mens du lørrer bena sammen, så det må være nøyaktig og ikke for løs. Bruk samme borekrone som LEDene dine, måler og bor deretter en 4 × 4 matrise av likevektige hull. Husk at du vil ha omtrent en fjerdedel av beinet til å overlappe med naboen, og bruk en reell linjal. Kontroller hvert hull for å sikre at en LED kan passe godt, men ikke så stramt at du ikke vil kunne få det ut igjen, eller du får problemer når du prøver å fjerne et helt loddet lag.

arduino led lys program

Løs katoder på 4 rader med lysdioder. Vær forsiktig så du ikke brenner ut lysdiodene - du vil ha et godt varmt jern, og være inn og ut. Her er mine første fire rader ferdigstilt.

arduino ledet

Nå, for å styrke lagets stivhet, kutt og løst to rette biter av håndverkstråd til hver ende, sørg for at de kobles til hver rad. Dette er ditt første lag komplett. La alle overflødige bein stikke ut på siden for nå.

Nå vil det være en flott tid å teste - bare last opp standard Arduino blink app, og med en motstand koblet, legg bakken til lagrammen, og trykk den positive ledningen til hver LED i sin tur.

arduino ledet

Forhåpentligvis vil de alle lyse opp. Hvis ikke, sørg for at du ikke bare har gått glipp av et loddetråd, og om nødvendig bytt LED.

Fjern det laget fra jiggen, og gjenta prosessen 3 flere ganger .

Ikke bekymre deg om at lodding ikke er perfekt - så lenge det ikke kommer til å bryte og forbindelsen er solid, vil den ikke påvirke sluttproduktet. Jeg innrømmer at loddet mitt var ganske håpløst, min jig var av, og alt lignet det skjeve tårnet i Pisa. Likevel er jeg stolt av den ferdige terningen, og når lysdiodene lyser, kommer du ikke til å se på loddetrådene uansett!

Bli med i lag

Når du har 4 ferdige lag, vil du bli med alle vertikale benene sammen. Jeg fant dette til å være den vanskeligste delen av bygningen, og for å hjelpe prosessen jeg kuttet en stigerør ut av kort.

arduino ledet

Dette holdt lagene i riktig høyde, men mange bein ville fortsatt ikke justere perfekt - for dette brukte jeg noen krokodilklipp for å holde dem på plass.

Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtiden sikre veritcal ben med krokodille klipp

Første dum feil å unngå

Først etter at jeg fullførte et lag, skjønte jeg at min kortstiger ble sittende fast på plass, så jeg måtte klippe det ut! Ikke gjør den samme feilen jeg gjorde - gjør stigerøret lengre på siden, og legg korkstykkene utenfor kuben, så når du har fullført laget, kan du dekonstruere stigerøret og trekke ut kortet.

Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtiden kortjiglag 3

Andre dumme feil å unngå

Ikke lodd det vertikale benet til katodrammen, åpenbart. Vertikale bein skal bare koble til andre vertikale ben, og ingenting annet.

Igjen, test etter hvert lag er festet. Test alle lagene, bare ved å berøre den positive ledningen til toppen av det øverste laget, og dermed sikre at du har god kontakt gjennom alle lagene.

Da alle 4 lagene ble loddet sammen, satte jeg på å rydde opp litt - jeg forlot ett enkelt ben forlenget ut av hvert lag i en slags stepping stone mote - dette ville bli droppet ned til brettet senere. Andre utenlandske biter av metallramme og ben ble kuttet av. Du må selvsagt ikke kutte noen av de vertikale beinene - vi må sette disse inn i vår protoytping bord.

Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtiden 4 lag komplett og slått av

Fastsetting til styret

Husk da jeg sa at fikse hvert lag til seg selv var den vanskeligste delen? Jeg løy. Å prøve å passe 16 LED-ben i små hull på prototyper er faktisk vanskeligere. Den enkleste måten jeg fant var å peke gjennom 4 om gangen, sikre dem under med krokodilklipp, deretter gå videre til neste rad med 4. Bruk en markørpenn til å markere mellomrom på forhånd hvis det hjelper.

Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtiden festing i protoboard

I ettertid ville jeg ha plassert motstandene inn i protobordet først, faktisk. Som det solderte jeg alle kubens ben inn i brettet først, da prøvde jeg å forsøke å presse motstander i mellom hverandre. Lær av min feil, og legg motstandene dine først.

Jeg prøvde å plassere dem på en jevn måte, så da kunne jeg bruke en hel side av kuben for alle de endelige forbindelsene til Arduino. Her er kretsdiagrammet jeg gikk med:

Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtiden underwiring diagram

For de fire negative lagene dro jeg en enkelt ledning ned fra hvert lag, og trakk dem bare til siden, slik:

Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtiden fra topptrappede katoder

Til slutt lagde jeg noen plugg ledninger som jeg da kunne plassere i de relevante Arduino-pinnene. Bruk den lengste typen du har. Merk Jeg slo opp ordren opp på steder på grunn av dårlig planlegging. Hver rekke lysdioder var fargekodet selv.

Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtiden undersiden ledninger

Det er det. Ferdig!

Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtiden 4x4x4 ledet kube ferdig

Programmering av kuben

Jeg vet at du ikke kan vente på å få denne tingen oppløst, så koble de 4 negative lagene til Analog I / O- porter A2 (nederste lag) gjennom A5 (topplag) (disse kan også fungere som digital I / O) . Deretter kobler du inn de 16 LED-kontrollpinnene, starter med +1 helt til høyre til digital I / O- port 0, med +15 og +16 går inn i analog A0 og A1 . (Ikke bruk AREF og GND)

arduino frekvens ledet

Last ned demo mønstrene og koden fra instruerbar bruker forte1994 . Han har også gitt et nyttig nettverktøy for å designe byte mønstre for å tilpasse din egen sekvens. Her er en video av denne koden i handling på kuben min (jeg justerte hastigheten til 5, i stedet for standard 20) .

Dette er ikke den eneste måten å programmere kuben på, så la meg tilbringe noen minutter å lære deg veldig grunnleggende om å lage dine egne mønstre programmatisk, i stedet for å spille av forhåndsinnstilte mønstre som den ovenfor viste demo gjør.

Det er noen ting du bør vite når du prøver å programmere kuben din:

  1. For å adressere en enkelt LED, bruker du et fly (lag) nummer 0-3, og et LED-pin nummer 0-15. Vri flyet til LOW utgang (siden dette er det negative benet) og LED-pin nummer HIGH (det positive benet) for å aktivere LED-lampen.
  2. Før du aktiverer en enkelt LED, må du forsikre deg om at alle andre fly er slått av - det betyr at de stilles til HIGH output. Hvis du ikke gjør dette, vil det resultere i en kolonne med lysdioder som lyser i stedet for en enkelt LED.

Med det i tankene har jeg laget to veldig enkle programmatiske sekvenser for deg å undersøke - last ned koden herfra. Den første lyser bare hver LED en etter en, i rekkefølge. Vi bruker to for looper for dette, itererer over hvert lag og hver kontrollpinne.

Den andre er en tilfeldig sløyfe (du må kommentere den første og aktivere dette i hovedløkken for å teste det). Den plukker bare et tilfeldig lag, og tilfeldig kontrollpinne, blinker dem på og av.

Sammendrag

Ikke bli intimiated av denne bygningen - jeg mangler alvorlig loddemuligheter, og jeg klarte det bra (tror jeg?) . Den totale byggetiden var en time eller så en dag i en uke. Neste gang vil jeg forsøke å lære deg litt mer ambisiøs programmering for terningen, så jeg håper du vil bli med meg i å bygge din egen kube denne uken og laste inn noen ny kode neste uke - og hvis du lager din egen fantastiske apps eller sekvenser, last opp dem til Pastebin og gi oss beskjed i kommentarene!

In this article