
Lesley Fowler
0
1779
329
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 LED-terning på 4 x 4 x 4 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 udgifter til komponenter bør ikke overstige omkring $ 40.
I dag skal jeg gennemgå detaljerede ting om konstruktionen 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'er 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”, derefter bare søge 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 bruger hvad der passer dig. Et Arduino-prototype-skjold er dog lidt for lille, medmindre du virkelig klemmer dine lysdioder sammen.
- Tilfældig komponenttråd - nogle netværkskabler, 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 Instructables af user forte1994, som du måske også vil læse igennem, før du forsøger dette.
Sørg for at læse igennem alle disse instruktioner først før du prøver selv.
Princippet for dette design
Før 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) Arduino-programmering - Spil med skiftregistre (a.k.a Endnu flere lysdioder) 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 ..., men dette er unødvendigt kompliceret.
For at kontrollere alle disse LED'er på kun 20 ben 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 en bestemt LED, skal vi aktivere både laget og kontroltappen, 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å LED'erne 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 mod 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 lysdioder, mens du lodder benene sammen, så det skal være nøjagtigt og ikke for løst. Brug samme borestørrelse 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 du får problemer, når du prøver at fjerne et fuldt loddet lag.
Lodde katoderne i 4 rækker af LED'er. 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 modstand tilsluttet, 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 lige har gået glip af et loddeforbindelse et sted, og hvis nødvendigt udskift LED.
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 pilk var slukket, og det lignede det skæve tårn i Pisa. Jeg er stadig stolt af den færdige terning, og når lysdioderne er tændt, vil du ikke se på loddefugerne alligevel!
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 en hel del af benene ville stadig ikke passe perfekt - til dette brugte jeg nogle krokodilleklip for 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 stod 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 sammenføj kortstykkerne uden for terningen, så når du er færdig med laget, kan du dekonstruere stigerøret og trække kortet ud.
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 udstrakt ud af hvert lag på en slags springbræt-mode - dette ville falde ned til brættet senere. Andre fremmede bits af metalramme og ben blev afskåret. Naturligvis skal 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 forsøge at sætte 16 LED-ben i små huller på et prototypebord. 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, lodde jeg alle benene på terningen først ind i brættet og prøvede derefter med forsigtigt at skubbe modstande imellem hver enkelt. 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 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 demomønstre og kode fra den instruerbare bruger forte1994. Han har også leveret et nyttigt online-værktøj til at designe byte-mønstre til 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 LED.
- 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 gentager sig over hvert lag og hver kontrolstift.
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 plukker 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 nogle mere ambitiøse programmering af terningen, så jeg håber du vil være med og bygge din egen terning i denne uge og indlæse en ny kode i næste uge - og hvis du laver din egen fantastiske apps eller sekvenser, skal du uploade dem til Pastebin og fortæl os det i kommentarerne!