Talaan ng mga Nilalaman:

Paano Bumuo ng isang 8x8x8 LED Cube at Kontrolin Ito Sa Isang Arduino: 7 Mga Hakbang (na may Mga Larawan)
Paano Bumuo ng isang 8x8x8 LED Cube at Kontrolin Ito Sa Isang Arduino: 7 Mga Hakbang (na may Mga Larawan)

Video: Paano Bumuo ng isang 8x8x8 LED Cube at Kontrolin Ito Sa Isang Arduino: 7 Mga Hakbang (na may Mga Larawan)

Video: Paano Bumuo ng isang 8x8x8 LED Cube at Kontrolin Ito Sa Isang Arduino: 7 Mga Hakbang (na may Mga Larawan)
Video: Использование модуля контроллера двигателя BTS7960 BTN8982TA PWM H Bridge с библиотекой Arduino. 2024, Hulyo
Anonim
Paano Bumuo ng isang 8x8x8 LED Cube at Kontrolin Ito Sa Isang Arduino
Paano Bumuo ng isang 8x8x8 LED Cube at Kontrolin Ito Sa Isang Arduino
Paano Bumuo ng isang 8x8x8 LED Cube at Kontrolin Ito Sa Isang Arduino
Paano Bumuo ng isang 8x8x8 LED Cube at Kontrolin Ito Sa Isang Arduino

Enero 2020 i-edit:

Aalisin ko ito kung sakaling may nais na gamitin ito upang makabuo ng mga ideya, ngunit wala nang anumang punto sa pagbuo ng isang kubo batay sa mga tagubiling ito. Ang mga LED driver IC ay hindi na ginawa, at ang parehong mga sketch ay isinulat sa mga lumang bersyon ng Arduino at Pagproseso at hindi na tatakbo. Hindi ko alam kung ano ang dapat baguhin upang gumana ang mga ito. Gayundin, ang aking pamamaraan sa pagtatayo ay nagresulta sa isang malubhang gulong panig. Ang aking mungkahi ay sundin ang mga tagubilin sa isa pang maituturo o bumili ng kit. Ang kubo na ito ay nagkakahalaga ng humigit-kumulang na $ 50 noong 2011, maaari kang bumili ng isang kit off ebay sa halagang $ 20 ngayon.

Orihinal na pagpapakilala:

Mayroong maraming mga LED cubes sa Mga Instructable, kaya bakit ang isa pa? Karamihan ay para sa maliliit na cube na binubuo ng 27 o 64 LEDs, bihirang mas malaki dahil limitado sila sa bilang ng mga output na magagamit sa microcontroller. Ang kubo na ito ay magiging 512 LEDs, at kakailanganin lamang ang 11 output wires mula sa Arduino. Paano ito posible? Sa pamamagitan ng paggamit ng driver ng Allegro Microsystems A6276EA LED.

Ipapakita ko sa iyo kung paano ko ginawa ang kubo mismo, ang board ng controller, at sa wakas ang code upang ito ay magpakinang.

Hakbang 1: Mga Kagamitan

Mga Kagamitan
Mga Kagamitan

Lahat ng mga bahagi na kakailanganin mong itayo ang kubo: 1 Arduino / Freeduino na may Atmega168 o mas mataas na chip 512 LEDs, laki at kulay ang nasa iyo, Gumamit ako ng 3mm red 4 A6276EA LED driver chips mula sa Allegro 8 NPN transistors upang makontrol ang daloy ng boltahe, Ginamit ko ang BDX53B Darlington transistor 4 1000 ohm resistors, 1/4 watt o mas mataas na 12 560 ohm resistors, 1/4 watt o mas mataas na 1 330uF electrolytic capacitor 4 24 pin IC socket 9 16 pin IC sockets 4 "x4" (o mas malaki) piraso ng perfboard upang i-hold ang lahat ng mga bahagi, Isang lumang fan ng computer Isang lumang floppy controller cable Isang lumang power supply ng computer Ang maraming hookup wire, solder, soldering iron, flux, anumang iba pa upang gawing mas madali ang iyong buhay habang ginagawa ito. 7 "x7" (o mas malaki) na piraso ng kahoy na ginamit upang gawin ang LED soldering jig Isang magandang kaso upang maipakita ang iyong tapos na kubo na My Arduino / Freeduino na pagpipilian ay ang Bare Bones Board (BBB) mula sa www.moderndevice.com. Ang mga LED ay binili off sa eBay at nagkakahalaga ng $ 23 para sa 1000 LEDs na naipadala mula sa China. Ang natitirang electronics ay binili mula sa Newark Electronics (www.newark.com) at dapat ay nagkakahalaga lamang ng $ 25. Kung kailangan mong bilhin ang lahat, ang proyektong ito ay dapat na nagkakahalaga lamang ng $ 100. Mayroon akong maraming mga lumang kagamitan sa computer kaya ang mga bahaging iyon ay nagmula sa tambak ng scrap.

Hakbang 2: Magtipon ng mga Layer

Ipunin ang mga Layer
Ipunin ang mga Layer
Ipunin ang mga Layer
Ipunin ang mga Layer
Ipunin ang Mga Layer
Ipunin ang Mga Layer
Ipunin ang mga Layer
Ipunin ang mga Layer

Paano gumawa ng 1 layer (64 LEDs) ng 512 LED cube na ito: Ang mga LED na binili ko ay 3mm ang lapad. Napagpasyahan kong gumamit ng maliliit na LEDs upang mabawasan ang gastos at gawin ang pangwakas na laki ng kubo na sapat na maliit upang makaupo sa aking mesa o istante nang hindi ganap na kinukuha ang desk o istante. Gumuhit ako ng isang 8x8 grid na may humigit-kumulang na.6 pulgada sa pagitan ng mga linya. Binigyan ako nito ng isang laki ng kubo sa paligid ng 4.25 pulgada bawat panig. Mag-drill ng 3mm na mga butas kung saan ang mga linya ay nagtagpo upang makagawa ng jig na hahawak sa mga LED habang hinihinang mo ang bawat layer. Ang A6276EA ay isang kasalukuyang sink device. Nangangahulugan ito na nagbibigay ito ng isang landas sa lupa sa halip na isang landas sa pinagmulan ng boltahe. Kakailanganin mong buuin ang kubo sa karaniwang pagsasaayos ng anode. Karamihan sa mga cube ay itinayo bilang karaniwang cathode. Ang mahabang bahagi ng LED ay karaniwang anode, suriin ang iyo upang matiyak. Ang unang ginawa ko ay subukan ang bawat LED. Oo ito ay isang mahaba at mainip na proseso at maaari mo itong laktawan kung nais mo. Mas gugustuhin kong gugulin ang oras upang subukan ang mga LED kaysa makahanap ng isang patay na lugar sa aking kubo pagkatapos na tipunin ito. Natagpuan ko ang 1 patay na LED sa labas ng 1000. Hindi masama. Gupitin ang 11 piraso ng solid, non-insulated hook up wire hanggang 5 pulgada. Ilagay ang 1 LED sa bawat dulo ng isang hilera sa iyong jig at pagkatapos ay solder ang kawad sa bawat anode. Ngayon ilagay ang natitirang 6 LEDs sa hilera at maghinang ng mga anode sa kawad. Maaari itong patayo o pahalang, hindi mahalaga hangga't ginagawa mo ang lahat ng mga layer sa parehong paraan. Habang natatapos mo ang bawat hilera, gupitin ang labis na tingga mula sa mga anode. Umalis ako sa paligid ng 1/8 . Ulitin hanggang natapos mo ang lahat ng 8 mga hilera. Ngayon ay naghinang ng 3 piraso ng kawit ng kawad sa mga hilera na ginawa mo lamang upang ikonekta ang lahat sa isang solong piraso. Sinubukan ko ang layer sa pamamagitan ng paglakip ng 5 volts upang mailagay ang wire lattice sa pamamagitan ng isang risistor at hinawakan ang ground lead sa bawat cathode. Palitan ang anumang mga LED na hindi ilaw. Maingat na alisin ang layer mula sa jig at itabi ito. Kung yumuko mo ang mga wire, huwag magalala, lamang ituwid ang mga ito sa abot ng makakaya mo. Napakadali na yumuko. Tulad ng masasabi mo mula sa aking mga larawan, nagkaroon ako ng maraming baluktot na mga wire. Binabati kita, tapos ka na sa 1/8. Gumawa ng 7 pang mga layer. OPSYONAL: Upang makagawa ng paghihinang ang mga layer na magkasama (Hakbang 3) ay mas madali, habang ang bawat kasunod na layer ay nasa jig yumuko sa tuktok na kuwartong pulgada ng cathode pasulong 45 hanggang 90 degree. Papayagan nitong mapunta sa paligid ng LED na kumokonekta ito at gagawa ng paghihinang mas madali. Huwag gawin ito sa iyong unang layer, idedeklara namin na ang isa ay ang ilalim na layer at ang mga lead ay kailangang maging s traight.

Hakbang 3: Magtipon ng Cube

Ipunin ang Cube
Ipunin ang Cube
Ipunin ang Cube
Ipunin ang Cube

Paano maghinang ng lahat ng mga layer upang makagawa ng isang kubo: Ang mahirap na bahagi ay halos tapos na. Ngayon, maingat na ilagay ang isang layer pabalik sa jig, ngunit huwag gumamit ng labis na presyon, nais naming maalis ito nang hindi baluktot. Ang unang layer na ito ay ang tuktok na mukha ng kubo. Maglagay ng isa pang layer sa tuktok ng una, ihanay ang mga lead at simulan ang paghihinang. Nahanap ko itong pinakamadaling gawin ang mga sulok muna, pagkatapos ay sa labas ng gilid, pagkatapos ay sa loob ng mga hilera. Panatilihin ang pagdaragdag ng mga layer hanggang sa tapos ka na. Kung paunang baluktot ang mga lead, tiyakin na i-save ang layer na may tuwid na mga lead para sa huli. Ito ay ang ilalim. Mayroon akong kaunting labis na puwang sa pagitan ng bawat layer kaya't hindi ako nakakakuha ng isang hugis ng kubo. Hindi isang malaking pakikitungo, maaari kong mabuhay dito.

Hakbang 4: Pagbuo ng Controller Board

Pagbuo ng Controller Board
Pagbuo ng Controller Board
Pagbuo ng Controller Board
Pagbuo ng Controller Board
Pagbuo ng Controller Board
Pagbuo ng Controller Board

Paano bubuuin ang board ng controller at ilakip ito sa iyong Arduino: Sundin ang eskematiko at itayo ang board subalit pinili mo. Inilagay ko ang mga chip ng kontrol sa gitna ng board at ginamit ang kaliwang bahagi upang hawakan ang mga transistors na kumokontrol sa kasalukuyang sa bawat layer ng kubo, at ginamit ang kanang bahagi upang hawakan ang mga konektor na nagmumula sa mga chip ng kontrol sa mga cathode ng ang mga haligi ng LED. Natagpuan ko ang isang lumang 40mm computer fan na may isang babaeng konektor ng molex upang mai-plug ito sa isang power supply ng computer. Ito ay perpekto. Ang isang maliit na halaga ng daloy ng hangin sa buong chip ay kapaki-pakinabang at mayroon akong isang madaling paraan upang makapagbigay ng 5 volts sa mga chip ng controller at mismo ng Arduino. Sa iskematiko, ang RC ang kasalukuyang nililimitahan na risistor para sa lahat ng mga LED na konektado sa bawat A6276EA. Gumamit ako ng 1000 ohms sapagkat nagbibigay ito ng 5 milliamp sa LED, sapat na upang magaan ito. Gumagamit ako ng Mataas na Liwanag, hindi mga Super Brite LEDs, kaya mas mababa ang kasalukuyang alisan ng tubig. Kung ang lahat ng 8 LEDs sa isang haligi ay naiilawan nang sabay-sabay, 40 milliamp lamang ito. Ang bawat output ng A6276EA ay maaaring hawakan ang 90 milliamp kaya't nasa loob ako ng saklaw. Ang RL ay ang risistor na konektado sa lohika o mga lead ng signal. Ang tunay na halaga ay hindi masyadong mahalaga hangga't mayroon ito at hindi masyadong malaki. Gumagamit ako ng 560 ohms dahil mayroon akong isang pangkat ng mga ito na magagamit. Gumamit ako ng isang power transistor na may kakayahang paghawak ng hanggang sa 6 amps upang makontrol ang kasalukuyang pagpunta sa bawat layer ng cube. Overkill ito para sa proyektong ito, dahil ang bawat layer ng kubo ay maglalabas lamang ng 320 milliamp kasama ang lahat ng mga LED na naiilawan. Nais kong lumaki ang silid at maaaring gamitin ang board ng controller para sa isang mas malaking bagay sa paglaon. Gumamit ng anumang sukat na transistor na umaangkop sa iyong mga pangangailangan. Ang 330 uF capacitor sa kabuuan ng pinagmulan ng boltahe ay naroroon upang tulungan na makinis ang anumang menor de edad na pagbabagu-bago ng boltahe. Dahil gumagamit ako ng isang lumang supply ng kuryente sa computer, hindi ito kinakailangan, ngunit naiwan ko ito kung sakaling may nais na gumamit ng isang 5 volt wall adapter upang mapatakbo ang kanilang kubo. Ang bawat A6276EA chip ng controller ay may 16 output. Wala akong anumang iba pang naaangkop na konektor kaya nag-solder ako ng mga lead sa ilang 16 pin IC sockets at gagamitin ang mga iyon upang ikonekta ang board ng controller sa cube. Pinagputol ko din ang isang IC socket sa kalahati at ginamit ito upang ikonekta ang 8 mga wire na kumokonekta sa mga transistor sa mga layer ng kubo. Pinutol ko ang tungkol sa 5 pulgada sa dulo ng isang lumang floppy cable upang magamit bilang konektor para sa Arduino. Ang floppy cable ay 2 mga hilera ng 20 mga pin, ang hubad na Bones Board ay may 18 mga pin. Ito ay isang napaka-murang paraan (libre) upang ikonekta ang Arduino sa board. Inilayo ko ang ribbon cable sa mga pangkat ng 2 wires, hinubaran ang mga dulo at pinagsama ang mga ito. Pinapayagan kang i-plug ang Arduino sa alinmang hilera ng konektor. Sundin ang eskematiko at maghinang sa konektor sa lugar. Huwag kalimutan na maghinang ng 5 volt at ground lead para sa konektor upang magbigay ng lakas sa Arduino. Nilalayon kong gamitin ang board ng controller para sa iba pang mga proyekto upang ang modular na disenyo ay gumagana nang maayos para sa akin. Kung nais mong i-hard-wire ang mga koneksyon, ayos lang.

Hakbang 5: Buuin ang Kaso sa Display

Buuin ang Kaso sa Display
Buuin ang Kaso sa Display
Buuin ang Kaso sa Display
Buuin ang Kaso sa Display
Buuin ang Kaso sa Display
Buuin ang Kaso sa Display
Buuin ang Kaso sa Display
Buuin ang Kaso sa Display

Gawing maganda ang iyong panghuling produkto: Natagpuan ko ang kahoy na dibdib na ito sa Hobby Lobby sa halagang $ 4 at inakalang magiging perpekto ito dahil may puwang sa loob upang hawakan ang lahat ng kawad plus mukhang maganda ito. Nabahiran ko ang pula na ito, parehong mantsa na ginamit ko sa aking computer desk upang magkatugma sila. Gumuhit ng isang grid sa tuktok ng parehong laki tulad ng grid na ginamit para sa soldering jig (.6 pulgada sa pagitan ng mga linya). Mag-drill ng mga butas upang payagan ang mga lead sa tuktok, at mag-drill ng isa pang butas sa likod ng grid para sa mga layer ng wire / eroplano (mula sa mga transistor sa Hakbang 4). Natutunan ko ang mahirap na paraan na ang pagsubok na pumila ng 64 na humantong na dumaan sa maliliit na butas ay napakahirap. Sa wakas ay nagpasya akong muling mag-drill ng lahat ng mga butas nang kaunti nang mas malaki upang mas mabilis ang proseso. Natapos ako gamit ang isang Tiyaking ikinakabit mo ang lahat ng mga wire sa tamang pagkakasunud-sunod. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 At ikonekta ang mga wire sa pagitan ng mga layer (may label na 'mga eroplano' sa eskematiko) at mga transistor. Ang transistor sa Arduino pin 6 ay ang tuktok na layer ng kubo. Kung nagkamali ka ng mga wire, medyo naaayos sa loob ng code, ngunit maaaring mangailangan ito ng maraming trabaho, kaya subukang makuha ang mga ito sa tamang pagkakasunud-sunod. ang lahat ay naka-built at handa nang pumunta, kumuha tayo ng ilang code at subukan ito.

Hakbang 6: Code

Code
Code

Ang code para sa kubo na ito ay tapos na naiiba kaysa sa karamihan, ipapaliwanag ko kung paano umangkop. Karamihan sa cube code ay gumagamit ng mga direktang pagsulat sa mga haligi. Sinasabi ng code na ang Column X ay kailangang naiilawan kaya't bigyan ito ng katas at tapos na kami. Hindi iyon gagana kapag gumagamit ng mga chip ng kontrol. Gumagamit ang mga chip ng kontrol ng 4 na mga wire upang kausapin ang Arduino: SPI-in, Clock, Latch, at Paganahin. Pinasadahan ko ang Paganahin ang pin (pin 21) sa pamamagitan ng isang risistor (RL) kaya't palaging pinapagana ang output. Hindi ko kailanman ginamit ang Paganahin kaya kinuha ko ito sa labas ng code. Ang SPI-in ay ang data mula sa Arduino, ang Clock ay isang signal signal sa pagitan ng dalawa habang pinag-uusapan nila, at sinabi ni Latch sa tagapamahala na oras na upang tanggapin ang bagong data. Ang bawat output para sa bawat maliit na tilad ay kinokontrol ng isang 16 bit na binary number. Halimbawa; ang pagpapadala ng 1010101010101010 sa controller ay magiging sanhi ng bawat iba pang LED sa controller sa ilaw. Kailangang patakbuhin ng iyong code ang lahat ng kinakailangan para sa isang display at buuin ang binary number na iyon, pagkatapos ay ipadala ito sa chip. Ito ay mas madali kaysa sa tunog. Teknikal na ito ay isang pangkat ng pagdaragdag ng kaunti, ngunit hindi ako maganda sa bitwise matematika kaya ginagawa ko ang lahat sa decimal. Ang desimal para sa unang 16 na bit ay ang mga sumusunod: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768Hulugan nito kung nais mong sindihan ang mga output 2 at 10, idaragdag mo ang mga decimal (2 at 512) upang makakuha ng 514. Magpadala ng 514 sa controller at ang mga output ay 2 at 10 ay magaan. Ngunit mayroon kaming higit sa 16 LEDs kaya't medyo nahihirapan ito. Kailangan naming bumuo ng impormasyon sa pagpapakita para sa 4 na chips. Alin ang kasing dali ng pagbuo nito ng 1, gawin lamang ito ng 3 beses pa. Gumagamit ako ng isang pandaigdigang variable na array upang hawakan ang mga control code. Mas madali lang sa ganoong paraan. Kapag handa na ang lahat na ipakita ang 4 na mga code ng pagpapakita, i-drop ang aldaba (itakda ito sa LOW) at simulang ipadala ang mga code. Kailangan mo munang ipadala ang huli. Ipadala ang mga code para sa chip 4, pagkatapos 3, pagkatapos 2, pagkatapos 1, pagkatapos ay itakda muli ang Latch sa TAAS. Dahil ang Paganahin ang pin ay palaging konektado sa lupa, ang display ay agad na binago. Karamihan sa cube code na nakita ko sa Mga Instructable, at sa web sa pangkalahatan, ay binubuo ng isang higanteng bloke ng code na itinakda upang magsagawa ng isang pre-set na animasyon. Gumagana iyon nang maayos para sa mas maliit na mga cube ngunit kailangan upang mag-imbak, basahin, at magpadala ng 512 piraso ng binary sa tuwing nais mong baguhin ang display ay tumatagal ng maraming memorya. Hindi mahawakan ng Arduino ang higit sa ilang mga frame. Kaya't nagsulat ako ng ilang mga simpleng pag-andar upang maipakita ang kubo sa pagkilos na umaasa sa pagkalkula sa halip na paunang naka-set na mga animasyon. Nagsama ako ng isang maliit na animasyon upang maipakita kung paano ito tapos, ngunit iiwan ko ito sa iyo upang makabuo ng iyong sariling display.cube8x8x8.pde ay ang Arduino code. Plano kong ipagpatuloy ang pagdaragdag ng mga pag-andar sa code at ia-update ang programa nang pana-panahon.matrix8x8.pde ay isang programa sa Pagproseso upang mabuo ang iyong sariling mga display. Ang unang bilang na ibinigay ay napupunta sa pattern1 , pangalawa sa pattern2 , atbp. Ang datasheet para sa A6276EA ay magagamit sa:

Hakbang 7: Ipakita ang Iyong Handiwork

Ipakita ang iyong Handiwork
Ipakita ang iyong Handiwork

Tapos ka na, oras na upang tamasahin ang iyong kubo. Tulad ng nakikita mo, ang aking cube ay lumabas ng isang maliit na baluktot. Hindi ako masyadong masigasig sa pagbuo ng isa pa bagaman't titira ako sa pagiging baluktot nito. Mayroon akong ilang patay na mga spot na kailangan kong tingnan. Maaaring ito ay isang hindi magandang koneksyon, o maaaring kailanganin ko ng isang bagong chip chip. Inaasahan kong inspirasyon ka ng Tagubilin na ito na bumuo ng iyong sariling kubo, o ilang iba pang proyekto sa LED gamit ang A6276AE. Mag-post ng isang link sa mga komento kung bumuo ka ng isa. Sinubukan kong magpasya kung saan pupunta mula dito. Ang control board ay makokontrol din ang isang 4x4x4 RGB cube, kaya't posible iyon. Sa palagay ko magiging maayos ito upang gawin ang isang globo at ang paraan ng pagsulat ng code, hindi ito magiging mahirap gawin.

Inirerekumendang: