Isi kandungan:
Video: Jauh Bluetooth Kayu untuk Kereta Api Lego Duplo: 3 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Anak-anak saya sangat menyukai kereta Lego Duplo kecil ini terutama anak bongsu saya yang sukar untuk berkomunikasi dengan kata-kata, jadi saya mahu membinanya sesuatu yang akan membantunya bermain dengan kereta api tanpa mengira orang dewasa atau telefon / tablet. Sesuatu yang akan menambahkan dimensi tambahan pada kereta api dan memberikan nilai permainan tambahan
Set Lego sudah memiliki beberapa cara untuk mengendalikan kereta api, anda dapat mendorongnya ke depan untuk memulakan dan menahannya untuk menghentikannya, anda dapat mengendalikannya menggunakan tanda warna yang berada di trek sehingga ketika kereta api melaluinya memicu tindakan yang berbeza iaitu maju, mundur, bunyi main menghidupkan lampu. Anda juga boleh memuat turun aplikasi untuk telefon atau tablet yang dapat menyambung ke kereta api melalui bluetooth.
Berikut ulasan penuh kereta api
Setelah berkeliaran di internet, saya dapati terdapat beberapa orang yang mempunyai kod bertulis yang siap untuk mengendalikan kereta api. Node 'Poweredup' yang ditulis oleh nathan.kellenicki (https://nathan.kellenicki.com/node-poweredup/) kelihatan seperti permulaan yang sempurna, ditulis menggunakan Javascript yang saya tidak biasa dengan sebahagiannya tetapi berfikir jika saya dapat menemui microchip berasaskan java, ini akan menjadi permulaan yang baik.
Sekali lagi setelah berburu di internet lagi saya menjumpai sistem espruino, ini serupa dengan ardiuno tetapi berpusat di sekitar javascript. Kod espriuno dapat dimuat ke MDBT42Q mircochip yang telah disematkan bluetooth. Saya fikir jika saya dapat memuatkan modul "dihidupkan" ke sana, saya akan berada di separuh jalan, tetapi ini tidak mudah kerana modul yang terdapat di banyak perpustakaan besar untuk dimuat di MDBT42Q, jadi nampaknya saya harus cari jalan penyelesaian yang lebih mudah….
Langkah 1: Kodnya
Esprinuo
Bagi mereka yang tidak mengetahui platform Espruino https://www.espruino.com (dan saya tidak) adakah ini sangat serupa dengan Arduino, Terdapat beberapa perbezaan utama yang ditulisnya untuk javascript berbanding c, Rasanya sedikit lebih baru jadi tidak ada contoh namun sokongan melalui forum sangat bagus dan sangat membantu.
Javascript memenuhi kereta api
Rintangan pertama adalah menyambung ke kereta api melalui bluetooth, Ini dapat dilakukan menggunakan kelas NRF yang disertakan dalam kod espruino.
NRF.connect boleh digunakan untuk menyambung ke kereta api namun keperluan pertama anda untuk mencari alamat kereta api itu sendiri, anda boleh menggunakan NRF.findDevices untuk mendapatkan maklumat ini
Setelah anda melakukan ini, anda perlu menghantar kereta dua nilai untuk berjabat tangan dengan kereta api, kerana 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 api tetapi versi lain iaitu set kargo mungkin berbeza
Setelah anda memilikinya, anda boleh menyambungkan kereta api menggunakan fungsi seperti berikut, bolehkah anda mengetahui kapan kereta api itu tersambung kerana ia akan menyala lampu depannya dengan warna biru
NRF.connect ("e0: 7d: ea: 0c: 03: 29"). Kemudian (fungsi (g) {
console.log ("Mula menyambung2"); gatt = g; kembali gatt.getPrimaryService ("00001623-1212-efde-1623-785feabcd123"); }). kemudian (fungsi (perkhidmatan) {return service.getCharacteristic ("00001624-1212-efde-1623-785feabcd123");}). kemudian (fungsi (ciri) {Characteristic_store = characteristic; return characteristic.readValue ();}).then (value => {console.log (value);}). kemudian (function () {console.log ("Train Connected"); disambungkan = 1;
Perkara yang menyeronokkan
Sekarang anda bersambung dengan kereta api sudah tiba masanya untuk semua perkara menyeronokkan seperti menggerakkannya ke hadapan, mengeluarkan suara dan menyalakan dan mematikan lampu. Ini adalah tugas mudah untuk menghantar kereta api nilai persiapan, diikuti dengan perintah sebenarnya iaitu
fungsi main_horn () {
console.log ("message =", Characteristic_store); const prepval = Uint8Array baru ([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const sendvalue = Uint8Array baru ([0x08, 0x00, 0x81, 0x01, 0x11, 0x51, 0x01, 0x09]); Characteristic_store.writeValue (prepval).then (_ => {Characteristic_store.writeValue (sendvalue);}); }
Anda mungkin perlu melakukan sedikit penggalian untuk mencari perintah lain daripada yang saya gunakan
Butang dan Tuas
Bahagian fizikal alat kawalan jauh sangat lurus ke depan dengan empat butang (untuk memainkan bunyi, menyalakan dan mematikan lampu) dan satu potensiometer yang disambungkan ke tuas sehingga anda dapat mengawal kelajuan dan arah kereta api
Butang tidak memerlukan perintang tarik sebaliknya anda boleh melakukan ini dalam kod, iaitu
pinMode (D15, 'input_pulldown');
Anda boleh menyambungkan potensiometer ke salah satu input dan kemudian membacanya isyarat analog menggunakan arahan berikut
pembacaan var = analogRead (D31);
Perbezaan lain untuk arduino adalah bahawa esprunio tidak mempunyai persediaan dan gelung. Oleh itu, saya meletakkan semua perintah / pemicu yang terpisah ke dalam fungsi dan kemudian mengatur setInterval yang mengulangi setiap 100 milisaat, mendengar butang kemudian menjalankan fungsi yang diperlukan ketika butang telah ditekan.
jika (digitalRead (D15) == 1) {play_horn (); }
Menggerakkan tuas sedikit lebih rumit kerana mahu dapat menyesuaikan kelajuan secara bertahap jadi pertama saya harus menghantar nilai analog untuk berfungsi
pembacaan var = analogRead (D31);
train_direction (membaca * 1024);
Kemudian dalam fungsi train_direction saya memecah perintah kepada 6 kenaikan yang berbeza berdasarkan nilai pot
Sepanjang perjalanan, memberitahu kereta api akan bergerak dengan laju
Separuh jalan ke atas, menyuruh kereta bergerak maju dengan kelajuan 50%
Tengah, suruh kereta berhenti
Separuh jalan ke bawah, menyuruh kereta bergerak ke belakang dengan kelajuan 50%
Sepanjang perjalanan, suruh kereta api bergerak dengan laju penuh secara terbalik
iaitu
fungsi train_direction (dir_val) {
//console.log("message = ", Characteristic_store); const prepval = Uint8Array baru ([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const sendvalue = Uint8Array baru ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x00]); jika (dir_val> 300 && dir_val 400 && dir_val 500) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x64]); } jika (dir_val 200) {const sendvalue = Uint8Array baru ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xe2]); } if (dir_val 100) {const sendvalue = Uint8Array baru ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xce]); } jika (dir_val {Characteristic_store.writeValue (sendvalue);}); }
Kod penuh boleh didapati untuk pautan di bawah
Langkah 2: Pendawaian
Pendawaian adalah bahagian paling mudah
Ia hanya terdiri daripada 4 butang tekan yang disambungkan ke D15, D16, D17 dan D18 tanpa sebarang perintang penarik kerana ini dilakukan dalam kod dan 1 perintang 10k disambungkan ke D31
Saya masih mengusahakan bekalan kuasa tetapi pada masa ini semua kuasa datang dari pemecahan USB mikro dan ini mungkin mereka disambungkan terus ke bank kuasa atau port USB
Langkah 3: Binaan
Alat kawalan jauh kebanyakannya terdiri daripada kepingan papan lapis 3mm, 6mm atau 9mm A4, mereka memotong mesin CNC saya tetapi menggunakan templat dengan syarat saya akan melakukannya walaupun tidak mustahil untuk dilakukan dengan tangan
Saya berharap templat dan gambar akan memberikan semua yang anda perlukan untuk membuat semula tetapi terdapat beberapa nota yang mungkin dapat membantu
Pemasangan Tombol Tekan 3mm adalah untuk melekatkan butang tekan, jurang akan meletakkan butang di tempat yang betul tetapi kami membenarkan anda mengakses kaki di bahagian belakang sehingga anda dapat menyolder ke microchip, di belakang anda juga dapat memasang MDBT42Q menggunakan sebilangan gam. Di bahagian depan anda perlu menambahkan busa sehingga memberikan butang sedikit melambung ketika anda menekannya ke bawah, anda juga boleh menggunakan mata air
Butang 9mm memerlukan logo sama ada cat, ukiran atau sesuatu yang lain untuk menunjukkan butang melakukan apa
Tuas / Pegangan perlu dilapisi, saya menggunakan dowel 6mm untuk membantu menyelaraskannya di semua kedudukan yang betul
Disyorkan:
Kawal Tata Letak Kereta Model Anda Dengan TV Anda JAUH!: 7 Langkah (dengan Gambar)
Kawal Tata Letak Kereta Model Anda Dengan TV Anda JAUH!: Dalam arahan ini, saya akan menunjukkan kepada anda cara membuat sistem kawalan jauh IR untuk kereta model. Anda kemudian dapat mengawal kereta api sambil berehat di sofa. Oleh itu, mari kita mulakan
Cara Menggunakan Beberapa Potongan Kayu untuk Memasang Lengan Robot Kayu yang Comel dan Kuat: 10 Langkah
Cara Menggunakan Beberapa Potongan Kayu untuk Memasang Lengan Robot Kayu yang Comel dan Kuat: Nama lengan robot adalah WoodenArm. Ia kelihatan sangat comel! Sekiranya anda mahukan lebih terperinci mengenai WoodenArm, sila rujuk www.lewansoul.com Sekarang kita boleh membuat pengenalan mengenai WoodenArm, mari kita lanjutkan
Cara Membuat Kereta Kawalan Jauh di Rumah dengan Cara Mudah - KERETA RC Tanpa Wayar DIY: 7 Langkah
Cara Membuat Kereta Kawalan Jauh di Rumah dengan Cara Mudah - KERETA RC Tanpa Wayar DIY: Helo kawan-kawan dalam arahan ini saya akan menunjukkan kepada anda cara membuat kereta rc kawalan jauh dengan cara yang mudah sila teruskan membaca …… Ini benar-benar projek yang bagus jadi cuba buat satu
Pemasangan Telefon Kereta Kayu Pengecasan Tanpa Wayar Rumah Google: 7 Langkah (dengan Gambar)
Pemasangan Telefon Kereta Kayu Pengecasan Tanpa Wayar Rumah Google: Selamat Datang! Pernahkah anda ingin mengemukakan soalan kepada Google semasa memandu tanpa membuka telefon anda? Pembantu Google adalah aplikasi hebat dengan ciri-ciri keren, tetapi memerlukan telefon bimbit anda dibuka dan membuka aplikasinya, atau menahan rumah anda tetapi
Kereta Kawalan Jauh HPI Q32 Dengan Peningkatan FPV: 10 Langkah (dengan Gambar)
Kereta Kawalan Jauh HPI Q32 Dengan Peningkatan FPV: Di sini kita akan menunjukkan fleksibiliti HPI Racing Q32 untuk menerima pengubahsuaian. Kami akan bereksperimen dengan memasang sistem bateri yang boleh ditukar ganti dan juga kamera dan pemancar FPV