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

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

Hvis du har dabbet med nogle nybegynder Arduino -projekter, men leder efter noget lidt permanent og på et helt andet niveau fantastisk, 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 multiplexing kan vi styre alle lysdioderne direkte fra kun et enkelt Arduino Uno -kort. Det er god loddepraksis, og de samlede omkostninger ved komponenter bør ikke komme op på mere end omkring $ 40.





I dag vil jeg grundigt beskrive konstruktionens side af tingene og levere noget software til at køre på det, der både ser imponerende ud og lærer dig det grundlæggende.





hvordan ved jeg hvilket grafikkort jeg har windows 10

Du får brug for

  • AnArduino. Den leverede kode forudsætter en Arduino Uno, men kan også justeres til en større model.
  • 64 lysdioder - det nøjagtige valg er op til dig, men jeg brugte disse superbright 3 mm blå lysdioder ( 3,2v 30ma ) @ £ 2,64 for 50.
  • 16 modstande af den passende værdi til dine lysdioder. Til lysdioderne ovenfor købte 99 pence 100 af disse. Brug ledcalc.com - indtast 5v for forsyningsspændingen, lysdiodernes spænding (i mit tilfælde 3.2) og strømmen i milliampere (3.2). Din ønskede modstand vil blive vist i boksen mærket Nærmest højere nominel modstand , så søg bare efter den værdi på eBay.
  • Nogle håndværkstråd for at styrke grundstrukturen og til dekoration - jeg brugte 0,8 mm tykkelse.
  • TIL prototypebord af en eller anden type, 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 presser dine lysdioder sammen.
  • Tilfældig komponenttråd - nogle netværkskabler og nogle af prototyperne fra et kit fungerer fint.
  • Krokodille klip eller hjælpende hænder er nyttige til at holde bits på plads.
  • Loddejern og lodning.
  • Noget skrot.
  • En boremaskine med samme størrelse som dine lysdioder.

Bemærk: 3D -tegningerne i denne vejledning blev udført på få minutter ved hjælp af TinkerCAD . Jeg fulgte en eksisterende build detaljeret om Instructables af brugerenforte1994, som du måske også vil læse igennem, før du prøver dette.





Sørg for at læse alle disse instruktioner igennem først før du prøver dette selv.

Princippet i dette design

Inden du går i gang med byggeriet, er det vigtigt at have et komplet overblik over, hvordan denne ting kommer til at fungere, så du kan improvisere og identificere fejl undervejs. Nogle LED -terninger bruger en enkelt udgangsstift til hver enkelt LED - dog i en 4x4x4 -terning, ville det være nødvendigt 64 ben - som vi bestemt ikke har på en Arduino Uno. En løsning ville være at bruge skifteregistre, men dette er unødigt kompliceret.



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

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





Konstruktion

Da vi ikke vil bruge en fuld metalkonstruktion til at lodde til, ønsker vi, at alle LED'ernes ben overlapper hinanden med cirka en fjerdedel og giver strukturen stivhed. Fold katoden på dine lysdioder - siden med det flade hak i hovedet og det kortere ben - over som vist på diagrammet. (Det er ikke ligegyldigt, om du bøjer det til venstre eller højre, så længe du er konsekvent og aldrig rører anoden)

Den første kritiske del af dette projekt er at lave en træjig. Dette holder et lag LED'er, mens du lodder benene sammen, så det skal være præcist og ikke for løst. Brug den samme størrelse bor som dine lysdioder, måle og derefter bore en 4x4 matrix af lige langt huller. Husk, at du gerne vil have, at omkring en fjerdedel af benet overlapper med naboen, og brug en egentlig lineal. Kontroller hvert hul for at sikre, at en LED kan sidde tæt, men ikke så tæt, at du ikke kan få det ud igen, eller du får problemer, når du forsøger at fjerne et fuldt loddet lag.





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

For at styrke lagets stivhed skal du klippe og lodde to lige stykker håndværkstråd til hver ende og sikre, at de forbinder med hver række. Dette er dit første lag komplet. Lad alle overskydende ben stikke ud ved siden af ​​nu.

Nu ville det være et godt tidspunkt at teste - bare indlæs standard Arduino blink -appen, og med en modstand tilsluttet, sæt jorden til lagrammen, og tryk på den positive ledning til hver LED igen.

Forhåbentlig vil de alle lyse op. Hvis ikke, skal du sørge for, at du ikke lige har savnet en loddemetal et eller andet sted, og hvis det er nødvendigt, udskift LED'en.

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

Bare rolig, hvis din lodning ikke er perfekt - så længe den ikke går i stykker og forbindelsen er solid, påvirker det ikke det endelige produkt. Jeg indrømmer, min lodning var temmelig håbløs, min jig var slukket, og det hele lignede det skæve tårn i Pisa. Alligevel er jeg stolt over den færdige terning, og når lysdioderne er tændt, vil du alligevel ikke se på loddeledene!

Deltagelse i lag

Når du har 4 færdige lag, vil du gerne forbinde alle de lodrette ben sammen. Jeg fandt ud af, at dette var den sværeste del af bygningen, og for at hjælpe processen skar jeg en riser ud af kortet.

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

1. fjollede fejl at undgå

Først efter at have fuldført et helt lag, indså jeg, at min kortstiger lå fast, så jeg måtte skære det ud! Gør ikke den samme fejl, som jeg gjorde - gør stigerøret længere på siden, og slut kortstykker uden for terningen, så når du har afsluttet laget, kan du dekonstruere stigerøret og trække kortet ud.

2. fjollede fejl at undgå

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

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

Da alle 4 lag var loddet sammen, gik jeg i gang med at rydde lidt op - jeg lod et enkelt ben forlænge ud af hvert lag på en slags trædesten - dette ville blive droppet ned til brættet senere. Andre fremmede stykker metalramme og ben blev afskåret. Skær naturligvis ikke nogen af ​​de lodrette ben - vi skal lægge disse i vores protoytping board.

Fastgørelse til bestyrelsen

Kan du huske, da jeg sagde, at reparation af hvert lag til sig selv var den sværeste del? Jeg løj. At prøve at passe 16 LED -ben i små huller på et prototypebord er faktisk sværere. Den nemmeste måde, jeg fandt, var at stikke igennem 4 ad gangen, sikre dem nedenunder med krokodilleklip og derefter gå videre til næste række af 4. Brug en markør til at markere afstand på forhånd, hvis det hjælper.

Set i bakspejlet ville jeg faktisk først have placeret modstandene i protoboardet. Som det er, lodde jeg først alle kubens ben ind i brættet, og forsøgte derefter at klemme modstande ind imellem hver enkelt. Lær af min fejl, og placer dine modstande først.

Jeg forsøgte at placere dem lige på en trinvis måde, så jeg kunne bruge en hel side af terningen til alle de sidste forbindelser til Arduino. Her er kredsløbsdiagrammet, jeg gik med:

For de fire negative lag faldt jeg en enkelt ledning ned fra hvert lag og trak dem derefter til siden, sådan her:

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

Det er det. Færdig!

Programmering af din terning

Jeg ved, at du ikke kan vente med at få denne ting fyret op, så tilslut de 4 negative lag til Analog I/O havne A2 (bundlag) igennem A5 (øverste lag) (disse kan også fungere som digital I/O) . Tilslut derefter de 16 LED -kontrolstifter, startende med +1 yderst til højre til digital I / O port 0 , med +15 og +16 går i analog A0 og A1 . (Brug ikke AREF og GND)

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

hvilket er bedre gsm eller cdma

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

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

  1. For at adressere en enkelt LED bruger du en fly (lag) nummer 0–3 og en LED -pin -nummer 0–15. Drej flyet til LOW output (da dette er det negative ben) og LED pin -nummeret HIGH (det positive ben) for at aktivere LED'en.
  2. Inden du aktiverer en enkelt LED, skal du sikre dig, at alle andre fly er slukket - det betyder, at du sætter dem til HIGH output. Hvis dette ikke gøres, vil en kolonne med lysdioder blive tændt frem for en enkelt lysdiode.

Med det for øje har jeg lavet to meget enkle programmatiske sekvenser, som du kan undersøge - download koden herfra. Den første tænder simpelthen hver LED en efter en i rækkefølge. Vi bruger to til sløjfer til dette, iterating over hvert lag og hver kontrolstift.

Den anden er en tilfældig sløjfe (du skal kommentere den første og aktivere denne i hovedsløjfen for at teste den). Det vælger simpelthen et tilfældigt lag og en tilfældig kontrolnål og blinker dem til og fra.

Resumé

Lad dig ikke skræmme af denne opbygning - jeg mangler seriøst lodningsevner, og jeg klarede det godt (Jeg tror?) . Den samlede byggetid var cirka en time om dagen i en uge. Næste gang vil jeg prøve at lære dig mere ambitiøs programmering af terningen, så jeg håber, at du vil være med til at bygge din egen terning i denne uge og indlæse noget ny kode i næste uge - og hvis du laver din egen fantastiske apps eller sekvenser, upload dem til Pastebin og lad os vide det i kommentarerne!

Del Del Tweet E -mail 3 måder at kontrollere, om en e -mail er ægte eller falsk

Hvis du har modtaget en e -mail, der ser lidt tvivlsom ud, er det altid bedst at kontrollere dens ægthed. Her er tre måder at se, om en e -mail er ægte.

Læs Næste
Relaterede emner
  • gør det selv
  • Arduino
Om forfatteren James Bruce(707 artikler udgivet)

James har en bachelor i kunstig intelligens og er CompTIA A+ og Network+ certificeret. Når han ikke har travlt som Hardware Reviews Editor, nyder han LEGO, VR og brætspil. Inden han kom til MakeUseOf, var han belysningstekniker, engelsklærer og datacenteringeniør.

Mere fra James Bruce

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere