Robot dari LEGO dan Arduino, menghindari rintangan





Kami menyukai LEGO dan Sirkuit Gila [elektronik yang kompatibel dengan LEGO / kira-kira. transl.], jadi kami memutuskan untuk menggabungkannya menjadi robot yang sederhana dan menarik yang dapat menghindari rintangan. Kami akan menunjukkan kepada Anda cara merakit robot semacam itu dan menjelaskan prosesnya secara rinci. Versi robot Anda mungkin tidak sama persis dengan versi kami.



Berikut adalah daftar komponen elektronik dan LEGO yang diperlukan. Silakan bereksperimen dengan mereka.















Komponen



Elektronik



  • 1 x Papan Robotika oleh Sirkuit Gila
  • 2 x LEGO Kompatibel Full Rotation Servo Motor
  • 1 x Sensor Jarak Ultrasonik HC-SR04
  • 4 x kabel jumper perempuan-ke-perempuan
  • 1 x catu daya eksternal dengan USB


Untuk proyek kami, kami memilih sumber daya eksternal kecil yang pas dengan robot kami. Anda mungkin perlu mendesain sendiri untuk catu daya eksternal Anda, atau untuk satu set baterai.



Lego



Kami menggunakan berbagai detail, tetapi kami menyarankan Anda melakukannya sesuai keinginan Anda, dan dari apa yang Anda miliki. Penting bahwa Anda memiliki cara untuk memasang servo ke bagian bawah, sensor ultrasonik sehingga terlihat ke depan, dan entah bagaimana mengamankan papan dan catu daya. Untuk melakukan ini, Anda dapat menggunakan selotip dua sisi, karet gelang, Velcro. Ada tautan ke produk kami di toko BrickOwl, namun Anda dapat membelinya di mana pun LEGO dan perangkat yang kompatibel dijual.





Langkah 1: membangun sasis LEGO







Kami mulai dengan pelat LEGO 6 × 12, yang merupakan ukuran minimum yang kami sukai. Anda dapat menggunakan yang lebih besar, tetapi lebih kecil sudah lebih sulit.



Lebar robot ditentukan oleh catu daya eksternal yang kami miliki, karena kami membutuhkan kemampuan untuk menggesernya ke tempatnya. Baterai yang lebih besar akan membutuhkan robot yang lebih besar.



Sasis harus cukup tinggi untuk menampung baterai dan papan di atasnya.



Langkah 2: tambahkan roda































Setiap servo harus ditempatkan di bawah sasis. Akibatnya, kami membutuhkan komponen-komponen berikut:



  • Gandar 4 LEGO dengan sumbat (87083)
  • LEGO hub (32123/42136)
  • Bata LEGO Bulat 2 x 2 (3941/6143)


Untuk memperbaiki dua motor, Anda membutuhkan 4 buah masing-masing komponen. Setelah mengamankannya, tambahkan roda: LEGO Wedge Belt Wheel (4185/49750).



Seperti model LEGO lainnya, ada banyak pilihan! Kami berhasil dengan komponen yang kami daftarkan, tetapi Anda dapat mencoba yang lain.



Langkah 3: Tambahkan video



















Rol kami memungkinkan robot untuk berguling di pesawat dengan dua roda bermotor, bertindak sebagai roda ketiga - ini memudahkan robot untuk berputar dan bergerak.



Untuk mengamankannya, diperlukan detail berikut:



  • Set Pivot Bola Teknik LEGO EV3 5003245
  • LEGO Technic Cross Block Beam 3 dengan Empat Pin (48989/65489)
  • LEGO Technic Brick 1 x 6 dengan Lubang (3894)


Di versi sebelumnya, kami hanya menggunakan potongan LEGO bulat untuk "kaki" dan berfungsi dengan baik pada permukaan yang halus. Tapi tidak berhasil di karpet atau lantai yang tidak mulus. Jika Anda tidak memiliki roller, pertimbangkan untuk menggunakan "kaki" ini.



Langkah 4: Tambahkan sensor jarak















Sensor jarak ultrasonik harus dipasang di bagian depan robot sehingga “melihat” kemana arahnya dan memahami kapan harus berhenti agar tidak menabrak penghalang.



Untuk sensor, kami 3D mencetak rumah yang kompatibel dengan LEGO. Model ini diposting di situs web Thingiverse: www.thingiverse.com/thing : 3171004



Jika Anda tidak memiliki printer 3D, cari tahu cara memegang sensor menggunakan potongan LEGO, lakban, karet gelang, pengikat kabel , dll. Penting baginya untuk melihat lurus ke depan - kemana arah robot saat bergerak maju.



Langkah 5: Tambahkan papan



















Imbalannya adalah otak dari keseluruhan operasi. Itu terletak di atas bata LEGO, sehingga mudah dipasang.



Biasanya, Papan Robotika digunakan bersama dengan pita konduktif yang memungkinkan Anda untuk mengotak-atik rangkaian listrik langsung di atas LEGO, tetapi karena kami hanya memiliki dua motor dan sensor jarak, mereka dapat dihubungkan langsung ke pin di papan.



Kami menempatkan papan agar kabel daya USB mudah dipasang. Kami beruntung menemukan kabel USB yang sangat pendek di kotak kabel.



Sekarang Anda dapat menghubungkan sensor dan motor!



Untuk sensor: konektor gema harus dihubungkan ke pin 3 di papan, konektor pemicu ke pin 5, VCC ke 5 V, Gnd ke GND. Dengan demikian, sensor akan menerima daya dan berkomunikasi dengan papan.



Maka Anda perlu menghubungkan masing-masing motor. Ini mudah dilakukan - kabel coklat ke GND, kabel merah ke 5V, kabel oranye ke D6 untuk motor kiri dan D9 untuk kanan.



Langkah 6: Program Papan Robotika







Sebelum robot dapat bekerja, kode harus diisikan ke mikrokontroler. Sebelum melakukan ini, pastikan Anda menginstal Arduino IDE versi terbaru di komputer Anda .



Kami mengupload kode kami ke repositori di GitHub:



github.com/BrownDogGadgets/CrazyCircuits/tree/master/Projects/Avoidance%20Robot Kodenya



sederhana, ada banyak komentar untuk memperjelas apa yang bertanggung jawab atas apa.



Anda juga perlu perpustakaan NewPing



bitbucket.org/teckel12/arduino-new-ping/wiki/Home



Langkah 7: Biarkan robot berjalan















Setelah membuat robot dan memuat kode ke dalamnya, Anda dapat melanjutkan ke pengujian!



Cara termudah adalah dengan menyambungkan sumber daya eksternal dan memberi robot kemampuan untuk bergerak maju. Jika Anda meletakkan tangan Anda di depannya, dia harus mundur, berbalik dan maju lagi (pastikan dia tidak bergerak dari meja!)



Kami membangun "arena" heksagonal sederhana dari karton sehingga robot itu punya tempat untuk dikendarai. Jangan takut untuk bereksperimen dengan apa yang Anda miliki.



Langkah 8: pengembangan lebih lanjut











Jika Anda tertarik untuk mengembangkan proyek ini, berikut adalah pertanyaan untuk Anda:



- Apa yang Anda pelajari saat merakit robot?

- apa yang memengaruhi pilihan suku cadang Anda?

- Apakah robot akan melaju lebih cepat jika rodanya dinaikkan?



Ada dua variabel dalam kode, memperbaikinya, Anda akan mengubah waktu robot berputar kembali ketika rintangan terdeteksi, dan waktu itu akan berputar. Coba tukar goBackwardTime dan turnRightTime dan lihat pengaruhnya terhadap perilaku robot.



//     

int goBackwardTime = 1000;

//    

int turnRightTime = 1000;




Lihat juga:






All Articles