Advertentie

arduino frequentie ledAls je wat Arduino-projecten voor beginners hebt gedaan, maar op zoek bent naar iets dat een beetje permanent is en op een heel ander geweldig niveau, dan is de bescheiden 4 x 4 x 4 LED-kubus een natuurlijke keuze. De constructie is veel eenvoudiger dan je zou denken, en met multiplexing kunnen we alle leds rechtstreeks bedienen vanaf slechts één Arduino Uno-bord. Het is een geweldige manier van solderen en de totale kosten van componenten mogen niet meer bedragen dan ongeveer $ 40.

Vandaag zal ik de bouwkant van de dingen grondig beschrijven en wat software leveren om erop te draaien die er zowel indrukwekkend uitziet als je de basis leert.

Je zal nodig hebben

  • Een Arduino. De meegeleverde code gaat uit van een Arduino Uno, maar kan ook worden aangepast aan een groter model.
  • 64 leds - de exacte keuze is aan jou, maar ik heb deze superheldere 3 mm blauwe LED's gebruikt (3.2v 30ma) @ £ 2,64 voor 50.
  • 16 weerstanden van de juiste waarde voor uw LED's. Voor de bovenstaande LED's heeft 99 pence er 100 gekocht. Gebruik ledcalc.com - voer 5v in voor de voedingsspanning, de spanning van de leds (in mijn geval 3.2) en de stroom in milliampère (3.2). De gewenste weerstand wordt weergegeven in het vak met het label "Weerstand met de hoogste rating", zoek dan gewoon naar die waarde op eBay.
  • Sommige ambachtelijke draad om de basisstructuur te versterken en voor decoratie - ik gebruikte 0,8 mm dikte.
  • EEN prototyping bord van een type waar je al je bits op kunt solderen. Ik heb er een gebruikt die geen volledige sporen bevat, omdat ik geen spoorknipper heb, maar gebruik wat bij je past. Een Arduino-prototypeschild is echter een beetje te klein, tenzij je je LED's echt samenknijpt.
  • Willekeurige componentdraad - sommige netwerkkabelstrengen en enkele van de prototypingdraden uit een set werken prima.
  • Krokodillenklemmen of "helpende handen" zijn handig om bits op hun plaats te houden.
  • Soldeerbout en soldeer.
  • Wat sloophout.
  • Een boormachine, met hetzelfde bit als uw LED's.

Opmerking: de 3D-tekeningen in deze tutorial zijn in minuten gemaakt TinkerCAD. Ik volgde een bestaande build gedetailleerd op Instructables per gebruiker forte1994, die u misschien ook wilt doorlezen voordat u dit probeert.

Zorg ervoor dat u al deze instructies doorleest eerste voordat u dit zelf probeert.

Het principe van dit ontwerp

Voordat u met de bouw begint, is het belangrijk om een ​​volledig overzicht te hebben van hoe dit ding gaat werken, zodat u kunt improviseren en fouten kunt identificeren terwijl u doorgaat. Sommige LED-kubussen gebruiken een enkele outputpin voor elke afzonderlijke LED - maar in een 4x4x4-kubus zou dat nodig zijn 64 pinnen - die we zeker niet hebben op een Arduino Uno. Een oplossing zou zijn om te gebruiken schuifregisters Arduino Programming - Spelen met schuifregisters (ook bekend als nog meer LED's)Vandaag probeer ik je een beetje te leren over Shift Registers. Dit is een vrij belangrijk onderdeel van Arduino-programmering, vooral omdat ze het aantal uitgangen dat je kunt gebruiken uitbreiden, in ruil voor ... Lees verder , maar dit is onnodig ingewikkeld.

Om al die LED's in slechts 20 pinnen te kunnen bedienen, gebruiken we een techniek die multiplexing wordt genoemd. Door de kubus in 4 afzonderlijke lagen op te splitsen, hebben we alleen controlepennen nodig voor 16 LED's - dus om een specifieke LED, we moeten zowel de laag als de controlepen activeren, wat ons een totale vereiste van 16 + 4 geeft pinnen. Elke laag heeft een gemeenschappelijke kathode - het negatieve deel van het circuit - dus alle negatieve benen zijn samengevoegd en verbonden met een enkele pin voor die laag.

Op de anode (positief) Elke led wordt aangesloten op de corresponderende led in de laag erboven en eronder. In wezen hebben we 16 kolommen van de positieve poten en 4 lagen van de negatieve. Hier zijn enkele 3D-weergaven van de verbindingen om u te helpen begrijpen:

arduino frequentie led
arduino led-lichtprogramma

Bouw

Omdat we geen volledig metalen structuur zullen gebruiken om op te solderen, willen we dat alle poten van de LED's ongeveer een kwart overlappen en de structuur stijf maken. Vouw de kathode van uw leds - de kant met de platte inkeping in het hoofd en het kortere been - om, zoals weergegeven in het diagram. (Het maakt niet echt uit of je hem naar links of naar rechts buigt, zolang je maar consistent bent en de anode nooit raakt)

arduino led-lichtprogramma

Het eerste kritische onderdeel van dit project is het maken van een houten mal. Deze houdt een laag leds vast terwijl je de poten aan elkaar soldeert, dus het moet nauwkeurig zijn en niet te los. Gebruik dezelfde boor van dezelfde grootte als uw LED's, meet en boor vervolgens een 4 × 4 matrix van op gelijke afstand gaten. Houd er rekening mee dat u ongeveer een kwart van het been met de buurman wilt laten overlappen en gebruik een echte liniaal. Controleer elk gat om er zeker van te zijn dat een LED goed past, maar niet zo strak dat je hem er niet meer uit kunt halen, anders krijg je problemen bij het verwijderen van een volledig gesoldeerde laag.

arduino led-lichtprogramma

Soldeer de kathodes van 4 rijen LED's. Pas op dat u de leds niet doorbrandt - u wilt een goed heet strijkijzer en in en uit zijn. Hier zijn mijn eerste vier rijen voltooid.

arduino leidde

Om de stijfheid van de laag te versterken, snijdt en soldeert u twee rechte stukjes ambachtelijke draad aan beide uiteinden en zorgt u ervoor dat ze op elke rij aansluiten. Dit is je eerste laag compleet. Laat alle overtollige benen voorlopig aan de zijkant uitsteken.

Het zou nu een goed moment zijn om te testen - laad gewoon de standaard Arduino blink-app, en met een weerstand aangesloten, leg de grond op het laagframe en druk om de beurt de positieve draad naar elke LED.

arduino leidde

Hopelijk lichten ze allemaal op. Zo niet, zorg er dan voor dat je niet zomaar ergens een soldeerverbinding hebt gemist en vervang indien nodig de LED.

Verwijder die laag van de mal en herhaal het proces Nog 3 keer.

Maak je geen zorgen als je soldeerwerk niet perfect is - zolang het niet gaat breken en de verbinding stevig is, heeft het geen invloed op het eindproduct. Ik geef toe, mijn solderen was vrij hopeloos, mijn mal was uit en het leek allemaal op de scheve toren van Pisa. Toch ben ik trots op de voltooide kubus en als de LED's branden, kijk je sowieso niet naar de soldeerverbindingen!

Samenvoegen van lagen

Zodra je vier voltooide lagen hebt, wil je alle verticale poten samenvoegen. Ik vond dit het moeilijkste deel van de build en om het proces te helpen heb ik een riser uit de kaart gesneden.

arduino leidde

Hierdoor bleven de lagen op de juiste hoogte, maar veel van de benen zouden nog steeds niet perfect uitlijnen - hiervoor heb ik een aantal krokodillenklemmen gebruikt om ze op hun plaats te houden.

Hoe maak je een pulserende Arduino LED-kubus die eruitziet alsof hij uit de toekomst kwam, veilige verticale benen met krokodillenklemmen

1e dwaze fout om te vermijden

Pas na het voltooien van een volledige laag realiseerde ik me dat mijn kaartverhoger op zijn plaats zat, dus ik moest hem uitknippen! Maak niet dezelfde fout die ik heb gemaakt: maak de riser aan de zijkant langer en voeg de stukjes kaart samen buiten de kubus, dus als je de laag hebt voltooid, kun je de riser deconstrueren en de kaart.

Hoe maak je een pulserende Arduino LED-kubus die eruitziet alsof hij uit de toekomst kwam, kaartmallaag 3

2e dwaze fout om te vermijden

Soldeer het verticale been natuurlijk niet aan het kathodeframe. Verticale poten mogen alleen worden aangesloten op andere verticale poten en niets anders.

Test opnieuw nadat elke laag is aangebracht. Test alle lagen, in feite alleen door de positieve draad naar de punt van de bovenste laag aan te raken, zodat je zeker weet dat je goed contact hebt door alle lagen heen.

Toen alle 4 lagen aan elkaar waren gesoldeerd, begon ik een beetje op te ruimen - ik liet een enkele poot achter uitgebreid uit elke laag op een soort springplank manier - dit zou worden neergelaten op de board later. Andere vreemde stukjes metalen frame en poten werden afgesneden. Snijd natuurlijk geen van de verticale poten - we moeten deze in ons protoytpingbord steken.

Hoe maak je een pulserende Arduino LED-kubus die eruitziet alsof hij uit de toekomst kwam? 4 lagen compleet en netjes verwijderd

Bevestiging aan het bord

Weet je nog dat ik zei dat het bevestigen van elke laag aan zichzelf het moeilijkste was? Ik loog. Het is eigenlijk moeilijker om 16 LED-poten in kleine gaatjes op een prototypebord te passen. De gemakkelijkste manier die ik vond, was om met 4 tegelijk door te steken, ze eronder vast te maken met krokodillenklemmen en vervolgens door te gaan naar de volgende rij van 4. Gebruik een markeerstift om vooraf de afstand te markeren als dit helpt.

Hoe maak je een pulserende Arduino LED-kubus die eruitziet alsof hij uit de toekomst kwam, in protoboard

Achteraf gezien zou ik eigenlijk eerst de weerstanden in het protoboard hebben geplaatst. Zoals het is, soldeerde ik eerst alle poten van de kubus in het bord en probeerde ik vervolgens voorzichtig de weerstanden tussen elke poot in te drukken. Leer van mijn fout en plaats eerst je weerstanden.

Ik probeerde ze stapsgewijs gelijk te verdelen, zodat ik een hele kant van de kubus kon gebruiken voor alle laatste verbindingen met de Arduino. Dit is het schakelschema waarmee ik ben gegaan:

Hoe maak je een pulserende Arduino LED-kubus die eruitziet alsof hij uit de toekomst kwam?

Voor de vier negatieve lagen liet ik een enkele draad van elke laag naar beneden vallen en trok ze vervolgens gewoon opzij, als volgt:

Hoe maak je een pulserende Arduino LED-kubus die eruitziet alsof hij uit de toekomst kwam uit kathodes van de bovenste trap

Ten slotte heb ik enkele plugdraden toegevoegd die ik vervolgens in de relevante Arduino-pinnen kon plaatsen. Gebruik de langste soort die je hebt. Opmerking Ik heb de bestelling op plaatsen verpest vanwege een slechte planning. Elke rij LED's had echter een kleurcode.

Hoe maak je een pulserende Arduino LED-kubus die eruitziet alsof hij uit de toekomst kwam bedrading aan de onderkant

Dat is het. Afgewerkt!

Hoe maak je een pulserende Arduino LED-kubus die eruitziet alsof hij uit de toekomst kwam? 4x4x4 led-kubus klaar

Uw kubus programmeren

Ik weet dat je niet kunt wachten om dit ding op gang te krijgen, dus sluit de 4 negatieve lagen aan Analoge I / O poorten A2 (onderste laag) door A5 (toplaag)(deze kunnen ook fungeren als digitale I / O). Sluit vervolgens de 16 LED-controlepennen aan, te beginnen met +1 uiterst rechts naar digitale I / O poort 0, met +15 en +16 analoog gaan A0 en A1. (Gebruik GEEN AREF en GND)

arduino frequentie led

Download de demo patronen en code van instructable gebruiker forte1994. Hij heeft ook een handige online tool voor het ontwerpen van de bytepatronen om uw eigen volgorde aan te passen. Hier is een video van deze code in actie op mijn kubus (Ik heb de snelheid aangepast naar 5, in plaats van de standaard 20).

Dit is natuurlijk niet de enige manier om je kubus te programmeren, dus laat me je een paar minuten de basis leren van het maken van je eigen patronen programmatisch, in plaats van vooraf ingestelde patronen af ​​te spelen zoals in de bovenstaande demo.

Er zijn een paar dingen die u moet weten wanneer u probeert uw kubus te programmeren:

  1. Om een ​​enkele LED aan te pakken, gebruikt u a vlak (laag) nummer 0–3 en een LED-pin nummer 0–15. Draai het vliegtuig naar LOW output (aangezien dit het negatieve been is) en het LED pin nummer HIGH (het positieve been) om de LED te activeren.
  2. Voordat u een enkele LED activeert, moet u ervoor zorgen dat alle andere vliegtuigen zijn uitgeschakeld - dat betekent dat u ze op HOGE output moet instellen. Als u dit niet doet, wordt er een kolom met LED's verlicht in plaats van een enkele LED.

Met dat in gedachten heb ik twee heel eenvoudige programmatische reeksen gemaakt om te onderzoeken - download de code vanaf hier. De eerste verlicht eenvoudig elke LED één voor één, in volgorde. We gebruiken hiervoor twee for-lussen, itererend over elke laag en elke controlepen.

De tweede is een willekeurige lus (je moet de eerste becommentariëren en dit in de hoofdlus inschakelen om het te testen). Het kiest gewoon een willekeurige laag en een willekeurige controlepen, die ze aan en uit flitsen.

Samenvatting

Laat je niet intimideren door deze build - ik heb een ernstig gebrek aan soldeervaardigheden en het is me gelukt (I denk?). De totale bouwtijd was een uur of zo een dag voor een week. De volgende keer probeer ik je wat meer ambitieuze programmering voor de kubus te leren, dus ik hoop dat je deze week samen met mij je eigen kubus gaat bouwen en volgende week een nieuwe code laden - en als je je eigen geweldige apps of reeksen maakt, upload ze dan naar Pastebin en laat het ons weten in de opmerkingen!

James heeft een BSc in Artificial Intelligence en is CompTIA A + en Network + gecertificeerd. Hij is de hoofdontwikkelaar van MakeUseOf en brengt zijn vrije tijd door met het spelen van VR paintball en bordspellen. Hij bouwt al pc's sinds hij een kind was.