Annonse

arduino frekvens ledetHvis du har jobbet med noen nybegynnere Arduino-prosjekter, men er ute etter noe litt permanent og på et helt annet nivå av fantastisk, er den ydmyke LED-kuben på 4 x 4 x 4 et naturlig valg. Bygging er langt enklere enn du kanskje tror, ​​og ved å bruke en multipleksing kan vi kontrollere alle lysdioder direkte fra bare et enkelt Arduino Uno-kort. Det er flott loddepraksis, og de totale kostnadene for komponenter skal ikke komme til mer enn rundt $ 40.

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

Du vil trenge

  • en Arduino. Koden som følger med forutsetter 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 superbrette 3 mm blå LED-ene (3,2v 30ma) @ £ 2,64 for 50.
  • 16 motstander av riktig verdi for LED-ene. For lysdiodene over 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 milliampler (3.2). Din ønskede motstand vises i boksen merket “Nærmeste høyest rangerte motstand”, så er det bare å søke etter den verdien på eBay.
  • Noen håndverkstråd for å styrke grunnleggende struktur og til dekorasjon - brukte jeg 0,8 mm tykkelse.
  • EN prototypingstavle av en eller annen type som du kan lodde alle bitene dine til. Jeg brukte en som ikke hadde fulle spor langs den, da jeg ikke har en banekutter, men bruk hva som passer deg. Et Arduino prototypeskjerm er imidlertid litt for lite, med mindre du virkelig klemmer lysdiodene sammen.
  • Tilfeldig komponenttråd - noen nettverkskabelstrenger og noen av prototypingskablene fra et sett vil fungere fint.
  • Krokodilleklemmer eller "hjelpende hender" er nyttige for å holde biter på plass.
  • Loddejern og lodde.
  • Noe skrap tre.
  • En drill med samme størrelse som lysdiodene dine.

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

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

Prinsippet for denne designen

Før du begynner byggingen, er det viktig å ha en fullstendig oversikt over hvordan denne tingen skal fungere, slik at du kan improvisere og identifisere feil når du følger med. Noen LED-kubber bruker en enkelt utgangsnål for hver enkelt LED - men i en 4x4x4 kube vil det trenge 64 pinner - som vi absolutt ikke har på en Arduino Uno. En løsning vil være å bruke skiftregistre Arduino-programmering - leking med skiftregistre (a.k.a enda flere lysdioder)I dag skal jeg prøve å lære deg litt om skiftregistre. Dette er en ganske viktig del av Arduino-programmeringen, i utgangspunktet fordi de utvider antall output du kan bruke, i bytte mot ... Les mer , men dette er unødvendig komplisert.

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

På anoden (Positiv) på siden, vil hver LED kobles til den tilsvarende LED i laget over og under den. I hovedsak har vi 16 kolonner med positive ben, og 4 lag med negative. Her er noen 3D-visninger av tilkoblingene for å hjelpe deg med å forstå:

arduino frekvens ledet
arduino ledet lysprogram

Konstruksjon

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

arduino ledet lysprogram

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

arduino ledet lysprogram

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

arduino ledet

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

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

arduino ledet

Forhåpentligvis vil de lyse opp. Hvis ikke, må du sørge for at du ikke bare har gått glipp av et loddeforbindelse et sted, og hvis nødvendig bytter LED.

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

Ikke bekymre deg hvis lodding din ikke er perfekt - så lenge den ikke kommer til å gå i stykker og forbindelsen er solid, vil det ikke påvirke sluttproduktet. Jeg innrømmer at loddingen min var ganske håpløs, pilken min var slått av, og det hele lignet Pisa. Likevel er jeg stolt av den ferdige kuben, og når lysdiodene er tent, vil du ikke se på loddefugene likevel!

Bli med i lag

Når du har 4 fullførte lag, vil du slå alle de vertikale benene sammen. Jeg syntes dette var den vanskeligste delen av bygget, og for å hjelpe prosessen kuttet jeg en stigerør ut av kortet.

arduino ledet

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

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

1. dumme feil å unngå

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

Hvordan lage en pulserende Arduino LED-kube som ser ut som den kom fra fremtidens kortjigglag 3

2. dumme feil å unngå

Ikke lodd det vertikale benet til katoderammen. Vertikale ben skal bare koble 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 sørg for at du har god kontakt gjennom alle lagene.

Når alle de fire lagene ble loddet sammen, begynte jeg å rydde litt opp - jeg forlot ett eneste ben utvidet ut av hvert lag på en slags springbrettmote - dette ville bli droppet ned til styret senere. Andre fremmede biter av metallramme og ben ble avskåret. Åpenbart, ikke kutt noen av de vertikale benene - vi må legge disse i prototype-brettet vårt.

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

Feste til styret

Husker jeg at det var det vanskeligste å feste hvert lag til seg selv? Jeg løy. Det er faktisk vanskeligere å prøve å plassere 16 LED-ben i bittesmå hull på et prototypebrett. Den enkleste måten jeg fant var å pirke gjennom 4 om gangen, sikre dem under med krokodilleklips, og deretter gå videre til neste rad på 4. Bruk en markørpenn til å merke avstand på forhånd hvis det hjelper.

Hvordan lage en pulserende Arduino LED-kube som ser ut som om den kom fra fremtiden og fikset inn i protobordet

I ettertid ville jeg først plassert motstandene i protobordet. Som det er, loddet jeg alle benene på kuben inn i brettet først, og prøvde deretter å skvise motstandsdyktig inn mellom hver av dem. Lær av min feil, og plasser motstandene dine først.

Jeg prøvde å plassere dem likt på en trinnvis måte, så da kunne jeg bruke en hel side av kuben til 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 fremtidens ledningsdiagram

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

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

Til slutt la jeg noen pluggledninger som jeg deretter kunne plassere i de aktuelle Arduino-pinnene. Bruk den lengste typen du har. Merk at jeg rotet ordren på steder på grunn av dårlig planlegging. Hver rad med lysdioder var imidlertid fargekodet.

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

Det er det. Ferdig!

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

Programmering av kuben din

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

arduino frekvens ledet

Last ned demonstrasjonsmø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).

Dette er ikke den eneste måten å programmere kuben din på, selvfølgelig, så la meg bruke noen minutter på å lære deg det grunnleggende om å lage dine egne mønstre programma, i stedet for å spille av forhåndsinnstilte mønstre som demoen ovenfor.

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

  1. For å adressere en enkelt LED bruker du a fly (lag) nummer 0–3, og en LED-pinne nummer 0–15. Drei flyet til LAV utgang (siden dette er det negative benet) og LED-pinnenummeret HØY (det positive benet) for å aktivere LED.
  2. Før du aktiverer en enkelt LED, må du forsikre deg om at alle andre fly er slått av - det betyr at du setter dem til HØY utgang. Unnlatelse av å gjøre dette vil føre til at en kolonne med LED 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 tenner ganske enkelt hver LED en etter en, i rekkefølge. Vi bruker to til løkker 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 hovedsløyfen for å teste den). Den plukker ganske enkelt et tilfeldig lag, og en tilfeldig kontrollpinne, og blinker dem av og på.

Sammendrag

Ikke la deg skremme av denne bygningen - jeg mangler alvorlig loddekompetanse, og jeg klarte dette greit (Jeg tror?). Den totale byggetiden var omtrent en time 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 får være med å bygge din egen kube denne uken og laster inn noen nye koder i løpet av neste uke - og hvis du lager dine egne fantastiske apper eller sekvenser, kan du laste dem opp til Pastebin og gi oss beskjed i kommentarer!

James har en BSc i kunstig intelligens, og er CompTIA A + og Network + sertifisert. Han er hovedutvikler av MakeUseOf, og bruker fritiden sin på å spille VR paintball og brettspill. Han har bygd pc-er siden han var liten.