Isi kandungan:

Cara Membina Kubus LED 8x8x8 dan Mengawalnya Dengan Arduino: 7 Langkah (dengan Gambar)
Cara Membina Kubus LED 8x8x8 dan Mengawalnya Dengan Arduino: 7 Langkah (dengan Gambar)

Video: Cara Membina Kubus LED 8x8x8 dan Mengawalnya Dengan Arduino: 7 Langkah (dengan Gambar)

Video: Cara Membina Kubus LED 8x8x8 dan Mengawalnya Dengan Arduino: 7 Langkah (dengan Gambar)
Video: How to make a 8x8x8 LED Cube at Home 2024, Julai
Anonim
Cara Membina Kubus LED 8x8x8 dan Mengawalnya Dengan Arduino
Cara Membina Kubus LED 8x8x8 dan Mengawalnya Dengan Arduino
Cara Membina Kubus LED 8x8x8 dan Mengawalnya Dengan Arduino
Cara Membina Kubus LED 8x8x8 dan Mengawalnya Dengan Arduino

Suntingan Jan 2020:

Saya akan membiarkannya sekiranya ada yang ingin menggunakannya untuk menjana idea, tetapi tidak ada gunanya membina kubus berdasarkan petunjuk ini. IC pemacu LED tidak lagi dibuat, dan kedua-dua lakaran ditulis dalam versi lama Arduino dan Pemprosesan dan tidak lagi dapat dijalankan. Saya tidak tahu apa yang perlu diubah untuk menjadikannya berfungsi. Kaedah pembinaan saya juga menyebabkan kekacauan yang miring. Cadangan saya adalah untuk mengikuti arahan pada instruksional lain atau membeli kit. Cube ini berharga sekitar $ 50 pada tahun 2011, anda boleh membeli kit dari ebay dengan harga sekitar $ 20 sekarang.

Pengenalan asal:

Terdapat banyak kubus LED pada Instructables, jadi mengapa membuat yang lain? Sebilangan besar adalah untuk kubus kecil yang terdiri daripada 27 atau 64 LED, jarang lebih besar kerana terhad kepada jumlah output yang terdapat pada mikrokontroler. Kubus ini akan menjadi 512 LED, dan hanya memerlukan 11 wayar output dari Arduino. Bagaimana ini boleh berlaku? Dengan menggunakan pemacu LED Allegro Microsystems A6276EA.

Saya akan menunjukkan kepada anda bagaimana saya membuat kiub itu sendiri, papan pengawal, dan akhirnya kod untuk membuatnya bersinar.

Langkah 1: Bahan

Bahan
Bahan

Semua bahagian yang anda perlukan untuk membina kubus: 1 Arduino / Freeduino dengan Atmega168 atau cip 512 LED lebih tinggi, saiz dan warna terpulang kepada anda, saya menggunakan cip pemacu LED 3mm merah 4 A6276EA dari transistor Allegro 8 NPN untuk mengawal aliran voltan, Saya menggunakan perintang BDX53B Darlington 4 1000 ohm perintang, 1/4 watt atau lebih tinggi 12 560 ohm perintang, 1/4 watt atau lebih tinggi 1 330uF kapasitor elektrolit 4 4 pin IC soket 9 16 pin IC soket 4 "x4" (atau lebih besar) sekeping papan wangi untuk menahan semua bahagian, Kipas komputer lama Kabel pengawal disket lama Bekalan kuasa komputer lama Banyak wayar cangkuk, solder, solder, fluks, apa sahaja untuk menjadikan hidup anda lebih mudah semasa membuat ini. Sekeping kayu 7 "x7" (atau lebih besar) yang digunakan untuk membuat jig solder LED Casing yang bagus untuk memaparkan kubus siap anda Arduino / Freeduino pilihan saya adalah Bare Bones Board (BBB) dari www.moderndevice.com. LED dibeli dari eBay dan berharga $ 23 untuk 1000 LED yang dihantar dari China. Baki elektronik dibeli dari Newark Electronics (www.newark.com) dan harganya hanya sekitar $ 25. Sekiranya anda harus membeli semuanya, projek ini hanya berharga sekitar $ 100. Saya mempunyai banyak peralatan komputer lama sehingga bahagian-bahagian itu keluar dari timbunan sampah.

Langkah 2: Pasang Lapisan

Pasang Lapisan
Pasang Lapisan
Pasang Lapisan
Pasang Lapisan
Pasang Lapisan
Pasang Lapisan
Pasang Lapisan
Pasang Lapisan

Cara membuat 1 lapisan (64 LED) kubus LED 512 ini: LED yang saya beli berdiameter 3mm. Saya memutuskan untuk menggunakan LED kecil untuk mengurangkan kos dan menjadikan ukuran akhir kubus cukup kecil untuk duduk di meja atau rak saya tanpa mengambil alih meja atau rak sepenuhnya. Saya menarik grid 8x8 dengan jarak sekitar 0,6 inci di antara garisan. Ini memberi saya ukuran kubus sekitar 4,25 inci setiap sisi. Bor lubang 3mm di mana garis bertemu untuk membuat jig yang akan menahan LED semasa anda menyolder setiap lapisan. A6276EA adalah alat sink semasa. Ini bermaksud ia menyediakan jalan ke tanah dan bukannya jalan ke voltan sumber. Anda perlu membina kubus dalam konfigurasi anod yang sama. Sebilangan besar kubus dibina sebagai katod biasa. Bahagian panjang LED umumnya adalah anod, periksa kepunyaan anda untuk memastikannya. Perkara pertama yang saya lakukan ialah menguji setiap LED. Ya, ini adalah proses yang panjang dan membosankan dan anda boleh melangkauinya jika anda mahu. Saya lebih suka menghabiskan masa untuk menguji LED daripada mencari tempat mati di kubus saya setelah dipasang. Saya menjumpai 1 LED mati daripada 1000. Tidak teruk. Potong 11 kepingan dawai cangkuk padat dan tidak bertebat hingga 5 inci. Letakkan 1 LED ke setiap hujung baris di jig anda dan kemudian pasangkan wayar ke setiap anod. Sekarang letakkan baki 6 LED ke dalam barisan dan pasangkan anod ke wayar. Ini boleh secara menegak atau mendatar, tidak menjadi masalah selagi anda melakukan semua lapisan dengan cara yang sama. Semasa anda menyelesaikan setiap baris, potong kelebihan timbal dari anod. Saya tinggalkan sekitar 1/8 . Ulangi sehingga anda selesai semua 8 baris. Sekarang pateri 3 helai wayar cangkuk di baris yang baru anda buat untuk menghubungkan semuanya menjadi satu bahagian. Saya kemudian menguji lapisan dengan melampirkan 5 volt untuk menyambungkan kisi kawat melalui perintang dan menyentuh plumbum tanah ke setiap katod. Ganti mana-mana LED yang tidak menyala. Hapus lapisan dari jig dengan berhati-hati dan sisihkan. Sekiranya anda membengkokkan wayar, jangan risau, cuma luruskan dengan sebaik mungkin. Sangat mudah dibengkokkan. Seperti yang anda tahu dari gambar saya, saya mempunyai banyak wayar bengkok. Selamat, anda sudah selesai 1/8. Buat 7 lapisan lagi. PILIHAN: Untuk membuat pematerian lapisan bersama-sama (Langkah 3) lebih mudah, sementara setiap lapisan seterusnya masih di jig selekoh seperempat inci katod ke depan 45 hingga 90 darjah. Ini akan membolehkan orang ramai mencapai sekitar LED yang disambungkannya dan akan membuat pematerian lebih banyak lebih mudah. Jangan lakukan ini ke lapisan pertama anda, kami akan menyatakan bahawa satu adalah lapisan bawah dan petunjuknya mesti s lurus.

Langkah 3: Pasang Kiub

Pasang Kiub
Pasang Kiub
Pasang Kiub
Pasang Kiub

Cara menyatukan semua lapisan bersama-sama untuk membuat kubus: Bahagian sulit hampir selesai. Sekarang, letakkan kembali satu lapisan dengan hati-hati ke dalam jig, tetapi jangan gunakan terlalu banyak tekanan, kami ingin dapat mengeluarkannya tanpa membengkokkannya. Lapisan pertama ini adalah bahagian atas kubus. Letakkan lapisan lain di atas lapisan pertama, susun plag dan mulakan pematerian. Saya merasa paling mudah untuk melakukan sudut pertama, kemudian tepi luar, kemudian di dalam baris. Terus tambahkan lapisan sehingga anda selesai. Sekiranya anda membengkokkan petunjuk, pastikan untuk menyimpan lapisan dengan petunjuk lurus untuk terakhir. Ia adalah bahagian bawah. Saya mempunyai sedikit ruang di antara setiap lapisan sehingga saya tidak mendapat bentuk kubus. Bukan masalah besar, saya boleh hidup dengannya.

Langkah 4: Membina Papan Pengawal

Membina Lembaga Pengawal
Membina Lembaga Pengawal
Membina Lembaga Pengawal
Membina Lembaga Pengawal
Membina Lembaga Pengawal
Membina Lembaga Pengawal

Cara membina papan pengawal dan pasangkannya ke Arduino anda: Ikuti skema dan bina papan yang anda pilih. Saya meletakkan cip pengawal di tengah papan dan menggunakan sebelah kiri untuk menahan transistor yang mengawal arus ke setiap lapisan kubus, dan menggunakan sebelah kanan untuk menahan penyambung yang pergi dari cip pengawal ke katod lajur LED. Saya menjumpai kipas komputer lama 40mm dengan penyambung molex wanita untuk memasangkannya ke bekalan kuasa komputer. Ini sempurna. Sebilangan kecil aliran udara melintasi cip berguna dan saya sekarang mempunyai cara mudah untuk menyediakan 5 volt kepada cip pengawal dan Arduino itu sendiri. Pada skematik, RC adalah perintang penghad semasa untuk semua LED yang disambungkan ke setiap A6276EA. Saya menggunakan 1000 ohm kerana ia memberikan 5 miliamp ke LED, cukup untuk menyalakannya. Saya menggunakan Kecerahan Tinggi, bukan LED Super Brite, jadi saliran semasa lebih rendah. Sekiranya semua 8 LED dalam lajur menyala sekaligus, hanya 40 miliamp. Setiap keluaran A6276EA dapat mengendalikan 90 miliamp jadi saya berada dalam jarak jangkauan. RL adalah perintang yang disambungkan ke logik atau petunjuk isyarat. Nilai sebenarnya tidak begitu penting selagi wujud dan tidak terlalu besar. Saya menggunakan 560 ohm kerana saya mempunyai banyak daripadanya. Saya menggunakan transistor kuasa yang mampu mengendalikan sehingga 6 amp untuk mengawal arus ke setiap lapisan kubus. Ini berlebihan untuk projek ini, kerana setiap lapisan kubus hanya akan menarik 320 miliamp dengan semua lampu LED menyala. Saya mahukan ruang bertambah dan mungkin menggunakan papan kawalan untuk sesuatu yang lebih besar kemudian. Gunakan transistor saiz apa pun yang sesuai dengan keperluan anda. Kapasitor 330 uF di seluruh sumber voltan ada untuk membantu melancarkan sebarang turun naik voltan kecil. Oleh kerana saya menggunakan bekalan kuasa komputer lama, ini tidak diperlukan, tetapi saya membiarkannya sekiranya seseorang ingin menggunakan penyesuai dinding 5 volt untuk mengaktifkan kubus mereka. Setiap cip pengawal A6276EA mempunyai 16 output. Saya tidak mempunyai penyambung lain yang sesuai, jadi saya menyambung soket IC 16 pin dan akan menggunakannya untuk menyambungkan papan pengawal ke kubus. Saya juga memotong soket IC separuh dan menggunakannya untuk menyambungkan 8 wayar yang menghubungkan transistor ke lapisan kubus. Saya memotong kira-kira 5 inci dari hujung kabel liut lama untuk digunakan sebagai penyambung Arduino. Kabel disket adalah 2 baris 20 pin, Bones Board yang telanjang mempunyai 18 pin. Ini adalah cara yang sangat murah (percuma) untuk menghubungkan Arduino ke papan. Saya menarik kabel reben dalam kumpulan 2 wayar, melucutkan hujungnya dan menyoldernya bersama-sama. Ini membolehkan anda memasang Arduino ke salah satu baris penyambung. Ikuti skema dan pasangkan penyambung ke tempatnya. Jangan lupa untuk menyolder 5 volt dan ground ground untuk penyambung untuk memberi kuasa kepada Arduino. Saya berhasrat menggunakan papan pengawal ini untuk projek lain supaya reka bentuk modular berfungsi dengan baik untuk saya. Sekiranya anda ingin menyambung sambungannya, tidak mengapa.

Langkah 5: Bina Kotak Paparan

Bina Kes Paparan
Bina Kes Paparan
Bina Kes Paparan
Bina Kes Paparan
Bina Kes Paparan
Bina Kes Paparan
Bina Kes Paparan
Bina Kes Paparan

Jadikan produk akhir anda kelihatan cantik: Saya dapati peti kayu ini di Hobby Lobby dengan harga $ 4 dan fikir ia akan sempurna kerana ia mempunyai ruang di dalam untuk memegang semua wayar dan kelihatannya bagus. Saya mengotorkan noda merah yang sama ini yang saya gunakan di meja komputer saya sehingga sesuai. Lukiskan grid di atas dengan ukuran yang sama dengan grid yang digunakan untuk jentera pematerian (.6 inci di antara garis). Lubang lubang untuk membolehkan petunjuk melalui bahagian atas, dan gerudi lubang lain di belakang grid untuk wayar lapisan / satah (dari transistor di Langkah 4). Saya belajar dengan cara sukar bahawa mencuba 64 petunjuk untuk melalui lubang kecil sangat sukar. Saya akhirnya memutuskan untuk menggerudi semula semua lubang sedikit lebih besar untuk menjadikan prosesnya lebih cepat. Saya akhirnya menggunakan sekitar bit penggerudian.2. Sekarang bahawa kubus duduk di atas paparan, bengkokkan hujung sudut sehingga kubus akan tetap di tempat semasa anda memasang wayar. Pastikan anda memasang semua wayar mengikut urutan yang betul. 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 64Dan sambungkan wayar antara lapisan (berlabel 'satah' pada skema) dan transistor. Transistor pada pin Arduino 6 adalah lapisan atas kubus. Sekiranya kabel anda salah, ia agak betul dalam kod, tetapi mungkin memerlukan banyak kerja, jadi cubalah mendapatkannya dengan urutan yang betul. Baiklah, semuanya sudah siap dan siap untuk digunakan, mari kita dapatkan beberapa kod dan mencubanya.

Langkah 6: Kod

Kod
Kod

Kod kubus ini dilakukan dengan cara yang berbeza daripada kebanyakan, saya akan menerangkan cara menyesuaikan diri. Kebanyakan kod kubus menggunakan tulisan langsung ke lajur. Kodnya mengatakan bahawa Tiang X perlu dinyalakan jadi beri jus dan kita sudah selesai. Itu tidak berfungsi semasa menggunakan cip pengawal. Cip pengawal menggunakan 4 wayar untuk bercakap dengan Arduino: SPI-in, Clock, Latch, dan Enable. Saya membumikan pin Aktifkan (pin 21) melalui perintang (RL) sehingga output selalu diaktifkan. Saya tidak pernah menggunakan Enable jadi saya mengeluarkannya dari kod. SPI-in adalah data dari Arduino, Jam adalah isyarat masa antara keduanya ketika mereka bercakap, dan Latch memberitahu pengawal sudah waktunya untuk menerima data baru. Setiap output untuk setiap cip dikendalikan oleh nombor binari 16 bit. Sebagai contoh; menghantar 1010101010101010 ke pengawal akan menyebabkan setiap LED lain pada pengawal menyala. Kod anda perlu melalui semua yang diperlukan untuk paparan dan membina nombor binari itu, kemudian hantarkan ke cip. Lebih senang daripada kedengarannya. Secara teknikalnya adalah penambahan bitwise, tetapi saya kurang senang dalam matematik bitwise sehingga saya melakukan semuanya dalam perpuluhan. Perpuluhan untuk 16 bit pertama adalah seperti berikut: 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 == 32768 Ini bermaksud jika anda mahu nyalakan output 2 dan 10, anda menambah perpuluhan (2 dan 512) bersama-sama untuk mendapatkan 514. Hantar 514 ke pengawal dan output 2 dan 10 akan menyala. Tetapi kami mempunyai lebih daripada 16 LED sehingga menjadi sedikit lebih sukar. Kita perlu membina maklumat paparan untuk 4 cip. Yang semudah membinanya untuk 1, buat 3 kali lagi. Saya menggunakan tatasusunan pemboleh ubah global untuk menahan kod kawalan. Hanya lebih mudah dengan cara itu. Sebaik sahaja anda mempunyai semua 4 kod paparan yang siap dihantar, lepaskan kait (tetapkan ke RENDAH) dan mulailah menghantar kod. Anda perlu menghantar yang terakhir terlebih dahulu. Hantarkan kod untuk cip 4, kemudian 3, kemudian 2, kemudian 1, kemudian tetapkan Latch ke TINGGI sekali lagi. Oleh kerana pin Enable selalu disambungkan ke tanah, paparannya akan berubah serta-merta. Kebanyakan kod kubus yang pernah saya lihat di Instructables, dan web pada umumnya, terdiri daripada sekumpulan kod raksasa untuk melakukan animasi yang telah ditetapkan. Itu berfungsi dengan baik untuk kubus yang lebih kecil tetapi perlu menyimpan, membaca, dan menghantar 512 bit binari setiap kali anda mahu menukar paparan memerlukan banyak memori. Arduino tidak dapat mengendalikan lebih dari beberapa bingkai. Oleh itu, saya menulis beberapa fungsi mudah untuk menunjukkan kiub dalam tindakan yang lebih bergantung pada pengiraan dan bukannya mengatur animasi. Saya menyertakan animasi kecil untuk menunjukkan bagaimana ia dilakukan, tetapi saya akan menyerahkan kepada anda untuk membina paparan anda sendiri.cube8x8x8.pde adalah kod Arduino. Saya bercadang untuk terus menambahkan fungsi pada kod dan akan mengemas kini program secara berkala.matrix8x8.pde adalah program dalam Pemprosesan untuk membina paparan anda sendiri. Nombor pertama yang diberikan masuk ke dalam pola1 , kedua menjadi pola2 , dan lain-lain. Lembar data untuk A6276EA boleh didapati di:

Langkah 7: Paparkan Hasil Kerja Anda

Paparkan Hasil Kerja Anda
Paparkan Hasil Kerja Anda

Anda sudah selesai, kini tiba masanya untuk menikmati kiub anda. Seperti yang anda lihat, kubus saya keluar sedikit bengkok. Saya tidak begitu berminat untuk membina yang lain, jadi saya akan hidup dengan bengkok. Saya mempunyai beberapa titik mati yang perlu saya perhatikan. Ini mungkin sambungan yang buruk, atau saya mungkin memerlukan cip pengawal baru. Saya harap Instructable ini memberi inspirasi kepada anda untuk membina kubus anda sendiri, atau beberapa projek LED lain menggunakan A6276AE. Hantarkan pautan dalam komen jika anda membina. Saya telah berusaha memutuskan dari mana harus pergi dari sini. Papan pengawal juga akan mengawal kubus RGB 4x4x4, jadi kemungkinan itu. Saya rasa rapi untuk melakukan sfera dan cara saya menulis kod, tidak akan sukar untuk dilakukan.

Disyorkan: