Reklame
Hvis du har dybt med nogle nybegynder Arduino-projekter, men er på udkig efter noget lidt permanent og på et helt andet niveau af 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 multiplexing kan vi styre alle lysdioder direkte fra kun et enkelt Arduino Uno-kort. Det er fantastisk lodningspraksis, og de samlede omkostninger til komponenter bør ikke overstige omkring $ 40.
I dag skal jeg detaljeret 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.
Du får brug for
- en Arduino. Den leverede kode antager 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 superbride 3 mm blå LED'er (3,2v 30ma) @ £ 2,64 for 50.
- 16 Modstande af den passende værdi for dine lysdioder. For LED'erne ovenfor købte 99 pence 100 af disse. Brug ledcalc.com - indtast 5v for forsyningsspændingen, spændingen på lysdioderne (i mit tilfælde 3.2) og strømmen i milliamps (3.2). Din ønskede modstand vises i det markerede felt “Nærmeste højere vurderede modstand”, så søg bare efter den værdi på eBay.
- Nogle håndværkstråd at styrke grundlæggende struktur og til dekoration - brugte jeg 0.8mm tykkelse.
- EN prototype bestyrelse af en eller anden type, som du kan lodde alle dine bit til. Jeg brugte et, der ikke havde fulde spor langs det, da jeg ikke har en baneskærer, men brug hvad du end passer til. Et Arduino-prototyperingsskærm er dog lidt for lille, medmindre du virkelig klemmer dine lysdioder sammen.
- Tilfældig komponenttråd - Nogle netværkskabeltråde og nogle af prototyperne fra et sæt fungerer fint.
- Krokodilleklip eller "hjælpende hænder" er nyttige til at holde bits på plads.
- Loddejern og loddejern.
- Noget skrot træ.
- En bore med samme størrelse bit som dine LED'er.
Bemærk: 3D-tegningerne i denne tutorial blev udført på få minutter ved hjælp af TinkerCAD. Jeg fulgte en eksisterende bygning, der var detaljeret om Instruktiver af bruger forte1994, som du måske også ønsker at læse igennem, før du prøver på dette.
Sørg for at læse igennem alle disse instruktioner først før du prøver dette selv.
Princippet for dette design
Inden du begynder konstruktionen, er det vigtigt at have et komplet overblik over, hvordan denne ting fungerer, så du kan improvisere og identificere fejl, mens du følger med. Nogle LED-terninger bruger en enkelt udgangsnål 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 skiftregistre Arduino-programmering - Spil med skiftregistre (a.k.a endnu flere LED'er)I dag vil jeg forsøge at lære dig lidt om skiftregistre. Dette er en forholdsvis vigtig del af Arduino-programmeringen, dybest set fordi de udvider antallet af output, du kan bruge, til gengæld for ... Læs mere , men dette er unødvendigt kompliceret.
For at kontrollere alle disse LED'er på kun 20 pins bruger vi en teknik kaldet multiplexing. Ved at nedbryde terningen i 4 separate lag, har vi kun brug for kontrolben til 16 lysdioder - så for at tænde a specifik 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 negative ben er sammenføjet og forbundet til en enkelt stift til det lag.
På anoden (positiv) på siden, vil hver LED tilsluttes den tilsvarende LED i laget over og under den. I det væsentlige har vi 16 kolonner med de positive ben og 4 lag med de negative. Her er nogle 3D-visninger af forbindelserne, så du kan forstå:
Konstruktion
Da vi ikke bruger en fuld metalstruktur til lodning til, ønsker vi, at alle ben på lysdioderne skal overlappe hinanden med cirka et kvarter og give stivhed til strukturen. Fold katoden på dine lysdioder - siden med det flade hak i hovedet og det kortere ben - over som vist på diagrammet. (Det betyder ikke rigtig noget, hvis du bøjer den til venstre eller højre, så længe du er konsekvent, og den aldrig rører anoden)
Den første kritiske del af dette projekt er at lave en træjig. Dette holder et lag af LED'er, mens du lodder benene sammen, så det skal være nøjagtigt og ikke for løst. Brug den samme størrelse borekort som dine lysdioder, mål ud og bor derefter en 4 × 4 matrix med lige langt huller. Husk, at du vil have, at en fjerdedel af benet skal overlappe hinanden med sin nabo, og brug en faktisk lineal. Kontroller hvert hul for at sikre, at en LED kan passe tæt, men ikke så stram, at du ikke kan få den ud igen, eller så får du problemer, når du prøver at fjerne et fuldt loddet lag.
Lodde katoderne i 4 rækker 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 nu skære og lodde to lige stykker håndværkstråd til hver ende, og sørg for, at de er forbundet med hver række. Dette er dit første lag komplet. Lad alle overskydende ben stikke ud ved siden lige nu.
Nu ville det være et godt tidspunkt at teste - bare indlæs standard Arduino blink-app, og med en tilsluttet modstand, sæt jorden til lagrammen og tryk på den positive ledning til hver LED igen.
Forhåbentlig lyser de alle op. Hvis ikke, skal du sørge for, at du ikke bare har gået glip af et loddeforbindelse et sted, og hvis nødvendigt udskift lysdioden.
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. Stadig er jeg stolt af den færdige terning, og når lysdioderne er tændt, vil du alligevel ikke se på loddefugene!
Deltag i lag
Når du har 4 færdige lag, vil du sammenføje alle de lodrette ben sammen. Jeg fandt, at dette var den sværeste del af bygningen, og for at hjælpe processen skar jeg en stigerør ud af kortet.
Dette holdt lagene i den passende højde, men mange af benene ville stadig ikke passe perfekt - til dette brugte jeg nogle krokodilleklip til at holde dem på plads.
1. dumme fejl at undgå
Først efter at have afsluttet et fuldt lag, var jeg klar over, at min kortstiger var fast på plads, så jeg var nødt til at skære det ud! Foretag ikke den samme fejl, som jeg gjorde - gør stigerøret længere på siden, og gå sammen med kortene uden for terningen, så når du er færdig med laget, kan du dekonstruere stigerøret og trække kort.
2. fjollet fejl at undgå
Lod ikke det lodrette ben til katoderammen, selvfølgelig. Lodrette ben skal kun oprette forbindelse til andre lodrette ben og intet andet.
Test igen, når hvert lag er fastgjort. Test alle lag, faktisk kun ved at røre ved den positive ledning til spidsen af det øverste lag, hvorved du sikrer, at du har god kontakt gennem alle lag.
Da alle 4 lag blev loddet sammen, begyndte jeg at rydde op lidt - jeg forlod et enkelt ben forlænget ud af hvert lag på en slags springbræt mode - dette ville falde ned til bord senere. Andre fremmede bits af metalramme og ben blev afskåret. Åbenbart må du ikke skære nogen af de lodrette ben - vi er nødt til at lægge disse i vores prototyperplade.
Fastgørelse til bestyrelsen
Kan du huske, da jeg sagde, at det var den sværeste del at fikse hvert lag til sig selv? Jeg løj. Det er faktisk sværere at prøve at sætte 16 LED-ben ind i små huller på et prototype-bord. 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ørpen til at markere afstand på forhånd, hvis det hjælper.
I eftertid ville jeg først have placeret modstanderne i protobordet. Som det er, loddet jeg alle benene på terningen først ind i brættet og prøvede derefter at skubbe modstande i mellem mellem dem. Lær af min fejltagelse, og placer dine modstande først.
Jeg prøvede at placere dem lige på en trinvis måde, så jeg kunne bruge en hel side af terningen til alle de endelige forbindelser til Arduino. Her er kredsløbsdiagrammet, som jeg gik med:
For de fire negative lag faldt jeg en enkelt ledning ned fra hvert lag og trak dem derefter bare ud til siden, sådan:
Til sidst 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 rodede ordren op 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å sæt de 4 negative lag ind i Analog I / O havne A2 (bundlag) igennem A5 (øverste lag)(disse kan også fungere som digital I / O). Tilslut derefter de 16 LED-kontrolben, startende med +1 helt 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 demo mønstre og kode fra instrucerbar bruger forte1994. Han har også leveret 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).
Dette er naturligvis ikke den eneste måde at programmere din terning på, så lad mig bruge et par minutter på at lære dig de grundlæggende elementer i at lave dine egne mønstre programmatisk, snarere end at afspille forudindstillede mønstre, som ovenstående demo gør.
Der er et par ting, du skal vide, når du forsøger at programmere din terning:
- For at adressere en enkelt LED bruger du a fly (lag) nummer 0–3, og en LED-pin nummer 0–15. Drej flyet til LAV udgang (da dette er det negative ben) og LED-stiftenummeret HØJ (det positive ben) for at aktivere lysdioden.
- Før du aktiverer en enkelt LED, skal du sikre dig, at alle andre fly er slukket - det betyder, at du sætter dem til HØJ udgang. Undladelse af at gøre dette resulterer i, at en kolonne af LED'er tændes i stedet for en enkelt LED.
Med det i tankerne har jeg lavet to meget enkle programmatiske sekvenser til dig at undersøge - download koden herfra. Den første tænker blot hver LED en efter en i rækkefølge. Vi bruger to til løkker til dette, idet det over hvert lag og hver kontrolstift er gentaget.
Den anden er en tilfældig løkke (du skal kommentere det første og aktivere dette i hovedsløjfen for at teste det). Det pluger simpelthen et tilfældigt lag og en tilfældig kontrolnål, der blinker dem til og fra.
Resumé
Bliv ikke lænket af denne bygning - Jeg mangler alvorligt lodningskompetencer, og det lykkedes mig (Jeg tror?). Den samlede byggetid var en times tid om dagen i en uge. Næste gang vil jeg forsøge at lære dig noget mere ambitiøs programmering til terningen, så jeg håber du vil være med og bygge din egen terning denne uge og indlæser nogle nye kode i næste uge - og hvis du laver dine egne fantastiske apps eller sekvenser, skal du uploade dem til Pastebin og fortæl os det i kommentarer!
James har en BSc i kunstig intelligens og er CompTIA A + og Network + certificeret. Han er hovedudvikler af MakeUseOf og bruger sin fritid på at spille VR paintball og brætspil. Han har bygget pc'er siden han var barn.