Inhoudsopgave:

3x3x3 LED-kubus met Arduino Lib - Ajarnpa
3x3x3 LED-kubus met Arduino Lib - Ajarnpa

Video: 3x3x3 LED-kubus met Arduino Lib - Ajarnpa

Video: 3x3x3 LED-kubus met Arduino Lib - Ajarnpa
Video: Binair counting 3x3x3 LED cube 2024, Juli-
Anonim
3x3x3 LED-kubus met Arduino Lib
3x3x3 LED-kubus met Arduino Lib

Er zijn andere Instructables over het bouwen van LED-kubussen, deze is om verschillende redenen anders: 1. Het is gebouwd met een klein aantal kant-en-klare componenten en sluit rechtstreeks aan op de Arduino. 2. Een duidelijk, gemakkelijk te reproduceren schakelschema is voorzien van veel foto's. 3. Voor de software wordt een unieke aanpak gebruikt die het programmeren van de kubus eenvoudiger en expressiever maakt. Benodigde onderdelen: - 1 perfboard - 3 NPN-transistoren (2N2222, 2N3904, BC547, etc.) - 12 weerstanden (~220 ohm en ~10k ohm) - 13 headers (mannelijk of vrouwelijk) - 27 LED's - draad

Stap 1: Bereid de LED's voor

Bereid de LED's voor
Bereid de LED's voor
Bereid de LED's voor
Bereid de LED's voor

Deze stap volgt grotendeels de LED Cube 4x4x4, maar in plaats daarvan bouwen we een 3x3x3 kubus. Een kubus van deze grootte is ongeveer zo groot als mogelijk zonder extra circuits en complexiteit te introduceren. We hebben in totaal 27 LED's nodig die zullen worden gegroepeerd in drie sets van negen. Elke set van negen LED's zal een gemeenschappelijke verbinding delen tussen hun kathodes (negatieve draden). Ik zal naar elk van deze sets verwijzen als een "niveau". Elk van de negen LED's op een niveau is via hun anodes (positieve draden) verbonden met de overeenkomstige LED op de andere twee niveaus. Deze worden "kolommen" genoemd. Als dat niet logisch was, wordt het vanzelf duidelijk als we de kubus bouwen. Om te beginnen gebruiken we een boormachine om een mal te maken uit een klein stukje afvalhout. De mal houdt de LED's op hun plaats terwijl we ze solderen. Ik besloot om de gaten ongeveer 5/8 inch uit elkaar te plaatsen (~ 15 mm), maar de exacte afstand is niet kritisch. Het gat moet goed om de LED passen, omdat we niet willen dat ze bewegen tijdens het solderen. Als de mal klaar is, buigen we de kathode van elke LED in een hoek van 90 graden. De kathode is op drie manieren herkenbaar: 1) Het is het kortere been, 2) Het zit aan de platte kant van een ronde LED, 3) het is verbonden met het grotere stuk in de LED. Zorg ervoor dat u de kathode voor alle LED's in dezelfde richting buigt. Nu zijn we klaar om te beginnen met solderen.

Stap 2: Soldeer de LED's

Soldeer de LED's
Soldeer de LED's
Soldeer de LED's
Soldeer de LED's
Soldeer de LED's
Soldeer de LED's
Soldeer de LED's
Soldeer de LED's

Plaats eerst negen van de LED's in uw nieuw gebouwde mal. Plaats ze zo dat de poten in dezelfde richting tegen de klok in wijzen. De foto's tonen de kathode die met de klok mee wijst met de anode naar buiten gericht, maar ik zou de LED's omdraaien als ik het nog een keer zou doen om te voorkomen dat de poot het zicht op de LED belemmert. Soldeer de zijkanten aan elkaar, één paar aan elke kant. Gebruik kleine clips om de poten bij elkaar te houden tijdens het aanbrengen van het soldeer. Zodra elk van de vier zijden is gesoldeerd, verplaatst u de clips om de hoeken bij elkaar te houden en brengt u soldeer op elk aan. Soldeer tot slot de kathode van de middelste LED aan een van de zijkanten en knip het overtollige weg. Herhaal drie keer. U zou nu drie sets van negen LED's moeten hebben. Plaats twee van de sets op elkaar. Houd de afstand gelijk aan de afstand die al tussen de LED's is vastgesteld. Als u eenmaal vertrouwd bent met de afstand, kunt u elke set poten vastklemmen met twee clips, één in elke richting, om de poten stevig op hun plaats te houden tijdens het solderen. Mogelijk moet u zich om een LED buigen om een goede verbinding te krijgen. Soldeer elk van de negen paren één voor één. Doe dit nog een keer en je bent klaar met de kubus. Plaats de kubus aan één kant van het perfboard. Zorg ervoor dat de negen poten gelijkmatig uit elkaar staan terwijl je ze allemaal door een gat leidt. Mijn bord heeft vijf gaten tussen elke set poten. Aan de andere kant van de perfboard wil je zoveel mogelijk ruimte laten voor de verschillende onderdelen. Voeg een paar clips toe om de poten op hun plaats te houden zodra u tevreden bent met de positionering. Laat voldoende been door de bodem steken, omdat dit het later gemakkelijker maakt om de weerstanden te solderen. Draai het bord om en soldeer elk van de poten om ze op hun plaats te houden. Draai de kubus terug om zodra alle poten zijn gesoldeerd. Ten slotte moeten we een draad van elk van de niveaus door de onderkant van het bord solderen. Strip een stuk stevige draad en buig een kleine haak aan het ene uiteinde. Hang de haak aan een van de middelste led-poten en leid deze door een gat op de perfboard. Soldeer het haakuiteinde om de draad op zijn plaats te houden. Herhaal dit nogmaals voor de andere twee niveaus. De volgende stap is om de rest van het circuit te bouwen.

Stap 3: Bouw het circuit

Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit

De schakeling is vrij eenvoudig. Elk van de negen kolommen wordt via een stroombeperkende weerstand verbonden met een pin op de Arduino. Elk van de drie niveaus maakt verbinding met aarde via een NPN-transistor wanneer geactiveerd door een Arduino-pin. We zullen in totaal 12 uitgangspinnen gebruiken op de Arduino, maar er zijn 18 LED's om van stroom te voorzien. De truc is dat er maar één niveau tegelijk kan worden verlicht. Wanneer een niveau is verbonden met aarde, kan elk van de LED's op dat niveau afzonderlijk worden gevoed via een van de negen andere Arduino-pinnen. Als we de niveaus snel genoeg aansteken, zal het lijken alsof alle drie de niveaus tegelijkertijd branden. Laten we het circuit bouwen. De eerste stap is het voorbereiden van de negen stroombeperkende weerstanden. Ik gebruik 220 ohm per pin die ongeveer 22mA zal trekken. De waarde kan variëren afhankelijk van de gebruikte LED's, maar blijft tussen ongeveer 135 en 470 ohm. Elke pin kan tot 40mA leveren. Om ruimte te besparen willen we de weerstanden verticaal solderen. Buig een draad naar beneden zodat beide draden evenwijdig aan elkaar zijn. Doe dit voor alle negen weerstanden. Als de weerstanden klaar zijn, gaan we ze één voor één solderen. Om het gemakkelijk te maken gaan we de weerstandsdraden rechtstreeks aan de andere componenten solderen in plaats van voor elk een aparte draad te gebruiken. Het ene uiteinde van de weerstand wordt aangesloten op een kolom en het andere uiteinde op een header. Begin met de eerste rij LED's die zich het dichtst bij de weerstanden bevindt en werk terug. Zodra elke rij is voltooid, kunt u een klein stukje tape gebruiken om de overlappende draden te isoleren om kortsluiting te voorkomen. Raadpleeg de foto's en het diagram om te zien hoe dit eruit zal zien als het klaar is. Nu de kolommen uit de weg zijn, is de volgende stap het solderen van de componenten die de niveaus regelen. De basis van een NPN-transistor wordt geactiveerd door een Arduino-pin via een stroombegrenzende weerstand van 10k (of daaromtrent). Dit verbindt het overeenkomstige niveau met aarde, waardoor stroom door de LED's kan stromen. Raadpleeg de foto's en het diagram. Eenmaal voltooid, moeten de LED's worden aangesloten op pinnen 2-10 op de Arduino en moeten de niveaus worden aangesloten op pinnen 11-13, van onder naar boven. De pinnen zijn ook configureerbaar in de software als je een andere setup nodig hebt. Het circuit is nu compleet, tijd om verder te gaan met de software!

Stap 4: De software gebruiken

De software gebruiken
De software gebruiken
De software gebruiken
De software gebruiken

Ik vond een paar codevoorbeelden die rondzweven op het net voor het besturen van een LED-kubus. Ze hadden allemaal grote reeksen binaire of hex-gegevens nodig om de LED's te besturen. Ik dacht dat er een eenvoudigere manier moest zijn, dus begon ik mijn eigen software te schrijven. Mijn eerste beslissing was om de software de hardware te laten spiegelen. Dat betekende dat elke LED per kolom en niveau moest worden geadresseerd in plaats van onbewerkte poortgegevens of de traditionele x, y, z. De tweede beslissing was om te beginnen met basisfuncties, zoals een enkel licht aan of uit doen, en van daaruit verder op te bouwen. Ten slotte heb ik besloten om twee functies te introduceren die nuttig zijn voor interessantere effecten. Een daarvan is een buffer waarmee de basisfuncties complexere patronen kunnen opbouwen. De andere is een sequentiefunctie die een reeks LED's één voor één of allemaal tegelijk verlicht. De bibliotheek begon als procedurele code en losse functies. Vanaf daar was het heel eenvoudig om de tutorial te volgen om een herbruikbare Arduino-bibliotheek te maken. Zorg ervoor dat u de bibliotheek downloadt en uitpakt naar schetsboek/bibliotheken. Indien correct ingesteld, zou u een voorbeeld moeten vinden in de Arduino-software onder Bestand > Voorbeelden > LedCube > ledcube. De code is ook beschikbaar op Github op gzip/arduino-ledcube. Bedankt voor het lezen!

Aanbevolen: