Daftar Isi:
- Langkah 1: Teori
- Langkah 2: Perangkat Keras: LED Cube Build
- Langkah 3: Baris LED
- Langkah 4: Lapisan Perakitan
- Langkah 5: Pengkabelan Kubus
- Langkah 7: Arduino + Papan Kontrol Bluetooth
- Langkah 8: Opsional: Mengukir Papan Sirkuit
- Langkah 9: Menghubungkan Kubus
- Langkah 10: Perangkat Lunak: Siklus Multiplexing
- Langkah 11: Animasi Kustom
- Langkah 12: Tambahan: AnimationCreator
- Langkah 13: Aplikasi Bluetooth
- Langkah 14: Pamerkan
Video: RGB LED Cube Dengan Aplikasi Bluetooth + AnimationCreator: 14 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Ini adalah instruksi tentang cara membuat Kubus LED 6x6x6 RGB (Common Anodes) yang dikendalikan oleh Aplikasi Bluetooth menggunakan Arduino Nano. Seluruh build mudah beradaptasi dengan katakanlah 4x4x4 atau 8x8x8 Cube. Proyek ini terinspirasi oleh GreatScott. Saya memutuskan untuk membangun yang lebih canggih menggunakan led yang lebih besar (8mm), dengan jarak yang lebih sedikit + menambahkan komunikasi Bluetooth yang membuat penambahan fungsi baru jauh lebih mudah dan juga menambahkan kemampuan membangun aplikasi untuk mengontrol kubus. Ini juga memungkinkan saya untuk mis. kode Game Ular (video showcase ke-3 di akhir). Selain itu saya menambahkan mode Audio Visualizer yang memungkinkan kubus untuk memvisualisasikan Input AUX mis. Musik menggunakan MSGEQ7 (showcase video di akhir). Selain itu saya menulis aplikasi AnimationCreator di Java dengan UI yang mudah digunakan untuk membuat dan men-tweak Animasi, sehingga siapa pun dapat membuat animasi kustom dengan sangat cepat. Jadi Aplikasi Sketch + Bluetooth menyediakan kerangka kerja untuk konfigurasi Kubus LED apa pun dan dengan Pembuat Animasi Anda tidak perlu khawatir tentang penerapan animasi khusus.
Tautan ke Arduino Sketch dan Aplikasi Bluetooth:
RGBCube_Arduino Sketch (Github)+Animation Creator.jar
Aplikasi Cubo Bluetooth (Github)
Daftar bagian untuk Cube:
- 216x RGB LED (Common Anode) (8mm)(AliExpress / Ebay)-> 6x6x6=216
- Kabel Pita (1m 40Pin harus cukup) (AliExpress / Ebay / Amazon)
- Header Wanita dan Pria (masing-masing minimal 4x40pin) (AliExpress / Ebay / Amazon)
- Kawat Tembaga/Perak Kaleng 0.8mm (~25Meter) (AliExpress / Ebay / Amazon)
- Menyusut Tabung (AliExpress / Ebay / Amazon)
Daftar bagian untuk Papan Kontrol:
- 7 x TLC5940 LED Driver (Ebay / AliExpress)
- 6 x IRF 9540 P-Channel MOSFET (Amazon / Ebay / AliExpress)
- Kapasitor 8 x 10 uF (Amazon / Ebay / AliExpress)
- 3x1000 uF Kapasitor (Amazon / Ebay / AliExpress)
- 14x 2.2kOhm Resistor (Amazon / Ebay / AliExpress)
- 1 x 1kOhm Resistor (Amazon / Ebay / AliExpress)
- 7 x 28pin IC Soket (Amazon / Ebay / AliExpress)
- 1 x Arduino Nano (Amazon / Ebay / AliExpress)
- 1 x 1N4001 Diode (Dioda umum) (Amazon / Ebay / AliExpress)
- 8 x 0.1uF Kapasitor (Ebay)
- 1 x DC Jack PCB Mount (Amazon / Ebay / AliExpress)
- 1 x Modul Bluetooth HC-05 (Amazon / Ebay / AliExpress)
Langkah 1: Teori
Jika Anda tidak tertarik dengan teori tentang multiplexing daripada melompat ke Langkah 2 untuk memulai pembangunan yang sebenarnya
Karena perangkat keras dan perangkat lunak adalah bagian besar dari proyek ini, mari kita lihat teorinya terlebih dahulu.
Otak kubus adalah Arduino Nano. Ini menyediakan I/O yang cukup untuk berinteraksi dengan Driver LED yang digunakan serta membuat koneksi Bluetooth ke modul HC-05 dan perangkat keras kontrol lainnya. Jika Anda telah melihat build LED Cube lainnya, Anda akan tahu bahwa kebanyakan orang menggunakan register Shift sederhana untuk menyimpan nilai kecerahan warna masing-masing LED. Build ini tidak menggunakan register Shift, melainkan disebut Driver LED "TLC5940". Seperti yang akan kita lihat nanti, ini menghemat banyak waktu dan juga banyak perangkat keras tambahan (misalnya resistor).
Fungsi dasar pengontrolan kubus menggunakan multiplexing. Dalam hal ini kita menggandakan 6 lapisan kubus, artinya semua Anoda (+) dari semua LED dalam satu lapisan terhubung, sedangkan Katoda individu dari semua LED di Kolom yang sama terhubung ke bawah. Ini berarti bahwa jika Anda ingin menyalakan LED pada posisi x=1, y=2, z=3, warna: hijau Anda perlu memberikan 5V pada Anoda Lapisan 3 dan menghubungkan GND ke Katoda Kolom yang sesuai dengan Pin Hijau dari x=1, y=2. Jadi pada kenyataannya pada satu titik waktu, hanya satu lapisan Kubus yang benar-benar dihidupkan, tetapi seperti yang akan Anda lihat nanti dalam Kode, kami mematikan dan pada masing-masing Lapisan begitu cepat, sehingga mata kami mengira seluruh kubus menyala..
Untuk mengontrol hal-hal seperti kecerahan, animasi dan sebagainya kami menggunakan modul Bluetooth HC-05 yang terhubung ke Arduino Nano. Sangat mudah untuk menggunakan modul dengan Arduino karena Anda hanya memerlukan koneksi 4 Pin dan cukup menghubungkan modul melalui Komunikasi Serial default Arduino. Menjelang akhir instruksi ini, Anda akan melihat betapa mudahnya menulis Aplikasi Bluetooth Anda sendiri untuk mengontrol Cube.
CATATAN
Dalam skema papan Sirkuit Arduino saya, Anda juga dapat melihat skema kecil untuk menghubungkan chip MSGEQ7 untuk memproses Input Audio, ini sama sekali tidak diperlukan untuk kubus yang sebenarnya dan hanya fungsi tambahan yang saya tambahkan, maka Anda dapat mengabaikan Skema yang ditandai dengan "MSGEQ7"
Langkah 2: Perangkat Keras: LED Cube Build
Jadi mari kita lihat bagaimana membangun Cube itu sendiri, sebelum berbicara tentang rangkaian kontrol di sekitar Arduino Nano.
Daftar Bagian untuk Konstruksi Kubus:
- 216x RGB LED (Common Anode) (AliExpress / Ebay)-> 6x6x6=216
- Kabel Pita (1m 40Pin harus cukup) (AliExpress / Ebay / Amazon)
- Header Wanita dan Pria (minimal 4x40pin) (AliExpress / Ebay / Amazon)
- Kawat Tembaga/Perak Kaleng 0.8mm (~25Meter) (AliExpress / Ebay / Amazon)
- Menyusut Tabung (AliExpress / Ebay / Amazon)
Hal pertama yang harus dilakukan, dan saya sekarang membosankan tetapi perlu, kita harus menguji LED. Untuk melakukan itu, kita cukup menghubungkan catu daya misalnya blok Baterai 9V dengan klip ke breaboard. Seperti yang Anda lihat pada gambar 3 Pin terpanjang dari LED adalah Anoda (+) sehingga Anda menghubungkan pin ini ke +9V baterai. Sekarang sebelum menghubungkan GND ke masing-masing warna Katoda (Merah, Hijau, Biru) tambahkan resistor 220Ohm ke setiap katoda untuk membatasi arus. Sekarang bersenang-senanglah menguji semua warna dari 216 LED.
Pada langkah selanjutnya kita akan menyiapkan LED yang sudah diuji sehingga nantinya kita dapat dengan mudah merakitnya dalam kolom.
Langkah 3: Baris LED
Sebelum kita dapat menyolder LED ke barisnya masing-masing, kita perlu menekuk dan memotong kabelnya.
Seperti yang Anda lihat pada gambar pertama, saya mengebor lubang 8mm (untuk LED 8mm) dengan sederhana ke dalam sepotong kayu dan mengebor 3 bor yang sangat kecil di sebelah kiri lubang LED dan satu lagi di sebelah kanan lubang. Bor ini adalah penanda untuk menekuk lead dengan benar dan harus memiliki jarak sekitar 1cm dari tengah lubang untuk LED.
Teknik ini terinspirasi oleh Steve Manley, Anda dapat menemukan video dia melakukan ini dengan sedikit variasi di YouTube.
Sebelum Anda memotong dan menekuk sadapan di sekitar bor seperti yang terlihat pada gambar 2 dan 3, pastikan orientasi sadapan sesuai dengan gambar 1 (Biru di atas ke kiri, lalu hijau, lalu anoda + ke kanan, dan merah kiri lagi). Lingkaran yang Anda tekuk ke dalam timah harus memiliki diameter yang cukup besar agar sesuai dengan kawat tembaga kaleng (0,8 mm). Langkah ini membuatnya lebih mudah untuk menyolder LED di tempatnya dengan baik.
Sekarang setelah semua LED disiapkan, kami ingin merakitnya dalam baris 6 di mana Anoda(+) terhubung:
- Buat jig kecil seperti terlihat pada gambar 6, bor 6 lubang (diameter 0.8mm) dengan jarak 2.5cm ke lubang berikutnya. Ini memungkinkan kami memasukkan 6 LED sekaligus ke dalam jig
- Untuk menghubungkan anoda kita membutuhkan sepotong kawat tembaga lurus dengan panjang ~ 16cm (dengan beberapa margin tambahan). Untuk mendapatkan kawat yang bagus dan lurus, Anda dapat memasang salah satu ujung kawat ke misalnya bor listrik, kencangkan sekitar 2m kabel sekaligus di atas meja, lalu pegang bor sehingga kawat diregangkan dan kencang dan nyalakan bor selama beberapa detik dengan meluruskan kawat dengan sangat cepat. Anda kemudian dapat memotong kawat tepat di tempat Anda mengamankan potongan. Anda juga dapat menggunakan dua tang dan mengencangkan potongan kawat yang lebih kecil sekaligus, tetapi itu jauh lebih membosankan
- Setelah Anda memiliki kabel sepanjang 16cm, Anda mengarahkannya melalui lubang Anoda (+) LED di jig dan menyolder pin Anoda ke kabel (Gambar 7)
Untuk seluruh kubus kita akan membutuhkan 6x6 =36 baris LED ini
Langkah 4: Lapisan Perakitan
Seperti yang telah saya sebutkan sebelumnya, kami akan melipatgandakan lapisan kubus, tetapi untuk perakitan lebih mudah untuk membangun 6 Dinding 6x6 LED dan kemudian merakitnya di samping satu sama lain dan cukup menjalankan satu kawat tembaga kaleng yang menghubungkan anoda baris dalam lapisan bersama-sama.
Berhati-hatilah karena langkah ini membutuhkan banyak waktu dan kesabaran untuk melakukannya dengan benar, total Anda harus menyolder sekitar 1000 sambungan solder untuk pembuatannya, jadi luangkan waktu Anda!
Untuk membangun Dinding LED:
- Untuk jig: Kami membutuhkan sepotong kayu dengan 6 garis berukir agar sesuai dengan 6 baris satu di atas yang lain untuk membangun dinding. Anda dapat melihat jig itu sendiri pada gambar 2 (jarak antar baris: 2.5cm)
- Anda memasukkan 6 baris LED ke dalam ukiran, dengan kawat Anoda menghadap ke bawah ke dalam garis berukir, sehingga 3 Katoda (R, G, B) menghadap ke atas
- Untuk menghubungkan Katoda yang diposisikan di atas satu sama lain (lihat gambar 2) kita memerlukan beberapa kawat lagi (jadi sekali lagi kita 6 Kolom x 3 Katoda x 6 Dinding = 108 potongan kawat kaleng seperti yang dijelaskan pada langkah terakhir (2.) (panjang yang sama juga))
- Geser potongan kawat dari bagian bawah kolom melalui lubang Katoda ke baris atas dan solder kawat di tempatnya di setiap LED
Anda melakukan ini 6 kali untuk mendapatkan 6 Dinding LED.
Sekarang kita benar-benar dapat merakit Dinding menjadi kubus itu sendiri. Tapi untuk menahan kubus, kita perlu membangun semacam ground plane. Untuk ini saya hanya menggunakan beberapa kayu lapis tipis dan mengebor lubang kecil 0.8mm ke dalamnya, agar sesuai dengan kabel yang tergantung dari Baris LED terendah (untuk semua 6 Dinding LED). Pengukuran untuk lubang satu LED didokumentasikan pada Langkah 3 dan jarak antara setiap LED adalah 2,5 cm.
Dengan lubang-lubang di tempatnya, sekarang kita ambil dinding pertama dan mengarahkannya ke lubang-lubang di paling kiri kayu lapis. Baris LED di bagian bawah harus berada tepat di atas kayu, sehingga pada akhirnya semua Dinding sejajar.
Lakukan hal yang sama dengan Dinding LED lainnya, tetapi ingat bahwa Anoda Dinding selalu menghadap ke arah yang sama. (pada gambar 3 semua Anoda Tembok menghadap ke kiri)
Setelah seluruh Kubus terpasang, kita perlu menyolder Anoda dari setiap lapisan bersama-sama. Untuk melakukan ini, kami mengambil sepotong kawat lurus ~16cm lainnya dan meletakkannya di atas lapisan pertama, sehingga kawat menyentuh semua kabel Anoda dari 6 dinding dalam satu lapisan. Perhatikan bahwa kabel baru tidak menyentuh salah satu Katoda. Solder kawat di tempatnya dan ulangi hal yang sama untuk 5 lapisan yang tersisa.
Langkah 5: Pengkabelan Kubus
Bagian untuk Papan Driver LED:
- 7 x TLC5940
- Kapasitor 6/7 x 10 uF
- 2 x 1000 uF Kapasitor
- 7x 2.2kOhm Resistor
- 7 x 28pin IC Soket
- 7 x 0.1uF Kapasitor
- Kabel pita
Pindah ke sirkuit pengontrol, pertama-tama mari kita lihat papan Driver LED. Seperti yang disebutkan sebelumnya, kita membutuhkan 7 TLC5940 yang terhubung ke Arduino Nano. Semua Chip TLC5940 adalah rantai daisy yang berarti bahwa semua Pin kontrol dari Driver saling berhubungan (misalnya pin BLANK dari TLC pertama terhubung ke BLANK dari kedua, ketiga, keempat, … TLC) dan semuanya terhubung ke Arduino dengan kabel yang sama, kecuali Serial In yang pertama disambungkan dari Pin Digital Arduino ke TLC pertama, kemudian pin Serial Out TLC pertama ini disambungkan ke pin SIN TLC kedua dan seterusnya (lihat gambar 4)…
Jadi skema Papan TLC cukup sederhana seperti yang Anda lihat pada skema terlampir.
(JIKA ANDA INGIN MENGETCH PAPAN LOMPAT KE LANGKAH 8)
Saya juga melampirkan tangkapan layar skema dalam frizzyang mencakup label pin dan juga file.xcf GIMP dengan lapisan untuk setiap koneksi Pin Kontrol yang dipisahkan.
Mulailah dengan menyolder semua soket IC di tempatnya, lalu menambahkan Kapasitor 100nF ke setiap TLC, diikuti oleh resistor 2.2kOhm ke IREF dan GND dan Header 7 pin di sudut kanan atas.. Setelah itu Anda cukup mengikuti file.xcf dengan dimulai dengan "lapisan SIN" di file Gimp yang menunjukkan cara menghubungkan pin Serial IN/OUT Driver menggunakan Kabel Pita, kemudian mengaktifkan Lapisan CLK di GIMP dan seterusnya. Pastikan Anda memiliki koneksi yang baik dari + dan - Pin ke pin Header di kanan atas Sisa skema harus cukup jelas tetapi pastikan Anda menambahkan cukup 1000uF dan 10uF Kapasitor ke papan itu tidak begitu relevan di mana tepatnya Anda memposisikan mereka.
Setelah papan ini selesai, Anda dapat melanjutkan ke Papan Arduino di langkah berikutnya.
Langkah 7: Arduino + Papan Kontrol Bluetooth
Bagian untuk Papan Kontrol:
- 6 x IRF 9540 P-Channel MOSFET
- 1 x 10 uF Kapasitor
- 1 x 1000 uF Kapasitor
- 7 x 2.2kOhm Resistor
- 1 x 1kOhm Resistor
- 2 x 14 Header pin wanita
- 1 x Arduino Nano
- 1x1N4001 Dioda
- 1 x 0.1uF Kapasitor
- 1 x DC Jack PCB Mount
- 1 x Modul Bluetooth HC-05
- 1x3.5mm Audio Jack
Papan Kontrol Arduino terutama menangani multiplexing serta menyediakan pasangan pin header papan Driver LED.
Solder pada perfboard:
- Tempatkan dua pin header perempuan untuk bertindak sebagai soket untuk Arduino di tengah papan.
- Letakkan 6 MOSFET secara berurutan di sisi kanan Arduino (sisi dengan Pin Analog) dan tambahkan resistor 2.2kOhm antara masing-masing pin pertama dan terakhir.
- Sekarang tempatkan 6 pin header di depan MOSFET (tengah baris) dan hubungkan 6 pin DRAIN dari FET (pin tengah) ke header dan pin GATE (pin kiri) dari FET ke masing-masing pin Analog Arduino.
- Selanjutnya, solder header 7pin untuk koneksi LEDDriver di sisi lain Arduino, sisakan ruang untuk kabel dan solder semua koneksi dari Arduino ke header pin.
- Tambahkan beberapa kapasitor (1-2 1000uF, 1 10uF, 100nF di sebelah Arduino) untuk kemungkinan aliran arus.
- Solder 4 pin header di sebelah belakang Arduino untuk modul HC-05 dan buat 4 koneksi ke VCC, RX, TX, GND dan jangan lupa untuk membuat pembagi tegangan dari Pin RX dari HC-05 dan Pin TX dari Arduino (lihat di sini)
- Tempatkan Jack DC di setiap tepi papan dengan sakelar di sebelahnya dan sambungkan pin kanan sakelar ke + Pin Jack DC
- Terakhir, buat semua koneksi Daya yang diperlukan dari Pin GND Jack DC dan pin kanan sakelar (VCC) ke Arduino, MOSFET, Kapasitor, dan HC-05 seperti yang terlihat pada skema. Ingatlah untuk menambahkan Dioda yang hanya memberikan Daya dari pin VCC sakelar untuk mengalir ke pin 5V Arduino, bukan sebaliknya. (Ini melindungi Arduino saat memprogramnya melalui koneksi USB)
Untuk koneksi daya saya menggunakan DC Power Jack dengan saklar sederhana, Anda juga bisa menggunakan Konektor USB jika Anda mau. Saya mengalihdayakan konektor daya ke papan sirkuit kecil lain agar pas dengan kotak kayu saya, tetapi Anda bisa meletakkannya langsung ke Papan Arduino. Seperti disebutkan pada langkah pertama, ada juga Sirkuit Koneksi MSGEQ7 dalam skema tetapi abaikan saja jika Anda tidak menggunakan MSGEQ7. (Untuk info lebih lanjut tentang fungsionalitas MSGEQ7 klik di sini)
Jangan lupa untuk membuat lagi 7Pin Ribbon Cable dengan male pin Header di setiap ujungnya untuk menghubungkan board Arduino dengan board Driver
Langkah 8: Opsional: Mengukir Papan Sirkuit
Jadi jika Anda tidak suka menyolder banyak kabel, tentu saja Anda juga dapat mengetsa PCB yang diperlukan jika Anda menginginkannya.
Di Cube saya, papan Arduino dan papan konektor Daya/Audio keduanya papan terukir menggunakan file skema/EAGLE terlampir. Pertama kali saya membuat kesalahan dalam skema jadi saya harus mengulang papan Driver LED seperti yang saya lakukan pada langkah terakhir. Tidak ada keuntungan besar untuk mengetsa papan daripada menggunakan perboard, jadi jangan ragu untuk mengetsa papan atau menyoldernya di perfboard.
Dalam.zip terlampir Anda dapat menemukan file BOARD dan juga file SCHEMATIC.
Perhatikan bahwa jejak lapisan atas (merah) seharusnya adalah jembatan kawat (karena saya tidak dapat mengetsa papan dua sisi di rumah). Jejak yang tidak dirutekan menunjukkan koneksi yang akan dibuat melalui kabel untuk Header Pin perempuan.
Skema mencakup fitur MSGEQ7, yang dapat Anda hilangkan dengan menghapus bagian skema yang ditandai "(MSGEQ7)" di tangkapan layar skema.pdf.
Langkah 9: Menghubungkan Kubus
Untuk menghubungkan semua bagian Kubus, mulailah dengan mencolokkan Kabel 7pin ke Board Arduino dan Board Driver (pastikan orientasinya benar!). Selanjutnya tancapkan Modul HC05 ke header 4 Pin dan sambungkan Power Board jika terpisah.
Untuk menghubungkan 7x16 Pin Header of the Cube pastikan untuk memulai dengan TLC pertama (pin SIN yang terhubung langsung ke Arduino). Temukan Kabel 16pin yang benar dari Kubus dan hubungkan ke pin header TLC pertama (pastikan kabel untuk Cathode Nr.0 terhubung ke Pin TLC OUT0 pertama!). Lanjutkan dan sambungkan Kabel 16pin lainnya ke header TLC yang sesuai dalam urutan yang benar.
Last but not least, sambungkan Kabel 6Pin untuk Anoda dari Cube ke header 6Pin di Papan Kontrol di sebelah MOSFET.
Untuk menyelesaikan Cube, saya menambahkan dinding ke kasing dengan beberapa kayu lapis lagi dengan cat hitam di atasnya dan merekatkannya.
Sekarang kita telah selesai dengan semua perangkat keras yang diperlukan untuk keseluruhan pembangunan!
Langkah 10: Perangkat Lunak: Siklus Multiplexing
Sekarang secara teori Arduino secara konstan menjalankan siklus berikut:
- Jika LayerDuration telah berlalu, muat Nilai untuk Layer berikutnya ke TLC, matikan Layer saat ini, nyalakan Layer berikutnya, reset LayerDuration, komit Nilai baru ke TLC
- Jika FrameDuration telah berlalu, muat Frame baru dari Animasi saat ini dengan menyimpan nilai untuk semua LED dan Warna ke dalam buffer ValueLed, reset FrameDuration
- Jika Data Bluetooth tersedia, tanggapi mereka (Ubah Animasi, Kecerahan, …) (informasi lebih lanjut nanti)
Seperti yang Anda lihat, fokus utama kode ini adalah kecepatan. Adalah penting bahwa waktu untuk mengubah Layer minimal.
Semakin cepat Anda mengaktifkan/menonaktifkan Layers, semakin banyak "Frames" yang akan Anda dapatkan. untuk LED Cube 6x6x6 RGB seperti ini saya menemukan bahwa Layer Duration 1700 microSec. cukup baik untuk meminimalkan kedipan dan harus dibiarkan pada nilai ini. FrameDuration mengontrol lebih banyak kecepatan Animasi sehingga dapat diubah untuk Animasi yang berbeda.
Pada langkah selanjutnya kita akan melihat bagaimana sebenarnya kita bisa menulis Animasi kita sendiri.
Langkah 11: Animasi Kustom
Untuk mengimplementasikan animasi, kita harus menyetel buffer ValueLed ke Nilai yang kita inginkan untuk Frame berikutnya setiap kali FrameDuration berlalu. Kami melakukannya dengan memanggil fungsi Makro "SETLED(x, y, z, COLOR, Brightness)"
x, y, z adalah koordinat LED yang ingin kita atur dan COLOR (RED, GREEN atau BLUE) adalah warna yang ingin kita atur dan Brightness adalah Nilai sebenarnya untuk warna tertentu yang kita atur.
Jadi misalnya menerapkan Animasi yang hanya menampilkan warna Merah, Hijau dan Biru secara acak di seluruh kubus Anda cukup melakukan ini:
batal randomLedsFull(){
for (uint8_t j = 0; j < CUBE_SIZE; j++){ for (uint8_t x = 0; x < CUBE_SIZE; x++){ for (uint8_t y = 0; y < CUBE_SIZE; y++){ uint8_t rand = random8(3); SETLED(x, y, j, rand, maxBright); } } } }
Metode ini dipanggil setiap kali FrameDuration telah berlalu dan dipilih dari perintah switch-case di loop(). Jika Anda menulis animasi baru, Anda dapat menambahkannya hanya dengan menambahkannya ke dalam switch-case.
Langkah 12: Tambahan: AnimationCreator
Saya juga menulis AnimationCreator menggunakan JavaFX dan Java3D.
Itu membuat membuat dan mengedit Animasi kustom sangat mudah dengan menyediakan UI yang mudah dipahami.
Anda dapat membuat, mengedit, mengganti nama, dan mengkonfigurasi ulang Animasi untuk Kubus LED 4x4x4, 6x6x6 atau 8x8x8
Untuk membuat Animasi baru cukup tekan File>New, di bawah "Cube" Anda dapat memilih ukuran Cube, untuk mengatur Warna LED pilih warna yang Anda inginkan dengan Color picker di sebelah kiri lalu klik kiri LED yang Anda inginkan warna itu untuk Bingkai itu. Untuk menambahkan Frame lain, tekan "Next" atau "+". Kontrol UI lainnya cukup jelas, kotak centang di sebelah Lapisan Kubus adalah untuk memeriksa Lapisan mana yang harus dipengaruhi oleh pergeseran dan "Simpan Bingkai". Hanya mengujinya dan Anda akan mengetahui semuanya dalam waktu singkat.
Selain itu untuk mensimulasikan Animasi, Anda dapat mengklik Tombol "Lihat 3D" yang membuka jendela lain dengan Model Kubus Java3D. Anda dapat memutar Kamera sambil menahan tombol kiri mouse (Tekan R untuk mengatur ulang Kamera). Untuk memutar/menjeda Animasi tekan tombol P, untuk mengatur ulang Animasi tekan Q. Bidang Teks di bawah tombol "Lihat 3D" menunjukkan arus FrameTime, ergo kecepatan animasi Anda.
Ketika Anda selesai dengan Animasi, beri nama dan tekan File>Save As… dan simpan Animasi ke folder yang sama dengan Sketsa Cubo_Control.ino.
Untuk memasukkan Animasi baru Anda ke dalam Sketsa, buka Cubo_Control.ino dan tambahkan kode berikut di atas Sketsa:
#sertakan "RGBit.h" //Ganti
Gulir ke bawah ke BTEvent() dan tambahkan pernyataan case ke switch-case animasi
beralih (skrAnim){
… kasus 10: animasi= &ani_cubesmove[0][0]; FRAME_TIME= ANI_CUBESMOVE_FRAMTIME; maxCount= ANI_CUBESMOVE_FRAMES; merusak; case 11: //animasi ANIMASI BARU ANDA= &ani_rgbit[0][0]; FRAME_TIME= RGBIT_FRAMETIME; maxCount= ANI_RGBIT_FRAMES; merusak; }
Langkah 13: Aplikasi Bluetooth
Untuk benar-benar mengontrol Cube, berkat Modul HC-05, cukup mudah untuk membuat aplikasi Bluetooth untuk menghubungkan Telepon Anda ke Cube.
Tautan ke Aplikasi: Github
Aplikasi ini open source jadi jangan ragu untuk menambahkan Animasi/fitur tambahan sendiri.
- Mulai Aplikasi, ia meminta Anda untuk mengaktifkan Bluetooth
- Klik "Cari" dan daftar koneksi Bluetooth yang tersedia akan muncul. Identifikasi Modul HC-05 dari Cube dan klik di atasnya.
- Jika ada kesalahan saat mencoba menghubungkan ke Cube, coba pasangkan modul HC-05 di pengaturan Bluetooth secara manual
- Setelah terhubung, Aplikasi beralih ke Layar Kontrol dan koneksi Bluetooth telah dibuat
Kontrol
- Kecepatan & Kecerahan: Ubah nilai penggeser untuk mempercepat/memperlambat Animasi atau mengubah kecerahan
- Animasi: Klik tombol untuk mengubah Animasi, secara default Animasi berputar (Mulai dari kiri atas tombol sesuai dengan currAnim)
- Gulir Teks: Klik tombol "Teks" yang memunculkan dialog untuk memasukkan beberapa teks yang akan digulir melalui kubus
- Perintah: Anda dapat memasukkan perintah secara manual dengan Command TextField (lihat metode BTEvent() dari Cubo_Control.ino untuk sintaks)
- Ular: Game Ular klasik (merah: apel, hijau: Kepala ular, biru: Ekor menyelinap) (Kontrol: 4 Tombol arah, Atas dan Bawah dipicu dengan memutar Telepon ke depan (Atas) atau mundur (Bawah))
- Audio Visualizer: MSGEQ7 digunakan untuk memvisualisasikan 6 pita audio dari AUX Jack (Tombol untuk Animasi 7)
Langkah 14: Pamerkan
Direkomendasikan:
Pemegang Gambar Dengan Speaker Internal: 7 Langkah (dengan Gambar)
Picture Holder Dengan Built-in Speaker: Ini adalah proyek yang bagus untuk dilakukan selama akhir pekan, jika Anda ingin membuat speaker Anda sendiri yang dapat menampung gambar/kartu pos atau bahkan daftar tugas Anda. Sebagai bagian dari pembangunan kita akan menggunakan Raspberry Pi Zero W sebagai jantung dari proyek, dan sebuah
Howto: Instalasi Raspberry PI 4 Headless (VNC) Dengan Rpi-imager dan Gambar: 7 Langkah (dengan Gambar)
Cara: Memasang Raspberry PI 4 Headless (VNC) Dengan Rpi-imager dan Gambar: Saya berencana untuk menggunakan Rapsberry PI ini dalam banyak proyek menyenangkan di blog saya. Jangan ragu untuk memeriksanya. Saya ingin kembali menggunakan Raspberry PI saya tetapi saya tidak memiliki Keyboard atau Mouse di lokasi baru saya. Sudah lama sejak saya menyiapkan Raspberry
Pengenalan Gambar Dengan Papan K210 dan Arduino IDE/Micropython: 6 Langkah (dengan Gambar)
Pengenalan Gambar Dengan Papan K210 dan Arduino IDE/Micropython: Saya sudah menulis satu artikel tentang cara menjalankan demo OpenMV di Sipeed Maix Bit dan juga membuat video demo deteksi objek dengan papan ini. Salah satu dari banyak pertanyaan yang diajukan orang adalah - bagaimana saya bisa mengenali objek yang jaringan sarafnya tidak
Luncurkan Slideshow Gambar Liburan Anda Dengan Sentuhan Ajaib !: 9 Langkah (dengan Gambar)
Luncurkan Slideshow Gambar Liburan Anda Dengan Sentuhan Ajaib !: Selama bertahun-tahun, saya telah mengembangkan kebiasaan membawa patung kecil saat bepergian: Saya sering membeli seni kecil kosong (seperti yang ada di gambar) dan melukis agar sesuai dengan bendera dan tema negara yang saya kunjungi (dalam hal ini, Sisilia). T
Cara Membongkar Komputer Dengan Langkah Mudah dan Gambar: 13 Langkah (dengan Gambar)
Cara Membongkar Komputer Dengan Langkah Mudah dan Gambar: Ini adalah instruksi tentang cara membongkar PC. Sebagian besar komponen dasar bersifat modular dan mudah dilepas. Namun penting bahwa Anda diatur tentang hal itu. Ini akan membantu Anda agar tidak kehilangan bagian, dan juga dalam membuat