Iklan
Jika Anda telah mencoba-coba beberapa proyek Arduino pemula, tetapi sedang mencari sesuatu yang sedikit permanen dan secara keseluruhan sangat luar biasa, maka kubus LED 4 x 4 x 4 yang sederhana adalah pilihan alami. Konstruksi jauh lebih mudah daripada yang Anda bayangkan, dan menggunakan multiplexing, kami dapat mengontrol semua LED langsung dari hanya satu papan Arduino Uno. Ini adalah praktik penyolderan yang hebat, dan total biaya komponen tidak boleh lebih dari $ 40.
Hari ini saya akan merinci secara menyeluruh sisi konstruksi, dan menyediakan beberapa perangkat lunak untuk menjalankannya yang keduanya terlihat mengesankan dan mengajarkan Anda dasar-dasar.
Anda akan perlu
- Sebuah Arduino. Kode yang disediakan mengasumsikan Arduino Uno, tetapi dapat disesuaikan dengan model yang lebih besar juga.
- 64 LED - pilihan yang tepat terserah Anda, tapi saya menggunakan LED 3mm superbright ini (3.2v 30mA) @ £ 2,64 untuk 50.
- 16 Resistor dari nilai yang sesuai untuk LED Anda. Untuk LED di atas, 99 pence membeli 100 ini. Menggunakan ledcalc.com - masukkan 5v untuk tegangan suplai, tegangan LED (dalam kasus saya 3.2) dan arus dalam milliamps (3.2). Resistor yang Anda inginkan akan ditampilkan di kotak berlabel “Resistor bernilai tertinggi terdekat”, lalu cari nilai itu di eBay.
- Beberapa kawat kerajinan untuk memperkuat struktur dasar dan untuk dekorasi - saya gunakan 0.8mm ketebalan.
- SEBUAH papan prototyping dari beberapa jenis yang Anda dapat solder semua bit Anda. Saya menggunakan yang tidak memiliki trek penuh karena saya tidak memiliki track cutter, tetapi gunakan apa pun yang cocok untuk Anda. Arduino prototyping shield agak terlalu kecil, kecuali jika Anda benar-benar menekan LED Anda bersama-sama.
- Kawat komponen acak - beberapa helai kabel jaringan dan beberapa kabel prototyping dari kit akan berfungsi dengan baik.
- Klip buaya atau "uluran tangan" berguna untuk memegang bit pada tempatnya.
- Besi solder, dan solder.
- Beberapa kayu bekas.
- Bor, dengan ukuran yang sama dengan LED Anda.
Catatan: gambar 3D dalam tutorial ini dilakukan dalam hitungan menit menggunakan TinkerCAD. Saya mengikuti bangunan yang ada yang dirinci pada Instructables oleh pengguna forte1994, yang mungkin juga ingin Anda baca sebelum mencoba ini.
Pastikan untuk membaca semua instruksi ini pertama sebelum mencoba ini untuk diri sendiri.
Prinsip Desain Ini
Sebelum Anda memulai konstruksi, penting untuk memiliki ikhtisar lengkap tentang bagaimana hal ini akan bekerja sehingga Anda dapat berimprovisasi dan mengidentifikasi kesalahan saat Anda melanjutkan. Beberapa kubus LED menggunakan pin output tunggal untuk setiap LED tunggal - namun dalam kubus 4x4x4, itu perlu 64 pin - yang tentu saja tidak kita miliki di Arduino Uno. Salah satu solusinya adalah menggunakan register geser Pemrograman Arduino - Bermain Dengan Register Shift (a.k.a Bahkan Lebih Banyak LED)Hari ini saya akan mencoba mengajari Anda sedikit tentang Shift Register. Ini adalah bagian yang cukup penting dari pemrograman Arduino, pada dasarnya karena mereka memperluas jumlah output yang dapat Anda gunakan, dengan imbalan ... Baca lebih banyak , tapi ini tidak perlu rumit.
Untuk mengontrol semua LED itu hanya dalam 20 pin, kami akan menggunakan teknik yang disebut multiplexing. Dengan memecah kubus menjadi 4 lapisan terpisah, kita hanya perlu pin kendali untuk 16 LED - jadi untuk menerangi a LED spesifik, kita harus mengaktifkan baik layer, dan pin kontrol, memberi kita total persyaratan 16 + 4 pin. Setiap lapisan memiliki katoda umum - bagian negatif dari rangkaian - sehingga semua kaki negatif disatukan, dan terhubung ke pin tunggal untuk lapisan itu.
Di anoda (positif) sisi, setiap LED akan terhubung ke LED yang sesuai pada lapisan di atas dan di bawahnya. Pada dasarnya, kami memiliki 16 kolom kaki positif, dan 4 lapisan negatif. Berikut ini beberapa tampilan 3D dari koneksi untuk membantu Anda memahami:
Konstruksi
Karena kami tidak akan menggunakan struktur logam penuh untuk disolder, kami ingin semua kaki LED tumpang tindih sekitar seperempat dan memberikan kekakuan pada struktur. Lipat katoda LED Anda - sisi dengan takikan rata di kepala dan kaki yang lebih pendek - seperti yang ditunjukkan pada diagram. (Tidak masalah jika Anda menekuknya ke kiri atau kanan, selama Anda konsisten dan tidak pernah menyentuh anoda)
Bagian penting pertama dari proyek ini adalah membuat jig kayu. Ini akan menahan lapisan LED saat Anda menyatukan kaki, jadi itu harus akurat dan tidak terlalu longgar. Dengan menggunakan mata bor ukuran yang sama dengan LED Anda, ukur dan bor sekitar 4 × 4 matriks sama jauh lubang. Ingatlah bahwa Anda ingin sekitar seperempat kaki tumpang tindih dengan tetangganya, dan gunakan penggaris yang sebenarnya. Periksa setiap lubang untuk memastikan LED dapat pas, tetapi tidak terlalu ketat sehingga Anda tidak akan bisa mengeluarkannya lagi, atau Anda akan mengalami masalah ketika mencoba untuk menghapus lapisan yang sepenuhnya disolder.
Solder katoda dari 4 baris LED. Berhati-hatilah untuk tidak membakar LED - Anda ingin setrika panas yang baik, dan harus masuk dan keluar. Inilah empat baris pertama saya yang selesai.
Sekarang, untuk memperkuat kekakuan lapisan, potong dan solder dua bit lurus kawat kerajinan ke kedua ujungnya, pastikan mereka terhubung dengan setiap baris. Ini adalah lapisan pertama Anda. Biarkan semua kaki berlebih menonjol di samping untuk saat ini.
Sekarang akan menjadi saat yang tepat untuk menguji - cukup memuat aplikasi blink default Arduino, dan dengan resistor yang terhubung, letakkan tanah ke bingkai layer, dan tekan ujung positif untuk setiap LED secara bergantian.
Semoga mereka semua akan menyala. Jika tidak, pastikan Anda tidak melewatkan sambungan solder di suatu tempat, dan jika perlu ganti LED.
Hapus lapisan itu dari jig, dan ulangi prosesnya 3 kali lebih banyak.
Jangan khawatir jika solder Anda tidak sempurna - asalkan tidak akan putus dan koneksi solid, itu tidak akan mempengaruhi produk akhir. Saya akui, solder saya tidak ada harapan, jig saya lepas, dan semuanya menyerupai menara miring Pisa. Namun, saya bangga dengan kubus yang sudah jadi, dan ketika LED menyala Anda tidak akan melihat sambungan soldernya!
Bergabung dengan Layers
Setelah Anda memiliki 4 lapisan selesai, Anda ingin menggabungkan semua kaki vertikal secara bersamaan. Saya menemukan ini menjadi bagian tersulit dari bangunan, dan untuk membantu proses saya memotong riser kartu.
Ini membuat lapisan pada ketinggian yang sesuai, tetapi banyak kaki masih tidak akan menyelaraskan dengan sempurna - untuk ini, saya menggunakan beberapa klip buaya untuk menahan mereka di tempat.
Kesalahan Konyol Ke-1 Yang Harus Dihindari
Hanya setelah menyelesaikan satu lapisan penuh saya menyadari riser kartu saya macet di tempat, jadi saya harus hentikan itu! Jangan melakukan kesalahan yang sama dengan yang saya lakukan - buat riser lebih lama di samping, dan gabungkan potongan kartu di luar kubus, jadi ketika Anda telah menyelesaikan layer, Anda dapat mendekonstruksi riser dan mengeluarkannya kartu.
Kesalahan konyol kedua yang harus dihindari
Jangan disolder kaki vertikal ke bingkai katoda, jelas. Kaki vertikal seharusnya hanya terhubung ke kaki vertikal lainnya, dan tidak ada yang lain.
Sekali lagi, uji setelah setiap lapisan telah terpasang. Uji semua lapisan, pada kenyataannya, hanya menyentuh ujung positif ke ujung lapisan paling atas, dengan demikian memastikan Anda mendapatkan kontak yang baik melalui semua lapisan.
Ketika semua 4 lapisan disolder bersama, saya mulai membersihkan sedikit - saya meninggalkan satu kaki diperpanjang dari setiap lapisan dalam semacam batu loncatan - ini akan jatuh ke bawah papan nanti. Potongan-potongan logam dan kaki asing lainnya dipotong. Jelas, jangan memotong kaki vertikal apa pun - kita harus memasukkan ini ke dalam papan protoytping kami.
Memperbaiki Papan
Ingat ketika saya mengatakan memperbaiki setiap lapisan itu sendiri adalah bagian tersulit? Aku berbohong. Mencoba memasukkan 16 kaki LED ke dalam lubang-lubang kecil di papan prototyping sebenarnya lebih sulit. Cara termudah yang saya temukan adalah menusuk 4 sekaligus, mengamankannya di bawahnya dengan klip buaya, kemudian beralih ke baris 4 berikutnya. Gunakan spidol untuk menandai spasi sebelumnya jika itu membantu.
Dalam retrospeksi, sebenarnya saya akan menempatkan resistor ke protoboard pertama. Karena itu, saya menyolder semua kaki kubus ke papan terlebih dahulu, lalu mencoba meremas resistor dengan hati-hati di antara masing-masing. Belajarlah dari kesalahan saya, dan tempatkan resistor Anda terlebih dahulu.
Saya mencoba untuk menempatkan mereka secara merata dalam mode loncatan sehingga saya bisa menggunakan satu sisi kubus untuk semua koneksi terakhir ke Arduino. Berikut diagram sirkuit yang saya ikuti:
Untuk empat lapisan negatif, saya menjatuhkan satu kawat ke bawah dari setiap lapisan, kemudian hanya menariknya ke samping, seperti ini:
Akhirnya, saya menambahkan beberapa kabel steker yang kemudian dapat saya tempatkan ke pin Arduino yang relevan. Gunakan jenis terpanjang yang Anda miliki. Catatan Saya mengacaukan pesanan di beberapa tempat karena perencanaan yang buruk. Setiap baris LED diberi kode warna.
Itu dia. Jadi!
Memprogram Kubus Anda
Saya tahu Anda tidak sabar untuk menyalakannya, jadi colokkan 4 lapisan negatif ke dalamnya I / O analog port A2 (lapisan bawah) melalui A5 (lapisan atas)(ini juga dapat bertindak sebagai I / O digital). Kemudian colokkan 16 pin kontrol LED, dimulai dengan +1 di paling kanan untuk I / O digital port 0, dengan +15 dan +16 pergi ke analog A0 dan A1. (Jangan gunakan AREF dan GND)
Unduh pola dan kode demo dari pengguna yang dapat diajari forte1994. Dia juga menyediakan alat online yang bermanfaat untuk mendesain pola byte untuk menyesuaikan urutan Anda sendiri. Ini video kode ini yang sedang beraksi di kubus saya (Saya menyesuaikan kecepatan ke 5, bukan standar 20).
Ini bukan satu-satunya cara untuk memprogram kubus Anda, tentu saja, jadi izinkan saya meluangkan waktu beberapa menit untuk mengajarkan Anda dasar-dasar membuat pola Anda sendiri secara terprogram, daripada memutar ulang pola yang telah ditetapkan seperti yang ditunjukkan oleh demo di atas.
Ada beberapa hal yang harus Anda ketahui ketika mencoba memprogram kubus Anda:
- Untuk mengatasi satu LED, Anda menggunakan a pesawat (lapisan) nomor 0–3, dan nomor pin LED 0–15. Putar bidang ke output RENDAH (karena ini adalah kaki negatif) dan nomor pin LED TINGGI (kaki positif) untuk mengaktifkan LED.
- Sebelum mengaktifkan satu LED, pastikan semua pesawat lain dalam keadaan mati - yang berarti mengaturnya ke output TINGGI. Kegagalan untuk melakukan ini akan menghasilkan kolom LED menyala daripada LED tunggal.
Dengan mengingat hal itu, saya telah membuat dua urutan program yang sangat sederhana untuk Anda periksa - unduh kodenya dari sini. Yang pertama hanya menyalakan setiap LED satu per satu, secara berurutan. Kami menggunakan dua untuk loop untuk ini, iterasi di setiap layer dan setiap pin kontrol.
Yang kedua adalah pengulangan acak (Anda harus mengomentari yang pertama dan mengaktifkannya di pengulangan utama untuk mengujinya). Ini hanya mengambil lapisan acak, dan pin kontrol acak, mem-flash dan mematikannya.
Ringkasan
Jangan terintimidasi oleh bangunan ini - saya benar-benar tidak memiliki keterampilan menyolder, dan saya mengelola ini dengan baik (Kupikir?). Total waktu pembangunan sekitar satu jam atau lebih sehari selama seminggu. Lain kali, saya akan mencoba mengajari Anda beberapa program yang lebih ambisius untuk kubus, jadi saya harap Anda akan bergabung dengan saya dalam membangun kubus Anda sendiri minggu ini dan memuat beberapa kode baru pada minggu depan - dan jika Anda benar-benar membuat aplikasi atau urutan yang mengagumkan, harap unggah ke Pastebin dan beri tahu kami di komentar!
James memiliki gelar BSc dalam Artificial Intelligence, dan bersertifikat CompTIA A + dan Network +. Dia adalah pengembang utama MakeUseOf, dan menghabiskan waktu luangnya bermain VR paintball dan boardgames. Dia telah membangun PC sejak dia masih kecil.