Innholdsfortegnelse:

LED Cube 4x4x4: 11 trinn (med bilder)
LED Cube 4x4x4: 11 trinn (med bilder)

Video: LED Cube 4x4x4: 11 trinn (med bilder)

Video: LED Cube 4x4x4: 11 trinn (med bilder)
Video: 4x4x4 LED Cube using Arduino 2024, Juli
Anonim
LED Cube 4x4x4
LED Cube 4x4x4
LED Cube 4x4x4
LED Cube 4x4x4
LED Cube 4x4x4
LED Cube 4x4x4

Fantastisk tredimensjonal LED -skjerm. 64 lysdioder utgjør denne 4 x 4 x 4 terningen, kontrollert av en Atmel Atmega16 mikrokontroller. Hver LED kan adresseres individuelt i programvare, slik at den kan vise fantastiske 3d -animasjoner! 8x8x8 LED-terning nå tilgjengelig, etter populær etterspørsel:

Trinn 1: Det du trenger

Hva trenger du
Hva trenger du

Først og fremst trenger du litt tid til å lodde sammen 64 leds;) Kunnskapsliste:

  • Grunnleggende elektronikk og loddeferdigheter
  • Vet hvordan du programmerer en AVR -mikrokontroller - jeg vil ikke dekke det i denne instruksen.

Komponentliste:

  • Protoboard. Typen med kobbersirkler.
  • Atmel AVR Atmega16 mikrokontroller
  • Programmerer for å programmere Atmega16
  • 64 lysdioder
  • 2 statuslys. Jeg brukte rødt og grønt. (valgfri)
  • Max232 rs-232 chip, eller tilsvarende.
  • 16 motstander for lysdioder. (100-400ohms) vil komme tilbake til dette.
  • 2x motstand 470 ohm. for statuslys
  • 1x motstand 10k
  • 4x motstand 2.2k
  • 4x NPN-transistor BC338 (eller annen transistor som kan bytte 250-ish mA)
  • 1x 10uF kondensator
  • 1x 1000uF kondensator
  • 6x 0.1uF keramisk kondensator
  • 2x 22pF keramisk kondensator
  • 1x krystall 14,7456 MHz
  • 2x taktil knapp
  • valgfri pwr -bryter
  • kontakt for 12v strøm
  • valgfri kontakt for 5v strøm

Trinn 2: Multiplexing

Multiplexing
Multiplexing
Multiplexing
Multiplexing

Hvordan kontrollere 64 lysdioder uten å bruke 64 individuelle ledninger? Multiplexing!

Å kjøre en ledning til anoden til hver led ville åpenbart være upraktisk og ville se veldig ille ut. En måte å komme rundt dette på er å dele terningen i 4 lag med 16x16 lysdioder. Alle lysdiodene justert i en vertikal kolonne deler en felles anode (+). Alle lysdiodene på et horisontalt lag deler en felles katode (-). Hvis jeg vil lyse opp LED-en i øvre venstre hjørne på baksiden (0, 0, 3), leverer jeg bare GND (-) til det øvre laget, og VCC (+) til kolonnen i venstre hjørne. Hvis jeg bare vil lyse opp en ledning om gangen, eller bare lyse opp mer enn ett lag samtidig.. dette fungerer fint. Men hvis jeg også vil lyse opp nedre høyre hjørne foran (3, 3, 0), får jeg problemer. Når jeg leverer GND til det nedre laget og VCC til venstre venstre kolonne, lyser jeg også opp den øvre høyre ledningen foran (3, 3, 3) og den nedre venstre LED -lampen på baksiden (0, 0, 0). Denne spøkelseseffekten er umulig å løse uten å legge til 64 individuelle ledninger. Måten å omgå det på er å bare lyse opp ett lag om gangen, men gjøre det så raskt at øyet ikke gjenkjenner at bare ett lag lyser når som helst. Dette er avhengig av et fenomen som kalles Persistence of vision. Hvert lag er et 4x4 (16) bilde. Hvis vi blinker 4 16 led -bilder en om gangen, veldig fort, får vi et 4x4x4 3d -bilde!

Trinn 3: Lag kuben, mal

Making the Cube, Mal
Making the Cube, Mal
Making the Cube, Mal
Making the Cube, Mal
Making the Cube, Mal
Making the Cube, Mal

Loddingsnett på 4x4 lysdioder på frihånd ville se fryktelig ut! For å få 4 perfekte 4x4 rutenett med lysdioder bruker vi en mal for å holde dem på plass. Jeg ønsket å gjøre kuben så lett som mulig å lage, så jeg valgte å bruke lysdiodene. egne ben så mye som mulig. Avstanden mellom linjene i rutenettet ble bestemt av lengden på LED -bena. Jeg fant ut at 25 mm (omtrent en tomme) var den optimale avstanden mellom hver ledning (mellom midten av hver ledning!) For å muliggjøre lodding uten å legge til eller kutte ledning.

  • Finn et treverk som er stort nok til å lage et 4x4 -rutenett på 2, 5 cm på.
  • Tegn et 4x4 rutenett med linjer.
  • Lag bulker i alle kryssene med et senterstans.
  • Finn en borekrone som gjør hullene små nok til at ledningen skal stå godt på plass, og stor nok til at ledningen lett kan trekkes ut (uten å bøye ledningene..).
  • Bor de 16 hullene.
  • Ledcube -malen din er ferdig.

Trinn 4: Lag kuben, lodd lagene

Lag kuben, lodd lagene
Lag kuben, lodd lagene
Lag kuben, lodd lagene
Lag kuben, lodd lagene
Lag kuben, lodd lagene
Lag kuben, lodd lagene

Vi lager terningen i 4 lag med 4x4 lysdioder, og lodder dem deretter sammen. Lag et lag:

  • Sett inn lysdiodene langs baksiden og langs den ene siden, og lodd dem sammen
  • Sett inn en rad med lysdioder og lodd dem sammen. Gjør en rad om gangen for å forlate stedet for loddejernet!
  • Gjenta trinnene ovenfor 2 ganger til.
  • legg til kryssavstivning foran der led -radene ikke er koblet sammen.
  • Gjenta 4 ganger.

Trinn 5: Lag kuben, koble sammen lagene

Lag kuben, koble sammen lagene
Lag kuben, koble sammen lagene
Lag kuben, koble sammen lagene
Lag kuben, koble sammen lagene
Lag kuben, koble sammen lagene
Lag kuben, koble sammen lagene

Nå som vi har de fire lagene, er det bare å lodde dem sammen.

Legg ett lag tilbake i malen. Dette blir det øverste laget, så velg det peneste:) Legg et annet lag på toppen, og juster ett av hjørnene nøyaktig 25 mm (eller hvilken avstand du brukte i rutenettet) over det første laget. Dette er avstanden mellom katodetrådene. Hold hjørnet på plass med en hjelpende hånd og lodd hjørneanoden til det første laget til hjørneanoden til det andre laget. Gjør dette for alle hjørnene. Sjekk om lagene er perfekt justert i alle dimensjoner. Hvis ikke bøy litt for å justere. Eller re-lodd av det er høyde avstanden som er av. Når de er perfekt justert, loddes de resterende 12 anodene sammen. Gjenta 3 ganger.

Trinn 6: Velge motstandsverdier

Velge motstandsverdier
Velge motstandsverdier
Velge motstandsverdier
Velge motstandsverdier

Det er to ting du må huske på når du velger en motstandsverdi for lysdiodene dine.

1) Lysdiodene 2) AVR AVRen har en maksimal kombinert strømstyrke på 200 mA. Dette gir oss 12mA å jobbe med per LED. Du vil heller ikke overskride maksimal strøm som ledsene dine er vurdert til. Jeg brukte 220 ohm motstander på kuben min. Dette ga meg ca 12mA per led.

Trinn 7: Kontrolleren

Kontrolleren
Kontrolleren
Kontrolleren
Kontrolleren
Kontrolleren
Kontrolleren

Kretsene som styrer led -terningen er beskrevet i det vedlagte skjematiske bildet.

RS-232-grensesnittet er valgfritt. og kan utelates. Det er IC2 og alle komponentene som er koblet til den. Fremtidige firmwares vil muliggjøre PC -kommunikasjon. Start med å legge ut alle komponentene på kretskortet ditt i et oppsett som gjør at alle komponentene kan koble seg til med en minimal mengde ledninger. Hvis alt passer, lodd kretsen. Jeg vil ikke gi noen flere instruksjoner om dette, siden kretsen sannsynligvis vil se veldig annerledes ut fra kube til kube, avhengig av størrelsen på kretskortet osv. Informasjon om hvordan kuben skal kobles til kontrollerkretsen er i den neste steg.

Trinn 8: Tråd opp kuben

Wire Up the Cube
Wire Up the Cube
Wire Up the Cube
Wire Up the Cube
Wire Up the Cube
Wire Up the Cube

Bilder forklarer dette bedre enn ord. Se bildene.

Trinn 9: Kompiler og programmer

Du har nå en ledet terning. For å bruke den trenger den litt programvare. Jeg har laget en driver for gjengivelse av et 3D -datarom på kuben, og funksjoner for å vise noen kule visuelle effekter på kuben. Du kan bruke koden min, skrive din egen eller bygge videre på koden min og få flere effekter. Hvis du lager dine egne effekter, vennligst send meg koden. Jeg er spent på å se hva dere lager! For å kompilere programmet. Bare åpne en kommandoprompt, skriv inn katalogen med kildekoden "make" på kommandolinjen. Hvis du vil bruke en ATMega32 i stedet for ATMega16, må du bare endre mcu -innstillingen i Makefile og kompilere på nytt (skriv make). Hvis du bruker m32 og ikke gjør dette trinnet, starter ikke kuben ordentlig (det røde og grønne lyset vil fortsette å blinke for alltid). Du bør nå ha en fil som heter main.hex i kildekatalogen. Det neste trinnet vil vise deg hvordan du får den koden inn i kuben din.

Trinn 10: Programmer mikrokontrolleren

Programmer mikrokontrolleren
Programmer mikrokontrolleren
Programmer mikrokontrolleren
Programmer mikrokontrolleren
Programmer mikrokontrolleren
Programmer mikrokontrolleren

Hvis du opplever problemer med hastighet og/eller noen lysdioder ikke lyser. Les dette trinnet nøye. For å programmere mikrokontrolleren bruker jeg avrdude og USBTinyISP -programmereren.

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

Mine eksempler vil være på et Ubuntu Linux -system. Prosedyren skal være ganske identisk på Windows, men jeg kan ikke hjelpe deg med det. Hvis du bruker en annen programmerer, les håndboken for den programmereren og avrdude. Først må vi se om vi kan ta kontakt med AVR. Koble programmereren til kuben og datamaskinen din. Kommandoen er "avrdude -c usbtiny -p m16 ", hvor -c spesifiserer programmereren og -p AVR -modellen. Du kan se utgangen på bildene nedenfor. Last nå opp fastvaren: "avrdude -c usbtiny -p m16 -U flash: w: main.hex". Nå skal kuben starte på nytt og begynne å gjøre ting. Den vil kjøre på 1mhz (veldig sakte) ved å bruke den interne oscillatoren. Og noen av lysdiodene vil ikke fungere, fordi noen GPIO -porter som standard brukes for JTAG. For å aktivere den eksterne oscillatoren og deaktivere JTAG, må vi programmere sikringsbytes: kjør "avrdude -c usbtiny -p m16 -U lfuse: w: 0xef: m "og" avrdude -c usbtiny -p m16 -U hfuse: w: 0xc9: m ". Vær forsiktig når du gjør dette trinnet! Hvis du tar feil, kan du ødelegge mikrokontrolleren permanent! Hvis du bruker en annen mikrokontroller enn ATMega16, må du lese databladet nøye før du bytter sikringsbyte! Etter at du har skrevet riktige sikringsbyte, bør kuben starte på nytt og begynne å operere med vanlig hastighet med alle lysdioder i drift. Nyt den nye kuben: D

Trinn 11: Gå stor - 8x8x8

Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8

Etter å ha laget denne ganske fancy 4x4x4 terningen, har jeg også laget en enorm 8x8x8 terning. Jeg skal lage en instruks for den når jeg har tid. I mellomtiden, se bilder:-)

Du finner 8x8x8-versjonen her: https://www.instructables.com/id/Led-Cube-8x8x8/ Vurder denne instruksjonen hvis du liker den!:)

Anbefalt: