Talaan ng mga Nilalaman:

LED Cube 4x4x4: 11 Hakbang (na may Mga Larawan)
LED Cube 4x4x4: 11 Hakbang (na may Mga Larawan)

Video: LED Cube 4x4x4: 11 Hakbang (na may Mga Larawan)

Video: LED Cube 4x4x4: 11 Hakbang (na may Mga Larawan)
Video: 4x4x4 LED Cube using Arduino 2024, Hulyo
Anonim
LED Cube 4x4x4
LED Cube 4x4x4
LED Cube 4x4x4
LED Cube 4x4x4
LED Cube 4x4x4
LED Cube 4x4x4

Kamangha-manghang 3 dimensional na LED display. Ang 64 LEDs ay binubuo ng 4 by 4 by 4 cube na ito, na kinokontrol ng isang Atmel Atmega16 microcontroller. Ang bawat LED ay maaaring matugunan nang paisa-isa sa software, paganahin itong ipakita ang mga kamangha-manghang mga 3d na animasyon! 8x8x8 LED cube magagamit na ngayon, sa pamamagitan ng tanyag na demand:

Hakbang 1: Ano ang Kailangan Mo

Ang iyong kailangan
Ang iyong kailangan

Una sa lahat, kailangan mo ng kaunting oras upang maghinang kasama ng 64 leds;) Listahan ng kaalaman:

  • Pangunahing kasanayan sa electronics at paghihinang
  • Alamin kung paano magprogram ng isang AVR microcontroller - Hindi ko ito sasakupin sa itinuturo na ito.

Listahan ng bahagi:

  • Protoboard. Ang uri na may mga bilog na tanso.
  • Atmel AVR Atmega16 microcontroller
  • Programmer upang i-program ang Atmega16
  • 64 Leds
  • 2 status leds. Gumamit ako ng pula at berde. (opsyonal)
  • Max232 rs-232 chip, o katumbas.
  • 16 resistors para sa leds. (100-400ohms) ay makakabalik dito.
  • 2x risistor 470 ohm. para sa status leds
  • 1x risistor 10k
  • 4x risistor 2.2k
  • 4x NPN transistor BC338 (o iba pang transistor na may kakayahang lumipat ng 250-ish mA)
  • 1x 10uF capacitor
  • 1x 1000uF capacitor
  • 6x 0.1uF ceramic capacitor
  • 2x 22pF ceramic capacitor
  • 1x kristal 14.7456 MHz
  • 2x pindutan ng pandamdam
  • opsyonal na pwr switch
  • konektor para sa 12v lakas
  • opsyonal na konektor para sa 5v na lakas

Hakbang 2: Multiplexing

Multiplexing
Multiplexing
Multiplexing
Multiplexing

Paano makontrol ang 64 LEDs nang hindi gumagamit ng 64 indibidwal na mga wire? Multiplexing!

Ang pagpapatakbo ng isang kawad sa anod ng bawat pinangunahan ay malinaw na hindi praktikal, at magiging masama talaga. Ang isang paraan upang makaligid dito, ay upang hatiin ang cube sa 4 na layer ng 16x16 LEDs. Ang lahat ng mga LED na nakahanay sa isang patayong haligi ay nagbabahagi ng isang karaniwang anode (+). Ang lahat ng mga LED sa isang pahalang na layer ay nagbabahagi ng isang karaniwang katod (-). Ngayon kung nais kong sindihan ang LED sa kaliwang sulok sa itaas sa likuran (0, 0, 3), ibibigay ko lang ang GND (-) sa itaas na layer, at VCC (+) sa haligi sa kaliwang sulok. Kung nais ko lamang sindihan ang isang pinangunahan nang paisa-isa, o i-iilaw lamang ang higit sa isang layer nang sabay-sabay.. gumagana ito nang maayos. Gayunpaman, kung nais ko ring sindihan ang kanang sulok sa ibaba sa harap (3, 3, 0), nagkakaroon ako ng mga problema. Kapag na-supply ko ang GND sa mas mababang layer at VCC sa harap na kaliwang haligi, sinisindi ko rin ang kanang itaas na humantong sa harap (3, 3, 3), at ang mas mababang kaliwang LED sa likuran (0, 0, 0). Ang ghosting effect na ito ay imposible upang mag-workaround nang walang pagdaragdag ng 64 indibidwal na mga wire. Ang paraan upang gumana ito ay ang pag-iilaw lamang ng isang layer nang paisa-isa, ngunit gawin ito nang napakabilis na hindi makilala ng mata na isang layer lamang ang naiilawan sa anumang oras. Ito ay umaasa sa isang kababalaghang tinatawag na Persistence of vision. Ang bawat layer ay isang 4x4 (16) na imahe. Kung i-flash namin ang 4 16 na humantong sa mga imahe nang paisa-isa, talagang mabilis, makakakuha kami ng isang 4x4x4 3d na imahe!

Hakbang 3: Paggawa ng Cube, Template

Paggawa ng Cube, Template
Paggawa ng Cube, Template
Paggawa ng Cube, Template
Paggawa ng Cube, Template
Paggawa ng Cube, Template
Paggawa ng Cube, Template

Ang mga soldering grids ng 4x4 LEDs freehand ay magiging kahila-hilakbot! Upang makakuha ng 4 na perpektong 4x4 grids ng mga LED, gumagamit kami ng isang template upang i-hold ang mga ito sa lugar. Nais kong gawin ang cube nang mas madaling posible upang gawin, kaya't pinili kong gamitin ang mga LED sariling mga binti hangga't maaari. Ang distansya sa pagitan ng mga linya sa grid ay napagpasyahan ng haba ng mga LED na binti. Natagpuan ko na 25mm (halos isang pulgada) ang pinakamainam na distansya sa pagitan ng bawat led (sa pagitan ng gitna ng bawat led na!) Upang paganahin ang paghihinang nang hindi nagdaragdag o pinutol ang wire.

  • Maghanap ng isang piraso ng kahoy na sapat na malaki upang makagawa ng isang 4x4 grid na 2, 5cm.
  • Gumuhit ng isang 4x4 grid ng mga linya.
  • Gumawa ng mga dents sa lahat ng intersect gamit ang isang center punch.
  • Maghanap ng isang drill bit na gumagawa ng sapat na maliit na butas upang ang pinangunahan ay mananatiling matatag sa lugar, at sapat na malaki upang ang humantong ay madaling mahugot (nang walang baluktot ang mga wire..).
  • I-drill ang 16 na butas.
  • Tapos na ang iyong template ng ledcube.

Hakbang 4: Paggawa ng Cube, Paghinang ng mga Layer

Paggawa ng Cube, Paghinang ng mga Layer
Paggawa ng Cube, Paghinang ng mga Layer
Paggawa ng Cube, Paghinang ng mga Layer
Paggawa ng Cube, Paghinang ng mga Layer
Paggawa ng Cube, Paghinang ng mga Layer
Paggawa ng Cube, Paghinang ng mga Layer

Ginagawa namin ang kubo sa 4 na layer ng 4x4 leds, pagkatapos ay magkasama silang hinang. Lumikha ng isang layer:

  • Ilagay ang mga LED sa likuran at sa isang gilid, at sama-sama itong paghihinang
  • Ipasok ang isa pang hilera ng LED at sama-sama silang maghinang. Gumawa ng isang hilera sa bawat oras upang mag-iwan ng lugar para sa panghinang na bakal!
  • Ulitin ang hakbang sa itaas 2 nang maraming beses.
  • magdagdag ng bracing sa harap sa harap kung saan ang mga humantong na hilera ay hindi konektado.
  • Ulitin ng 4 na beses.

Hakbang 5: Paggawa ng Cube, Pagkonekta sa mga Layer

Paggawa ng Cube, Pagkonekta sa mga Layer
Paggawa ng Cube, Pagkonekta sa mga Layer
Paggawa ng Cube, Pagkonekta sa mga Layer
Paggawa ng Cube, Pagkonekta sa mga Layer
Paggawa ng Cube, Pagkonekta sa mga Layer
Paggawa ng Cube, Pagkonekta sa mga Layer

Ngayon na mayroon kaming 4 na mga layer, ang kailangan lang nating gawin ay ang maghinang sila nang magkasama.

Ibalik ang isang layer sa template. Ito ang magiging tuktok na layer, kaya piliin ang pinakamaganda:) Maglagay ng isa pang layer sa itaas, at ihanay ang isa sa mga sulok na eksaktong 25mm (o kung anong distansya ang ginamit mo sa iyong grid) sa itaas ng unang layer. Ito ang distansya sa pagitan ng mga wire ng cathode. Hawakan ang sulok gamit ang isang tumutulong kamay at maghinang ng sulok na anode ng unang layer sa sulok na anode ng pangalawang layer. Gawin ito para sa lahat ng sulok. Suriin kung ang mga layer ay perpektong nakahanay sa lahat ng mga sukat. Kung hindi yumuko ng kaunti upang ayusin. O muling paghihinang nito ang distansya ng taas na naka-off. Kapag perpektong nakahanay ang mga ito, maghinang ang natitirang 12 anode nang magkasama. Ulitin ng 3 beses.

Hakbang 6: Pagpili ng Mga Halaga ng Resistor

Pagpili ng Mga Halaga ng Resistor
Pagpili ng Mga Halaga ng Resistor
Pagpili ng Mga Halaga ng Resistor
Pagpili ng Mga Halaga ng Resistor

Mayroong dalawang bagay na dapat tandaan kapag pumipili ng isang halaga ng risistor para sa iyong mga leds.

1) Ang LEDs 2) Ang AVR Ang AVR ay may maximum na pinagsamang kasalukuyang rating na 200 mA. Nagbibigay ito sa amin ng 12mA upang gumana sa bawat LED. Hindi mo rin nais na lumampas sa maximum na kasalukuyang iyong na-rate ang mga leds. Gumamit ako ng 220 ohm resistors sa aking cube. Ibinigay nito sa akin ang tungkol sa 12mA bawat humantong.

Hakbang 7: Ang Controller

Ang Controller
Ang Controller
Ang Controller
Ang Controller
Ang Controller
Ang Controller

Ang mga circuit na nagkokontrol sa led cube ay inilarawan sa naka-attach na imaheng eskematiko.

Ang interface ng RS-232 ay opsyonal. at maaaring matanggal. Iyon ay IC2 at lahat ng mga sangkap na konektado dito. Ang mga hinaharap na firmwares ay magbibigay-daan sa komunikasyon sa PC.. Magsimula sa pamamagitan ng paglalagay ng lahat ng mga bahagi sa iyo circuit board sa isang layout na paganahin ang lahat ng mga bahagi upang kumonekta sa isang kaunting halaga ng mga wire. Kung umaangkop ang lahat, maghinang sa circuit. Hindi na ako magbibigay ng anumang mga tagubilin dito, dahil marahil ang circuit ay magmumukhang ibang-iba mula sa kubo hanggang sa kubo, depende sa laki ng circuit board atbp. Ang impormasyon tungkol sa kung paano i-wire ang kubo sa controller circuit ay sa susunod hakbang

Hakbang 8: Wire Up the Cube

Wire Up ang Cube
Wire Up ang Cube
Wire Up ang Cube
Wire Up ang Cube
Wire Up ang Cube
Wire Up ang Cube

Ang mga larawan ay nagpapaliwanag nito nang mas mahusay kaysa sa mga salita. Mangyaring tingnan ang mga larawan.

Hakbang 9: Magbuo at Programa

Mayroon ka nang isang led cube. Upang magamit ito, kailangan nito ng ilang software. Gumawa ako ng isang driver para sa pag-render ng isang 3d data space sa cube, at mga pagpapaandar upang ipakita ang ilang mga cool na visual effects sa kubo. Maaari mong gamitin ang aking code, isulat ang iyong sarili o bumuo sa ang aking code at gumawa ng higit pang mga epekto. Kung gumawa ka ng iyong sariling mga epekto, mangyaring ipadala sa akin ang code. Sabik na akong makita kung ano ang ginagawa ninyong mga lalaki! Upang maiipon ang programa. Buksan lamang ang isang command promt, ipasok ang direktoryo na may pinagmulang codetype na "gumawa" sa linya ng utos. Kung nais mong gumamit ng isang ATMega32 sa halip na ATMega16, baguhin lamang ang setting ng mcu sa Makefile at muling kumpunahin (uri ng make). Kung gagamitin mo ang m32 at huwag gawin ang hakbang na ito, ang cube ay hindi mag-boot nang maayos (ang pula at berde na ilaw ay patuloy na kumikislap magpakailanman). Mayroon ka na ngayong isang file na pinangalanang main.hex sa direktoryo ng pinagmulan. Ang susunod na hakbang ipapakita sa iyo kung paano makuha ang code na iyon sa iyong cube.

Hakbang 10: I-program ang Microcontroller

I-program ang Microcontroller
I-program ang Microcontroller
I-program ang Microcontroller
I-program ang Microcontroller
I-program ang Microcontroller
I-program ang Microcontroller

Kung nakakaranas ka ng mga problema sa bilis at / o ilang mga LED na hindi ilaw. Mangyaring basahin nang maingat ang hakbang na ito. Upang ma-program ang microcontroller, gumagamit ako ng avrdude at ng 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

Ang aking mga halimbawa ay magiging sa isang Ubuntu Linux system. Ang pamamaraan ay dapat na halos magkapareho sa Windows, ngunit hindi kita matutulungan doon. Kung gumagamit ka ng isa pang programmer, basahin ang manu-manong para sa programmer at avrdude na iyon. Una, Tingnan lamang natin kung maaari kaming makipag-ugnay sa AVR. Ikonekta ang programmer sa iyong kubo at iyong computer. Ang utos ay "avrdude -c usbtiny -p m16 ", kung saan -c tumutukoy sa programmer, at -p ang modelo ng AVR. Maaari mong makita ang output sa mga imahe sa ibaba. Ngayon, i-upload ang firmware: "avrdude -c usbtiny -p m16 -U flash: w: main.hex". Sa ngayon, ang cube ay dapat na mag-reboot at magsimulang gumawa ng mga bagay-bagay. Tumatakbo ito sa 1mhz (napakabagal) gamit ang panloob na oscillator. At ang ilan sa mga leds ay hindi gagana, dahil ang ilang mga port ng GPIO ay ginagamit para sa JTAG bilang default. Upang paganahin ang panlabas na oscillator at huwag paganahin ang JTAG, kailangan nating i-program ang mga byte ng fuse: patakbuhin ang "avrdude -c usbtiny -p m16 -U lfuse: w: 0xef: m "at" avrdude -c usbtiny -p m16 -U hfuse: w: 0xc9: m ". Mag-ingat sa paggawa ng hakbang na ito! Kung nagkamali ka, maaari mong permanenteng sirain ang iyong microcontroller! Kung gumagamit ka ng isa pang microcontroller kaysa sa ATMega16, tiyaking basahin nang maingat ang datasheet bago baguhin ang mga byte ng fuse! Matapos isulat ang wastong mga byte ng fuse, dapat na i-reboot ang cube at magsimulang mag-operate sa regular na bilis sa lahat ng pagpapatakbo ng leds. Tangkilikin ang iyong bagong kubo: D

Hakbang 11: Lumakihan - 8x8x8

Pumunta Malalaki - 8x8x8
Pumunta Malalaki - 8x8x8
Pumunta Malalaki - 8x8x8
Pumunta Malalaki - 8x8x8
Pumunta Malalaki - 8x8x8
Pumunta Malalaki - 8x8x8
Pumunta Malalaki - 8x8x8
Pumunta Malalaki - 8x8x8

Matapos gawin itong medyo magarbong 4x4x4 cube, gumawa rin ako ng isang napakalaking 8x8x8 cube. Gagawa ako ng isang itinuturo para sa isang iyon kapag may oras ako. Samantala, tingnan ang mga larawan:-)

Maaari mong makita ang bersyon na 8x8x8 dito: https://www.instructables.com/id/Led-Cube-8x8x8/ Mangyaring i-rate ang itinuturo na ito kung nais mo ito!:)

Inirerekumendang: