Inhoudsopgave:

LED Cube 4x4x4: 11 stappen (met afbeeldingen)
LED Cube 4x4x4: 11 stappen (met afbeeldingen)

Video: LED Cube 4x4x4: 11 stappen (met afbeeldingen)

Video: LED Cube 4x4x4: 11 stappen (met afbeeldingen)
Video: Artık Herkes TürkDuino UNO R4 V2 Üretebilecek 2024, Juli-
Anonim
LED Kubus 4x4x4
LED Kubus 4x4x4
LED Kubus 4x4x4
LED Kubus 4x4x4
LED Kubus 4x4x4
LED Kubus 4x4x4

Verbazingwekkende 3 dimensionale LED-display. 64 LED's vormen deze kubus van 4 bij 4 bij 4, bestuurd door een Atmel Atmega16-microcontroller. Elke LED kan afzonderlijk worden aangesproken in de software, waardoor hij verbluffende 3D-animaties kan weergeven! 8x8x8 LED-kubus nu beschikbaar, op veler verzoek:

Stap 1: Wat je nodig hebt

Wat je nodig hebt
Wat je nodig hebt

Allereerst heb je behoorlijk wat tijd nodig om 64 leds aan elkaar te solderen;) Kennislijst:

  • Basis elektronica en soldeervaardigheden
  • Weet hoe je een AVR-microcontroller programmeert - dat zal ik in deze instructable niet behandelen.

Componentenlijst:

  • Protobord. Het type met koperen cirkels.
  • Atmel AVR Atmega16-microcontroller
  • Programmeur om de Atmega16. te programmeren
  • 64 Leds
  • 2 statusleds. Ik gebruikte rood en groen. (optioneel)
  • Max232 rs-232-chip of gelijkwaardig.
  • 16 weerstanden voor leds. (100-400ohm) komt hier op terug.
  • 2x weerstand 470 ohm. voor statusleds
  • 1x weerstand 10k
  • 4x weerstand 2.2k
  • 4x NPN-transistor BC338 (of andere transistor die 250-achtige mA kan schakelen)
  • 1x 10uF condensator
  • 1x 1000uF condensator
  • 6x 0.1uF keramische condensator
  • 2x 22pF keramische condensator
  • 1x kristal 14,7456 MHz
  • 2x voelbare knop
  • optionele pwr-schakelaar
  • aansluiting voor 12v stroom
  • optionele connector voor 5v stroom

Stap 2: Multiplexen

Multiplexen
Multiplexen
Multiplexen
Multiplexen

Hoe 64 LED's aan te sturen zonder 64 afzonderlijke draden te gebruiken? Multiplexen!

Een draad naar de anode van elke led leiden zou natuurlijk onpraktisch zijn en er erg slecht uitzien. Een manier om dit te omzeilen, is door de kubus in 4 lagen van 16x16 LED's te splitsen. Alle LED's uitgelijnd in een verticale kolom delen een gemeenschappelijke anode (+). Alle LED's op een horizontale laag delen een gemeenschappelijke kathode (-). Als ik nu de LED in de linkerbovenhoek achterin wil laten oplichten (0, 0, 3), geef ik gewoon GND (-) aan de bovenste laag en VCC (+) aan de kolom in de linkerhoek. Als ik maar één led per keer wil laten branden, of alleen meer dan één laag tegelijk wil laten branden, werkt dit prima. Als ik echter ook de rechterbenedenhoek vooraan wil verlichten (3, 3, 0), loop ik tegen problemen aan. Als ik GND aan de onderste laag en VCC aan de linkerkolom vooraan geef, laat ik ook de led rechtsboven vooraan (3, 3, 3) branden en de led linksonder achteraan (0, 0, 0). Dit ghosting-effect is onmogelijk te omzeilen zonder 64 afzonderlijke draden toe te voegen. De manier om er omheen te werken is om slechts één laag tegelijk te verlichten, maar doe het zo snel dat het oog niet herkent dat er maar één laag tegelijk brandt. Dit is gebaseerd op een fenomeen dat Persistentie van het gezichtsvermogen wordt genoemd. Elke laag is een 4x4 (16) afbeelding. Als we 4 16 led-afbeeldingen één voor één flitsen, heel snel, krijgen we een 4x4x4 3D-afbeelding!

Stap 3: De kubus, sjabloon maken

De kubus, sjabloon maken
De kubus, sjabloon maken
De kubus, sjabloon maken
De kubus, sjabloon maken
De kubus, sjabloon maken
De kubus, sjabloon maken

Soldeerroosters van 4x4 LED's uit de vrije hand zouden er vreselijk uitzien! Om 4 perfecte 4x4 roosters van LED's te krijgen, gebruiken we een sjabloon om ze op hun plaats te houden. Ik wilde de kubus zo gemakkelijk mogelijk maken, dus ik koos ervoor om de LED's te gebruiken zoveel mogelijk eigen benen. De afstand tussen de lijnen in het raster werd bepaald door de lengte van de led-poten. Ik ontdekte dat 25 mm (ongeveer een inch) de optimale afstand was tussen elke led (tussen het midden van elke led dus!) om solderen mogelijk te maken zonder draad toe te voegen of door te knippen.

  • Zoek een stuk hout dat groot genoeg is om een 4x4 raster van 2,5 cm op te maken.
  • Teken een 4x4 raster van lijnen.
  • Maak deuken in alle kruispunten met een centerpons.
  • Zoek een boor die de gaten klein genoeg maakt zodat de led stevig op zijn plaats blijft, en groot genoeg zodat de led er gemakkelijk uit kan worden getrokken (zonder de draden te buigen…).
  • Boor de 16 gaten.
  • Je ledcube-sjabloon is klaar.

Stap 4: De kubus maken, de lagen solderen

De kubus maken, de lagen solderen
De kubus maken, de lagen solderen
De kubus maken, de lagen solderen
De kubus maken, de lagen solderen
De kubus maken, de lagen solderen
De kubus maken, de lagen solderen

We maken de kubus in 4 lagen van 4x4 leds en solderen ze vervolgens aan elkaar. Maak een laag:

  • Plaats de LED's langs de achterkant en langs een kant en soldeer ze aan elkaar
  • Plaats nog een rij LED's en soldeer ze aan elkaar. Doe één rij tegelijk om plaats te maken voor de soldeerbout!
  • Herhaal bovenstaande stap nog 2 keer.
  • voeg kruisverband toe aan de voorkant waar de led-rijen niet zijn aangesloten.
  • Herhaal 4 keer.

Stap 5: De kubus maken, de lagen verbinden

De kubus maken, de lagen verbinden
De kubus maken, de lagen verbinden
De kubus maken, de lagen verbinden
De kubus maken, de lagen verbinden
De kubus maken, de lagen verbinden
De kubus maken, de lagen verbinden

Nu we die 4 lagen hebben, hoeven we ze alleen nog maar aan elkaar te solderen.

Zet een laag terug in de sjabloon. Dit wordt de bovenste laag, dus kies de mooiste:) Leg er nog een laag bovenop en lijn een van de hoeken precies 25 mm uit (of welke afstand je ook in je raster hebt gebruikt) boven de eerste laag. Dit is de afstand tussen de kathodedraden. Houd de hoek met een helpende hand op zijn plaats en soldeer de hoekanode van de eerste laag aan de hoekanode van de tweede laag. Doe dit voor alle hoeken. Controleer of de lagen in alle dimensies perfect zijn uitgelijnd. Zo niet een beetje buigen om aan te passen. Of opnieuw solderen van het is de hoogte afstand die eraf is. Als ze perfect zijn uitgelijnd, soldeert u de resterende 12 anodes aan elkaar. Herhaal 3 keer.

Stap 6: Weerstandswaarden kiezen

Weerstandswaarden kiezen
Weerstandswaarden kiezen
Weerstandswaarden kiezen
Weerstandswaarden kiezen

Er zijn twee dingen om in gedachten te houden bij het kiezen van een weerstandswaarde voor uw leds.

1) De LED's 2) De AVR De AVR heeft een maximale gecombineerde stroomsterkte van 200 mA. Dit geeft ons 12mA om mee te werken per LED. U wilt ook de maximale stroomsterkte van uw leds niet overschrijden. Ik gebruikte 220 ohm weerstanden op mijn kubus. Dit gaf me ongeveer 12mA per led.

Stap 7: de controller

De controller
De controller
De controller
De controller
De controller
De controller

De circuits die de led-kubus besturen, worden beschreven in de bijgevoegde schematische afbeelding.

De RS-232-interface is optioneel. en kan worden weggelaten. Dat is IC2 en alle daarop aangesloten componenten. Toekomstige firmwares zullen pc-communicatie mogelijk maken. Begin met het leggen van alle componenten op uw printplaat in een lay-out die alle componenten in staat stelt om verbinding te maken met een minimaal aantal draden. Als alles past, soldeert u de schakeling. Ik zal hier geen instructies meer over geven, omdat het circuit er waarschijnlijk heel anders uit zal zien van kubus tot kubus, afhankelijk van de grootte van de printplaat enz. stap.

Stap 8: Sluit de kubus aan

Sluit de kubus aan
Sluit de kubus aan
Sluit de kubus aan
Sluit de kubus aan
Sluit de kubus aan
Sluit de kubus aan

Foto's verklaren dit beter dan woorden. Zie de foto's.

Stap 9: compileren en programmeren

Je hebt nu een led-kubus. Om er gebruik van te maken, heeft het wat software nodig. Ik heb een stuurprogramma gemaakt voor het weergeven van een 3D-gegevensruimte op de kubus en functies om een aantal coole visuele effecten op de kubus weer te geven. Je kunt mijn code gebruiken, je eigen code schrijven of erop bouwen mijn code en maak meer effecten. Als je je eigen effecten maakt, stuur me dan de code. Ik ben benieuwd wat jullie maken! Om het programma te compileren. Open gewoon een opdrachtprompt, voer de map in met het broncodetype "make" op de opdrachtregel. Als u een ATMega32 wilt gebruiken in plaats van de ATMega16, wijzigt u gewoon de mcu-instelling in de Makefile en hercompileert u (type make). Als je de m32 gebruikt en deze stap niet uitvoert, zal de kubus niet goed opstarten (de rode en groene lampjes blijven eeuwig knipperen). Je zou nu een bestand met de naam main.hex in de bronmap moeten hebben. De volgende stap zal je laten zien hoe je die code in je kubus kunt krijgen.

Stap 10: Programmeer de microcontroller

Programmeer de microcontroller
Programmeer de microcontroller
Programmeer de microcontroller
Programmeer de microcontroller
Programmeer de microcontroller
Programmeer de microcontroller

Als u problemen ondervindt met de snelheid en/of sommige LED's niet oplichten. Lees deze stap aandachtig door. Om de microcontroller te programmeren, gebruik ik avrdude en de USBTinyISP-programmer.

  • https://savannah.nongnu.org/projects/avrdude/
  • https://www.ladyada.net/make/usbtinyisp/
  • https://www.adafruit.com/index.php?main_page=index&cPath=16

Mijn voorbeelden zullen op een Ubuntu Linux-systeem staan. De procedure zou op Windows vrijwel identiek moeten zijn, maar daar kan ik je niet mee helpen. Als je een andere programmeur gebruikt, lees dan de handleiding van die programmer en probeer het. Laten we eerst eens kijken of we contact kunnen maken met de AVR. Verbind de programmer met je kubus en je computer. Het commando is "avrdude -c usbtiny -p m16", waarbij -c de programmer aangeeft, en -p het AVR-model. Je kunt de uitvoer in de onderstaande afbeeldingen zien. Upload nu de firmware: "avrdude -c usbtiny -p m16 -U flash:w:main.hex". Inmiddels zou de kubus opnieuw moeten opstarten en dingen gaan doen. Het zal draaien op 1mhz (zeer langzaam) met behulp van zijn interne oscillator. En sommige leds werken niet, omdat sommige GPIO-poorten standaard voor JTAG worden gebruikt. Om de externe oscillator in te schakelen en JTAG uit te schakelen, moeten we de fuse bytes programmeren: run "avrdude -c usbtiny -p m16 -U lfuse:w:0xef:m" en "avrdude -c usbtiny -p m16 -U hfuse:w:0xc9:m". Wees voorzichtig bij het uitvoeren van deze stap! Als je het fout hebt, kun je je microcontroller permanent vernietigen! Als u een andere microcontroller gebruikt dan de ATMega16, lees dan de datasheet zorgvuldig door voordat u de zekeringbytes wijzigt! Na het schrijven van de juiste zekeringbytes, moet de kubus opnieuw opstarten en op normale snelheid beginnen te werken met alle leds in werking. Geniet van uw nieuwe kubus: NS

Stap 11: Ga groot - 8x8x8"

Ga voor groot - 8x8x8
Ga voor groot - 8x8x8
Ga voor groot - 8x8x8
Ga voor groot - 8x8x8
Ga voor groot - 8x8x8
Ga voor groot - 8x8x8
Ga voor groot - 8x8x8
Ga voor groot - 8x8x8

Na het maken van deze mooie 4x4x4 kubus, heb ik ook een enorme 8x8x8 kubus gemaakt. Ik zal daar een instructable voor maken als ik tijd heb. Ondertussen, zie foto's:-)

Je kunt de 8x8x8-versie hier vinden: https://www.instructables.com/id/Led-Cube-8x8x8/ Beoordeel dit instructable als je het leuk vindt!:)

Aanbevolen: