Daftar Isi:
Video: Remote Bluetooth Kayu untuk Kereta Lego Duplo: 3 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Anak-anak saya menyukai kereta Lego Duplo kecil ini, terutama anak bungsu saya yang kesulitan berkomunikasi dengan kata-kata, jadi saya ingin membuatkan sesuatu untuknya yang akan membantunya bermain dengan kereta secara terpisah dari orang dewasa atau ponsel/tablet. Sesuatu yang akan menambah dimensi ekstra pada kereta dan memberikan nilai permainan ekstra
Set Lego sudah memiliki beberapa cara untuk mengontrol kereta, Anda dapat mendorongnya ke depan untuk memulai dan menahannya untuk menghentikannya, Anda dapat mengontrolnya menggunakan tag warna yang ada di trek sehingga ketika kereta melewatinya memicu tindakan yang berbeda yaitu maju, mundur, putar suara nyalakan lampu. Anda juga dapat mengunduh aplikasi untuk ponsel atau tablet Anda yang dapat terhubung ke kereta melalui bluetooth.
Berikut ulasan lengkap tentang kereta api
Setelah mencari-cari di internet saya menemukan ada beberapa orang berbeda yang semuanya memiliki kode tertulis yang siap untuk mengendalikan kereta. Node 'Poweredup' yang ditulis oleh nathan.kellennicki (https://nathan.kellennicki.com/node-poweredup/) tampak seperti awal yang sempurna, Itu ditulis menggunakan Javascript yang sebagian tidak saya kenal tetapi berpikir jika saya dapat menemukan microchip berbasis java, ini akan menjadi awal yang baik.
Sekali lagi setelah mencari-cari di internet lagi saya menemukan sistem espruino, ini mirip dengan ardiuno tetapi berbasis javascript. Kode espriuno dapat dimuat ke mircochip MDBT42Q yang memiliki penyematan bluetooth. Saya pikir jika saya dapat memuat modul "bertenaga" ke sana, saya akan berada di tengah jalan, namun hal ini tidak terjadi karena modul yang berisi banyak perpustakaan terlalu besar untuk dimuat di MDBT42Q, jadi sepertinya saya harus melakukannya temukan solusi yang lebih sederhana ….
Langkah 1: Kode
Esprinuo
Bagi mereka yang tidak tahu platform Espruino https://www.espruino.com (dan saya tidak tahu) apakah itu sangat mirip dengan Arduino, Ada beberapa perbedaan utama yang ditulis untuk javascript daripada c, Rasanya sedikit lebih baru jadi jangan sampai ada contoh namun dukungan melalui forum sangat bagus dan sangat membantu.
Javascript bertemu kereta
Rintangan pertama adalah terhubung ke kereta melalui bluetooth, Hal ini dapat dilakukan dengan menggunakan kelas NRF yang dikirimkan dengan kode espruino.
NRF.connect dapat digunakan untuk terhubung ke kereta namun pertama-tama Anda perlu menemukan alamat kereta itu sendiri, Anda dapat menggunakan NRF.findDevices untuk mendapatkan info ini
Setelah Anda melakukan ini, Anda perlu mengirim dua nilai kereta untuk berjabat tangan dengan kereta, untuk kereta saya ini adalah "00001623-1212-efde-1623-785feabcd123" diikuti oleh "00001624-1212-efde-1623-785feabcd123" Saya percaya ini akan sama untuk semua set kereta uap tetapi versi lain yaitu set kargo mungkin berbeda
Setelah Anda memiliki ini, Anda dapat menghubungkan kereta menggunakan fungsi seperti berikut, dapatkah Anda memberi tahu kapan kereta telah terhubung karena akan berkedip lampu biru
NRF.connect("e0:7d:ea:0c:03:29").then(function(g) {
console.log("Mulai menghubungkan2"); gatt = g; return gatt.getPrimaryService("00001623-1212-efde-1623-785feabcd123"); }).lalu(fungsi(layanan) { kembali layanan.getKarakteristik("00001624-1212-efde-1623-785feabcd123"); }).lalu(fungsi(karakteristik) { Characteristic_store = karakteristik; kembali karakteristik.readValue(); }).lalu(nilai => { console.log(nilai); }).kemudian(fungsi() { console.log("Kereta Terhubung"); terhubung = 1;
Hal-hal yang menyenangkan
Sekarang Anda terhubung ke kereta, saatnya untuk semua hal menyenangkan seperti menggerakkannya ke depan, membuat suara, dan menyalakan dan mematikan lampu. Ini pekerjaan sederhana untuk mengirim kereta nilai persiapan, diikuti dengan perintah yang sebenarnya yaitu
fungsi play_horn() {
console.log("pesan = ", Toko_karakteristik); const prepval = new Uint8Array([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const nilai kirim = new Uint8Array([0x08, 0x00, 0x81, 0x01, 0x11, 0x51, 0x01, 0x09]); Characteristic_store.writeValue(prepval).then(_ => { Characteristic_store.writeValue(sendvalue); }); }
Anda mungkin harus melakukan sedikit penggalian untuk menemukan perintah lain selain yang saya gunakan
Tombol dan Tuas
Sisi fisik remote sangat lurus ke depan empat tombol (untuk memutar suara, menyalakan dan mematikan lampu) dan satu potensiometer yang terhubung ke tuas sehingga Anda dapat mengontrol kecepatan dan arah kereta
Tombol tidak perlu menarik resistor sebagai gantinya Anda dapat melakukan ini dalam kode, yaitu
pinMode(D15, 'input_pulldown');
Anda dapat menghubungkan potensiometer ke salah satu input dan kemudian membacanya sinyal analog menggunakan perintah berikut:
var membaca = analogRead(D31);
Perbedaan lain dengan arduino adalah esprunio tidak memiliki setup dan loop. Jadi alih-alih saya menempatkan semua perintah/pemicu terpisah ke dalam fungsi dan kemudian mengatur setInterval yang berulang setiap 100 milidetik, mendengarkan tombol kemudian menjalankan fungsi yang diperlukan ketika tombol telah ditekan.
if (digitalRead(D15) == 1) { play_horn(); }
Menggerakkan tuas sedikit lebih rumit karena ingin dapat menyesuaikan kecepatan secara bertahap, jadi pertama-tama saya harus mengirim nilai analog agar berfungsi
var membaca = analogRead(D31);
train_direction(membaca * 1024);
Kemudian dalam fungsi train_direction saya memecah perintah menjadi 6 kenaikan berbeda berdasarkan nilai pot
Sepanjang jalan, memberi tahu kereta untuk melaju dengan kecepatan penuh
Setengah jalan, memberitahu kereta untuk maju dengan kecepatan 50%
Tengah, menyuruh kereta berhenti
Setengah jalan, memberitahu kereta untuk mundur dengan kecepatan 50%
Sepanjang jalan, memberitahu kereta untuk melaju dengan kecepatan penuh secara terbalik
yaitu
fungsi train_direction(dir_val) {
//console.log("pesan = ", Toko_karakteristik); const prepval = new Uint8Array([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const nilai kirim = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x00]); if (dir_val > 300 && dir_val 400 && dir_val 500) { const sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x64]); } if (dir_val 200) { const sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xe2]); } if (dir_val 100) { const sendvalue = new Uint8Array([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xce]); } if (dir_val { Characteristic_store.writeValue(nilai kirim); }); }
Kode lengkapnya bisa di bawah untuk link di bawah ini
Langkah 2: Pengkabelan
Pengkabelan adalah bagian yang paling sederhana
Itu hanya terdiri dari 4 tombol tekan yang terhubung ke D15, D16, D17 dan D18 tanpa resistor pull up karena ini dilakukan dalam kode dan 1 resistor 10k terhubung ke D31
Saya masih mengerjakan catu daya tetapi saat ini semua daya berasal dari pelarian usb mikro dan ini dapat dihubungkan langsung ke bank daya atau port USB
Langkah 3: Membangun
Remote sebagian besar terbuat dari 3mm, 6mm atau 9mm A4 lembaran kayu lapis, Mereka dipotong pada mesin CNC saya namun menggunakan template yang disediakan saya akan melakukannya meskipun tidak mungkin dilakukan dengan tangan
Saya berharap template dan foto akan memberikan semua yang Anda butuhkan untuk membuat ulang namun ada beberapa catatan yang mungkin bisa membantu
Dudukan Tombol Tekan 3mm adalah untuk menempelkan tombol tekan, celah akan memposisikan tombol di tempat yang benar tetapi kami memungkinkan Anda mengakses kaki di bagian belakang sehingga Anda dapat menyolder ke microchip, sebaliknya Anda juga dapat memasang MDBT42Q menggunakan sedikit lem. Di bagian depan Anda perlu menambahkan busa sehingga membuat tombol sedikit memantul saat Anda menekannya, Anda juga bisa menggunakan pegas
Tombol 9mm akan membutuhkan cat logo, ukiran atau sesuatu yang lain untuk menunjukkan tombol apa yang berfungsi
Tuas/Pegangan perlu berlapis, saya menggunakan pasak 6mm untuk membantu menyelaraskannya di semua posisi yang benar
Direkomendasikan:
Tata Letak Kereta Api Model Otomatis Menjalankan Dua Kereta (V2.0) - Berbasis Arduino: 15 Langkah (dengan Gambar)
Tata Letak Kereta Api Model Otomatis Menjalankan Dua Kereta (V2.0) | Berbasis Arduino: Mengotomatiskan tata letak kereta api model menggunakan mikrokontroler Arduino adalah cara yang bagus untuk menggabungkan mikrokontroler, pemrograman, dan model kereta api menjadi satu hobi. Ada banyak proyek yang tersedia untuk menjalankan kereta secara mandiri pada model perkeretaapian
Headphone Cangkang Kayu Walnut Hitam Dengan Driver Sennheiser Hi–Fi 40 atau 50mm: 6 Langkah (dengan Gambar)
Headphone Cangkang Kayu Walnut Hitam Dengan Driver Sennheiser Hi–Fi 40 atau 50mm: Posting ini adalah instruksi ke-4 saya. Karena menurut saya komunitas lebih tertarik pada headphone over-the-ear yang besar dan Hi-End, mungkin Anda akan lebih senang mendengarnya. Kualitas build ini sebanding dengan headphone komersial seharga $300+, sementara
Kontrol Tata Letak Kereta Model Anda Dengan REMOTE TV Anda!: 7 Langkah (dengan Gambar)
Kontrol Tata Letak Kereta Model Anda Dengan REMOTE TV Anda!: Dalam instruksi ini, saya akan menunjukkan cara membuat sistem kendali jarak jauh IR untuk kereta model. Anda kemudian akan dapat mengontrol kereta Anda sambil bersantai di sofa Anda. Jadi, mari kita mulai
Cara Menggunakan Beberapa Potongan Kayu untuk Merakit Menjadi Lengan Robot Kayu yang Lucu dan Kuat: 10 Langkah
Cara Menggunakan Beberapa Potongan Kayu untuk Merakit Menjadi Lengan Robot Kayu yang Lucu dan Kuat: Nama lengan robot tersebut adalah WoodenArm. Ini terlihat sangat lucu! Jika Anda ingin lebih detail tentang WoodenArm, silakan merujuk ke www.lewansoul.com Sekarang kita dapat membuat pengenalan tentang WoodenArm, mari kita lanjutkan
Pembakar Bertenaga USB! Proyek Ini Dapat Membakar Melalui Plastik / Kayu / Kertas (Proyek yang menyenangkan Juga Harus Kayu yang Sangat Halus): 3 Langkah
Pembakar Bertenaga USB! Proyek Ini Dapat Membakar Plastik/ Kayu / Kertas (Proyek Menyenangkan Juga Harus Kayu Sangat Halus): JANGAN MEMBUAT INI MENGGUNAKAN USB!!!! saya menemukan bahwa itu dapat merusak komputer Anda dari semua komentar. komputer saya baik-baik saja tho. Gunakan pengisi daya telepon 600ma 5v. saya menggunakan ini dan berfungsi dengan baik dan tidak ada yang rusak jika Anda menggunakan steker pengaman untuk menghentikan daya