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

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

Hvis du har dabbet med noen nybegynner Arduino -prosjekter, men leter etter noe litt permanent og på et helt annet nivå, er den ydmyke 4 x 4 x 4 LED -terningen et naturlig valg. Konstruksjonen er langt enklere enn du kanskje tror, ​​og ved å bruke multiplexing kan vi kontrollere alle lysdiodene direkte fra bare et enkelt Arduino Uno -kort. Det er flott loddepraksis, og den totale kostnaden for komponenter bør ikke komme på mer enn omtrent $ 40.





I dag vil jeg grundig detaljere konstruksjonssiden av tingene, og tilby litt programvare for å kjøre på det som både ser imponerende ut og lærer deg det grunnleggende.





hvordan du ser på show med venner på nettet

Du vil trenge

  • AnArduino. Koden som følger med forutsetter en Arduino Uno, men kan også justeres til en større modell.
  • 64 lysdioder - det eksakte valget er opp til deg, men jeg brukte disse superbright 3 mm blå LED -ene ( 3,2v 30ma ) @ £ 2,64 for 50.
  • 16 motstander av riktig verdi for lysdiodene dine. For lysdiodene 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). Den ønskede motstanden vises i boksen merket Nærmest motstand med høyere karakter , så er det bare å søke etter den verdien på eBay.
  • Noen håndverkstråd for å styrke grunnstrukturen og for dekorasjon - jeg brukte 0,8 mm tykkelse.
  • TIL prototypebrett av en eller annen type som du kan lodde alle bitene dine til. Jeg brukte en som ikke hadde fulle spor langs den, siden jeg ikke har en banekutter, men bruk det som passer deg. Et Arduino -prototypeskjold er imidlertid litt for lite, med mindre du virkelig klemmer sammen lysdiodene dine.
  • Tilfeldig komponenttråd - noen nettverkskabler og noen av prototypetrådene fra et sett vil fungere fint.
  • Krokodilleklipp eller hjelpende hender er nyttige for å holde biter på plass.
  • Loddejern og loddetinn.
  • Litt skrap.
  • En drill, med samme størrelse som LED -lampene dine.

Merk: 3D -tegningene i denne opplæringen ble gjort på få minutter ved hjelp av TinkerCAD . Jeg fulgte en eksisterende konstruksjon detaljert om instrukser etter brukerforte1994, som du kanskje også vil lese gjennom før du prøver dette.





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

Prinsippet for dette designet

Før du begynner byggingen, er det viktig å ha en fullstendig oversikt over hvordan denne tingen kommer til å fungere, slik at du kan improvisere og identifisere feil underveis. Noen LED -terninger bruker en enkelt utgangspinne for hver enkelt LED - men i en 4x4x4 -kube trenger du det 64 pinner - som vi absolutt ikke har på en Arduino Uno. En løsning ville være å bruke skiftregistre, men dette er unødvendig komplisert.



For å kontrollere alle disse lysdiodene med bare 20 pinner, bruker vi en teknikk som kalles multipleksing. Ved å dele kuben ned i 4 separate lag trenger vi bare kontrollpinner for 16 lysdioder - så for å tenne 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 - så alle de negative benene er sammenføyd og koblet til en enkelt pinne for det laget.

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





Konstruksjon

Siden vi ikke skal bruke en full metallkonstruksjon til å lodde til, vil vi at alle benene på lysdiodene skal overlappe med omtrent en fjerdedel og gi strukturen stivhet. Brett katoden til lysdiodene dine - siden med det flate hakket i hodet og det kortere benet - over som vist på diagrammet. (Det spiller ingen rolle om du bøyer den til venstre eller høyre, så lenge du er konsekvent og aldri berører anoden)

Den første kritiske delen av dette prosjektet er å lage en jigg av tre. Dette vil holde et lag med lysdioder mens du lodder bena sammen, så det må være nøyaktig og ikke for løst. Bruk samme størrelse bore som lysdiodene dine, måle og deretter bore en 4x4 matrise på like langt hull. Husk at du vil at omtrent en fjerdedel av beinet skal overlappe med naboen, og bruk en faktisk linjal. Kontroller hvert hull for å sikre at en LED passer godt, men ikke så tett at du ikke kan få det ut igjen, eller du får problemer når du prøver å fjerne et fullt loddet lag.





Lodd katodene til 4 rader med lysdioder. Vær forsiktig så du ikke brenner ut lysdiodene - du vil ha et godt varmt strykejern, og å være inn og ut. Her er mine fire første rader fullført.

For å styrke lagets stivhet, kutt og lodd to rette biter av håndverkstråd til hver ende, og pass på at de kobles til hver rad. Dette er ditt første lag komplett. La alle overflødige ben stikke ut ved siden av nå.

Nå ville det være et flott tidspunkt å teste - bare last opp standard Arduino blink -app, og med en motstand tilkoblet, sett bakken til lagrammen, og trykk på den positive ledningen til hver LED etter tur.

Forhåpentligvis vil de alle lyse opp. Hvis ikke, må du sørge for at du ikke bare har savnet en loddetinn et eller annet sted, og bytt lysdioden hvis nødvendig.

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

Ikke bekymre deg hvis loddet ditt ikke er perfekt - så lenge det ikke kommer til å bryte og forbindelsen er solid, påvirker det ikke det endelige produktet. Jeg innrømmer at loddetinnet mitt var ganske håpløst, jiggen min var slått 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 uansett ikke til å se på loddeskjøtene!

Bli med i lag

Når du har 4 ferdige lag, vil du koble alle vertikale ben sammen. Jeg syntes dette var den vanskeligste delen av bygningen, og for å hjelpe prosessen kuttet jeg en stigerør ut av kortet.

Dette holdt lagene i passende høyde, men mange av beina ville fortsatt ikke justere perfekt - for dette brukte jeg noen krokodilleklips for å holde dem på plass.

Første dumme feil å unngå

Først etter å ha fullført et fullt lag, skjønte jeg at kortstigerøret satt på plass, så jeg måtte kutte det ut! Ikke gjør den samme feilen som jeg gjorde - gjør stigerøret lengre på siden, og fest kortbitene utenfor kuben, så når du har fullført laget, kan du dekonstruere stigerøret og trekke ut kortet.

Andre dumme feil å unngå

Ikke loddet loddrette ben til katoderammen, åpenbart. Vertikale ben skal bare koble seg til andre vertikale ben, og ingenting annet.

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

Da alle de fire lagene var loddet sammen, begynte jeg å rydde opp litt - jeg forlot det ene benet forlatt ut av hvert lag på en slags stepping stone måte - dette ville bli droppet ned til brettet senere. Andre fremmede biter av metallramme og ben ble kuttet av. Selvfølgelig må du ikke kutte noen av de vertikale benene - vi må putte dem inn i vårt fremspringende brett.

Festing til styret

Husker du da jeg sa at å fikse hvert lag til seg selv var den vanskeligste delen? Jeg løy. Det er faktisk vanskeligere å prøve å montere 16 LED -bein i små hull på et prototypebrett. Den enkleste måten jeg fant var å stikke gjennom 4 om gangen, sikre dem under med krokodilleklips, og deretter gå videre til neste rad med 4. Bruk en markørpenn for å markere avstanden på forhånd hvis det hjelper.

I ettertid ville jeg faktisk ha plassert motstandene i protoboardet, faktisk. Som det er, loddet jeg først alle bena på kuben inn i brettet, for deretter å prøve å klemme motstander inn imellom hver. Lær av min feil, og plasser motstandene først.

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

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

Til slutt la jeg til noen pluggledninger som jeg deretter kunne plassere i de relevante Arduino -pinnene. Bruk den lengste typen du har. Legg merke til at jeg ødela ordren på steder på grunn av dårlig planlegging. Hver rad med LED -er var imidlertid fargekodet.

Det er det. Ferdig!

Programmering av kuben din

Jeg vet at du ikke kan vente med å få fyret opp, så koble de fire negative lagene til Analog I/O porter A2 (bunnlag) gjennom A5 (topplag) (disse kan også fungere som digital I/O) . Plugg deretter inn de 16 LED -kontrollpinnene, begynn med +1 helt til høyre til digital I / O port 0 , med +15 og +16 går til analog A0 og A1 . (Ikke bruk AREF og GND)

Last ned demomønstre og kode fra instruerbar bruker forte1994 . Han har også gitt en nyttig online verktøy for å designe byte -mønstrene for å tilpasse din egen sekvens. Her er en video av denne koden i aksjon på kuben min (Jeg justerte hastigheten til 5, i stedet for standard 20) .

hvorfor er diskbruken min 100%

Dette er selvfølgelig ikke den eneste måten å programmere kuben din på, så la meg bruke noen minutter på å lære deg det grunnleggende om å lage dine egne mønstre programmatisk , i stedet for å spille av forhåndsinnstilte mønstre som demoen ovenfor 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 en fly (lag) nummer 0–3, og en LED -pin -nummer 0–15. Vri flyet til LOW -utgang (siden dette er det negative benet) og LED -pin -nummeret HIGH (det positive benet) for å aktivere LED -en.
  2. Før du aktiverer en enkelt LED, må du kontrollere at alle andre fly er slått av - det betyr at du setter dem til HIGH -utgang. Hvis du ikke gjør dette, vil det føre til at en kolonne med lysdioder lyser i stedet for en enkelt lysdiode.

Med det i bakhodet har jeg laget to veldig enkle programmatiske sekvenser du kan undersøke - last ned koden herfra. Den første tenner bare hver LED en etter en, i rekkefølge. Vi bruker to for sløyfer for dette, iterating over hvert lag og hver kontrollpinne.

Den andre er en tilfeldig sløyfe (du må kommentere den første og aktivere denne i hovedløkken for å teste den). Det plukker ganske enkelt et tilfeldig lag og en tilfeldig kontrollnål, og blinker dem av og på.

Sammendrag

Ikke bli skremt av denne konstruksjonen - jeg mangler alvorlig loddeferdigheter, og jeg klarte dette greit (Jeg tror?) . Den totale byggetiden var en time eller så om dagen i en uke. Neste gang skal jeg prøve å lære deg litt mer ambisiøs programmering for kuben, så jeg håper du vil være med å bygge din egen kube denne uken og laste inn litt ny kode neste uke - og hvis du lager din egen fantastiske apper eller sekvenser, vennligst last dem opp til Pastebin og gi oss beskjed i kommentarene!

Dele Dele kvitring E -post 3 måter å sjekke om en e -post er ekte eller falsk

Hvis du har mottatt en e -post som ser litt tvilsom ut, er det alltid best å sjekke ektheten. Her er tre måter å fortelle om en e -post er ekte.

Les neste
Relaterte temaer
  • DIY
  • Arduino
Om forfatteren James Bruce(707 artikler publisert)

James har en BSc i kunstig intelligens og er CompTIA A+ og Network+ sertifisert. Når han ikke er opptatt som Hardware Reviews Editor, liker han LEGO, VR og brettspill. Før han begynte i MakeUseOf, var han belysningstekniker, engelsklærer og datasenteringeniør.

Mer fra James Bruce

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere