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

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

Als je hebt geploeterd met een aantal Arduino-projecten voor beginners, maar op zoek bent naar iets een beetje permanent en op een heel ander niveau van geweldig, 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 behulp van multiplexing kunnen we alle LED's rechtstreeks vanaf slechts een enkel Arduino Uno-bord besturen. Het is een geweldige soldeeroefening en de totale kosten van componenten mogen niet meer dan ongeveer $ 40 bedragen.





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





hoe hdr windows 10 aan te zetten

Je zal nodig hebben

  • EenArduino. De meegeleverde code gaat uit van een Arduino Uno, maar kan ook worden aangepast aan een groter model.
  • 64 LED's - 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 kocht 99 pence 100 hiervan. Gebruik maken van ledcalc.com - voer 5v in voor de voedingsspanning, de spanning van de LED's (in mijn geval 3.2) en de stroom in milliampère (3.2). Uw gewenste weerstand wordt weergegeven in het vak met het label Dichtstbijzijnde hogere nominale weerstand: en zoek vervolgens naar die waarde op eBay.
  • Sommige ambachtelijke draad om de basisstructuur te versterken en voor decoratie - ik gebruikte 0,8 mm dikte.
  • TOT prototype bord van een soort waar je al je stukjes aan kunt solderen. Ik heb er een gebruikt die geen volledige rupsbanden had, omdat ik geen rupsbandknipper heb, maar gebruik wat bij je past. Een Arduino-prototyping-schild is echter iets te klein, tenzij je je LED's echt samenknijpt.
  • Willekeurige componentdraad - sommige netwerkkabelstrengen en sommige prototyping-draden uit een kit werken prima.
  • Krokodillenklemmen of helpende handen zijn handig om bits op hun plaats te houden.
  • Soldeerbout en soldeer.
  • Wat sloophout.
  • Een boormachine, met dezelfde maat bit als uw LED's.

Opmerking: de 3D-tekeningen in deze tutorial zijn in enkele minuten gemaakt met behulp van TinkerCAD . Ik volgde een bestaande build gedetailleerd op Instructables door gebruikerforte1994, die u misschien ook wilt doorlezen voordat u dit probeert.





Zorg ervoor dat u al deze instructies leest eerst voordat u dit zelf probeert.

Het principe van dit ontwerp:

Voordat u begint met bouwen, 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 bezig bent. Sommige LED-kubussen gebruiken een enkele uitgangspin 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 schuifregisters te gebruiken, maar dit is onnodig ingewikkeld.



Om al die LED's in slechts 20 pinnen te besturen, gebruiken we een techniek die multiplexing wordt genoemd. Door de kubus op te splitsen in 4 afzonderlijke lagen, hebben we alleen controlepinnen nodig voor 16 LED's - dus om een ​​specifieke LED te verlichten, moeten we zowel de laag als de controlepin activeren, waardoor we in totaal 16+4 pinnen nodig hebben. Elke laag heeft een gemeenschappelijke kathode - het negatieve deel van het circuit - dus alle negatieve benen zijn met elkaar verbonden en verbonden met een enkele pin voor die laag.

op de anode (positief) zijde wordt elke LED verbonden met de corresponderende LED in de laag erboven en eronder. In wezen hebben we 16 kolommen van de positieve benen en 4 lagen van de negatieve. Hier zijn enkele 3D-weergaven van de verbindingen om u te helpen begrijpen:





Bouw

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

Het eerste cruciale onderdeel van dit project is het maken van een houten mal. Dit houdt een laag LED's vast terwijl u de poten aan elkaar soldeert, dus het moet nauwkeurig en niet te los zijn. Gebruik dezelfde maat boor als uw LED's, meet uit en boor vervolgens een 4x4 matrix van gelijke afstand gaten. Houd er rekening mee dat je ongeveer een kwart van het been wilt overlappen met zijn buurman, en gebruik een echte liniaal. Controleer elk gaatje 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.





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

Nu, om de stijfheid van de laag te versterken, knip en soldeer je twee rechte stukjes knutseldraad aan beide uiteinden, en zorg ervoor dat ze op elke rij aansluiten. Dit is je eerste laag compleet. Laat alle overtollige benen voorlopig aan de zijkant uitsteken.

Dit zou een goed moment zijn om te testen - laad gewoon de standaard Arduino-knipper-app, en met een aangesloten weerstand, plaats de grond op het laagframe en druk om de beurt op de positieve kabel naar elke LED.

Hopelijk lichten ze allemaal op. Zo niet, zorg dan dat je niet ergens een soldeerpunt hebt gemist en vervang zo 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 kapot gaat en de verbinding stevig is, heeft dit geen invloed op het eindproduct. Ik geef toe, mijn soldeerwerk was behoorlijk 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 toch niet naar de soldeerverbindingen!

Lagen samenvoegen

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

Hierdoor bleven de lagen op de juiste hoogte, maar veel van de poten zouden nog steeds niet perfect uitgelijnd zijn - hiervoor gebruikte ik enkele krokodillenklemmen om ze op hun plaats te houden.

1e domme fout om te vermijden

Pas nadat ik een volledige laag had voltooid, realiseerde ik me dat mijn kaartverhoger op zijn plaats zat, dus ik moest hem uitknippen! Maak niet dezelfde fout als ik - maak de riser aan de zijkant langer en voeg de stukken kaart buiten de kubus samen, dus als je de laag hebt voltooid, kun je de riser deconstrueren en de kaart eruit trekken.

2e domme 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, raak alleen de positieve draad aan op de punt van de bovenste laag, zodat je zeker weet dat je goed contact hebt door alle lagen.

Toen alle 4 lagen aan elkaar waren gesoldeerd, begon ik een beetje op te ruimen - ik liet een enkele poot uit elke laag steken op een soort springplank - dit zou later op het bord worden neergezet. Andere vreemde stukjes metalen frame en poten werden afgesneden. Knip natuurlijk geen van de verticale poten af ​​- we moeten deze in ons prototypebord plaatsen.

Bevestiging aan het bord

Weet je nog dat ik zei dat het moeilijkste was om elke laag aan zichzelf te bevestigen? 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 er 4 tegelijk door te prikken, ze eronder vast te zetten met krokodillenklemmen en dan door te gaan naar de volgende rij van 4. Gebruik een markeerstift om de afstand van tevoren te markeren als dat helpt.

Achteraf gezien had ik eigenlijk eerst de weerstanden in het protoboard geplaatst. Zoals het is, heb ik eerst alle poten van de kubus in het bord gesoldeerd en vervolgens geprobeerd om er voorzichtig weerstanden tussen te persen. Leer van mijn fout en plaats eerst je weerstanden.

Ik probeerde ze op een stapsgewijze manier gelijkmatig te verdelen, zodat ik een hele kant van de kubus kon gebruiken voor alle laatste verbindingen met de Arduino. Hier is het schakelschema waarmee ik ging:

Voor de vier negatieve lagen liet ik een enkele draad uit elke laag vallen en trok ze vervolgens naar de zijkant, zoals dit:

Ten slotte heb ik wat 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 sommige plaatsen verprutst vanwege een slechte planning. Elke rij LED's had echter een kleurcode.

Dat is het. Afgewerkt!

Uw kubus programmeren

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

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 reeks 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) .

ik heb een telefoon gevonden, maar deze is vergrendeld, hoe ontgrendel ik deze?

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

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

  1. Om een ​​enkele LED te adresseren, gebruik je a vlak (laag) nummer 0-3, en een LED-pin nummer 0-15. Draai het vliegtuig naar LOW output (aangezien dit de negatieve poot is) en het LED-pinnummer HIGH (de positieve poot) om de LED te activeren.
  2. Voordat u een enkele LED activeert, moet u ervoor zorgen dat alle andere vlakken uit zijn - dat betekent dat ze op HIGH output moeten worden ingesteld. Als u dit niet doet, wordt een kolom met LED's verlicht in plaats van een enkele LED.

Met dat in gedachten heb ik twee zeer eenvoudige programmatische sequenties gemaakt die je kunt onderzoeken - download de code van hier . De eerste verlicht eenvoudigweg elke LED één voor één, in volgorde. We gebruiken hiervoor twee for-lussen, waarbij we elke laag en elke controlepin herhalen.

De tweede is een willekeurige lus (je moet de eerste becommentariëren en deze in de hoofdlus inschakelen om deze te testen). Het kiest gewoon een willekeurige laag en een willekeurige controlepin, en flitst ze aan en uit.

Samenvatting

Laat je niet intimideren door deze build - ik heb een serieus gebrek aan soldeervaardigheden, en het is me goed gelukt (I denk?) . De totale bouwtijd was een uur of zo per dag voor een week. De volgende keer zal ik proberen je wat ambitieuzer programmeren voor de kubus te leren, dus ik hoop dat je deze week samen met mij je eigen kubus bouwt en volgende week wat nieuwe code laadt - en als je er zelf een maakt geweldige apps of reeksen, upload ze naar Pastebin en laat het ons weten in de reacties!

Deel Deel Tweeten E-mail 3 manieren om te controleren of een e-mail echt of nep is

Als je een e-mail hebt ontvangen die er een beetje dubieus uitziet, is het altijd het beste om de authenticiteit ervan te controleren. Hier zijn drie manieren om te zien of een e-mail echt is.

Lees volgende
Gerelateerde onderwerpen
  • doe-het-zelf
  • Arduino
Over de auteur James Bruce(707 artikelen gepubliceerd)

James heeft een BSc in Artificial Intelligence en is CompTIA A+ en Network+ gecertificeerd. Als hij het niet druk heeft als redacteur van hardwarerecensies, geniet hij van LEGO, VR en bordspellen. Voordat hij bij MakeUseOf kwam, was hij lichttechnicus, leraar Engels en datacenteringenieur.

Meer van James Bruce

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren