Saya membuat robot ini sesuai dengan instruksi di situs web. Ide bagus untuk simbiosis antara Arduino dan Android.
MobBob adalah robot yang dikendalikan smartphone. Dengan memanfaatkan kecanggihan ponsel pintar Anda, MobBob adalah robot berjalan dan berbicara dengan pengenalan suara dan visi komputer.
- Setel "FRONT_JOINT_HIPS" ke 1 atau -1 tergantung di mana servo pinggul Anda dipasang. Saya memasangnya dengan poros servo di bagian depan MobBob. Untuk konfigurasi ini, setel nilai ini ke 1.
Kode
kodeArduino
/* * =============================================================* MobBob Control Program - Software Serial Bluetooth Version * oleh Kevin Chan (alias Cevinius) * =============================================================* * Program ini memungkinkan MobBob dikendalikan menggunakan perintah serial. Dalam versi kode ini, perintah * diterima melalui port serial perangkat lunak, dengan pin yang ditentukan di #define di dekat bagian atas. * Ini berarti Anda dapat menggunakan papan Arduino apa pun yang kompatibel, dan mencolokkan kartu bluetooth ke pin yang disetel untuk * serial perangkat lunak. (Berbeda dengan versi lain dari ini yang dirancang untuk papan Bluno dari DFRobot.) * * Program ini panjang dan berisi 2 komponen utama - program animasi servo yang halus dan program pengurai perintah * serial. * * Sistem Animasi * ================* Program animasi dirancang untuk menganimasikan array keyframe servo dengan lancar. Kode mencoba melakukan * yang terbaik agar mudah digunakan. * * Sistem animasi hanya akan mengantri 1 perintah. yaitu Satu perintah dapat dijalankan, * dan satu perintah dapat diantrekan. Jika Anda mengirim lebih banyak perintah, mereka akan menimpa perintah yang diantrekan. * * Sistem animasi secara default akan menunggu untuk menyelesaikan animasi saat ini sebelum memulai yang berikutnya. Ini * berarti bahwa jika data animasi diakhiri dengan robot dalam pose dasarnya, semuanya akan bergabung dengan lancar. Untuk *mendukung hal tersebut, sistem animasi juga memiliki fitur dimana suatu animasi dapat memiliki “finish sequence”* untuk menempatkan robot kembali ke pose dasar. Fitur ini digunakan untuk animasi berjalan maju/mundur. * Animasi tersebut memiliki urutan akhir yang menempatkan robot kembali ke pose dasar. * * Saat animasi selesai diputar, sistem animasi akan menampilkan string respons ke port Serial. * Ini memungkinkan penelepon untuk mengetahui kapan animasi yang mereka minta telah selesai diputar. Ini berguna * bagi pengguna untuk mengurutkan animasi - menunggu satu selesai sebelum memulai yang lain. * * Kode animasi memiliki banyak variabel untuk memungkinkan hal-hal yang akan di-tweak. Misalnya. Perbarui frekuensi, pin arduino, dll. * * Format array data animasi juga dirancang agar mudah diedit dengan tangan. * * Command Parser * ==============* Sistem ini mem-parsing perintah yang diterima melalui serial, dan memprosesnya. Perintah termasuk satu untuk secara langsung * mengatur posisi servo, serta perintah untuk memicu animasi dan jalan yang telah ditentukan sebelumnya. * * Jadi, pengguna yang tidak ingin khawatir tentang detail berjalan cukup menggunakan jalan/animasi yang telah ditentukan. * Dan, pengguna yang ingin kontrol penuh atas servos (untuk membuat animasi baru dengan cepat) dapat melakukannya juga. * * Seperti disebutkan di atas, perintah ini dapat digunakan secara interaktif dari Arduino Serial Monitor. Mereka juga dapat * dikirim menggunakan Bluetooth LE (bila Bluno digunakan). Aplikasi telepon akan mengirimkan perintah melalui Bluetooth LE ke * Bluno. * * Perintah Umum:* ----------------- * Siap/OK Periksa: * Pemeriksaan status. Respons segera dikembalikan untuk memeriksa apakah pengontrol berfungsi. * * Atur Servo: * waktu - waktu untuk tween ke sudut yang ditentukan, 0 akan langsung melompat ke sudut * LeftHip - mikrodetik dari pusat. -ve adalah pinggul masuk, +ve adalah pinggul keluar * Kaki kiri - mikrodetik dari datar. -ve adalah kaki ke bawah, +ve adalah kaki ke atas * rightHip - mikrodetik dari pusat. -ve adalah pinggul masuk, +ve adalah pinggul keluar * RightFoot - mikrodetik dari datar. -ve adalah kaki ke bawah, +ve adalah kaki ke atas * Perintah ini digunakan untuk mendapatkan kontrol penuh atas servos. Anda dapat mengubah robot dari * pose saat ini ke pose yang ditentukan selama durasi yang ditentukan. * * Stop/Reset: * Menghentikan robot setelah animasi saat ini. Dapat digunakan untuk menghentikan animasi yang disetel ke loop * tanpa batas. Ini juga dapat digunakan untuk menempatkan robot ke dalam pose dasarnya (berdiri tegak) * * Berhenti Segera: * Menghentikan robot segera tanpa menunggu untuk menyelesaikan animasi saat ini. Ini * menginterupsi animasi robot saat ini. Berpotensi robot bisa menjadi mid-animation* dan dalam pose yang tidak stabil, jadi berhati-hatilah saat menggunakan ini. * * Perintah Berjalan Standar:* ----------------------- * Maju:, -1 berarti kontinu, 0 atau tidak ada param sama dengan 1 kali. * Mundur:, -1 artinya kontinu, 0 atau tidak ada param sama dengan 1 kali. * Belok Kiri:, -1 artinya kontinu, 0 atau tidak ada param sama dengan 1 kali. * Belok Kanan:
Skema