- Bahan yang Dibutuhkan:
- Pencetakan 3D Bagian yang Diperlukan (Opsional):
- Skema dan Perangkat Keras:
- Menyiapkan Aplikasi Android Anda:
- Memprogram Arduino Anda:
- Kerja:
Pernah ingin membangun Lengan Robot atau Robot Pelacak Wajah hanya dengan menggunakan Arduino dan bukan pemrograman lain seperti OpenCV, dasar-dasar visual C # dll? Kemudian baca terus, dalam proyek ini kita akan menerapkan deteksi wajah dengan memadukan kekuatan Arduino dan Android. Dalam proyek ini, kamera ponsel akan bergerak mengikuti wajah Anda dengan bantuan servos. Keuntungan menggunakan Ponsel Android di sini adalah Anda tidak perlu berinvestasi pada modul kamera dan seluruh pekerjaan pendeteksian gambar dapat dilakukan di ponsel itu sendiri, Anda tidak perlu Arduino Anda terhubung ke komputer Anda agar ini berfungsi. Di sini kami telah menggunakan Modul Bluetooth dengan Arduino untuk berkomunikasi dengan Seluler tanpa kabel.
Aplikasi Android yang digunakan dalam proyek ini dibuat menggunakan Pemrosesan Android, Anda dapat langsung menginstal aplikasi dengan mengunduh file APK (baca lebih lanjut untuk tautan) atau memakai topi pemrograman Anda dan membuat Aplikasi Android Anda sendiri yang lebih menarik menggunakan Kode Pemrosesan yang diberikan lebih lanjut di Tutorial. Pelajari lebih lanjut tentang Pemrosesan dengan memeriksa Proyek Pemrosesan kami sebelumnya.
Di akhir tutorial ini Anda akan memiliki Mini Tilt and Span Robotic Arm yang dapat melacak wajah Anda dan bergerak bersamanya. Anda dapat menggunakan ini (dengan kemajuan lebih lanjut) untuk merekam video vlog Anda atau bahkan mengambil selfie dengan kamera belakang ponsel Anda karena memposisikan wajah Anda tepat di tengah layar ponsel Anda. Begitu!! Kedengarannya menarik? Periksa Video Demo di akhir tutorial ini untuk melihatnya berfungsi. Mari kita lihat bagaimana kita bisa membuatnya…
Saya telah mencoba yang terbaik untuk membuat proyek ini bekerja sesederhana mungkin, siapa pun dengan pengetahuan minimum tentang perangkat keras atau pengkodean dapat menggunakan pedoman ini untuk membuat proyek ini berfungsi dalam waktu singkat. Namun begitu Anda membuatnya, saya sarankan Anda untuk berada di belakang kode sehingga Anda benar-benar dapat mengetahui apa yang membuat benda ini bekerja dan bagaimana caranya.
Bahan yang Dibutuhkan:
- Arduino Nano
- Motor servo SG90 - 2Nos
- Ponsel Android dengan kamera yang layak
- Modul Bluetooth HC-05 / HC-06
- Komputer untuk pemrograman
- Printer 3D (opsional)
- Baterai 9V
Pencetakan 3D Bagian yang Diperlukan (Opsional):
Untuk menggeser dan memiringkan ponsel, kami memerlukan beberapa struktur mekanis seperti dudukan ponsel dan beberapa braket servo. Anda dapat menggunakan karton untuk membuatnya, karena saya memiliki printer 3D, saya memutuskan untuk mencetak bagian-bagian ini secara 3D.
Pencetakan 3D adalah alat luar biasa yang dapat berkontribusi banyak saat membangun proyek prototipe atau bereksperimen dengan desain mekanis baru. Jika Anda belum menemukan manfaat dari printer 3D atau cara kerjanya, Anda dapat membaca Panduan Pemula untuk pencetakan 3D.
Jika Anda memiliki atau memiliki akses ke printer 3D, maka Anda dapat menggunakan file STL yang dapat diunduh dari sini untuk langsung mencetak dan merakitnya. Namun beberapa bagian seperti dudukan ponsel mungkin memerlukan beberapa modifikasi berdasarkan dimensi ponsel Anda. Saya telah mendesainnya untuk ponsel MOTO G saya. Saya telah menggunakan printer saya yang sangat dasar untuk mencetak semua bagian. Printer tersebut adalah FABX v1 dari 3ding yang hadir dengan harga terjangkau dengan volume cetak 10 cm kubik. Harga murah datang dengan trade off dengan resolusi cetak rendah dan tidak ada kartu SD atau fungsi melanjutkan pencetakan. Saya menggunakan perangkat lunak bernama Cura untuk mencetak file STL. Pengaturan yang saya gunakan untuk mencetak materi diberikan di bawah ini, Anda dapat menggunakan yang sama atau mengubahnya berdasarkan printer Anda.
Setelah Anda mencetak semua bahan yang diperlukan, Anda dapat mengamankannya pada posisinya dengan menggunakan sekrup dan lem panas. Setelah perakitan Anda selesai, akan terlihat seperti ini di bawah.
Skema dan Perangkat Keras:
Sirkuit untuk proyek Pelacakan Wajah pada Ponsel Pintar ini ditunjukkan pada gambar di bawah ini:
Sirkuit Terdiri dari dua motor Servo, yang satu digunakan untuk menggerakkan ponsel ke kiri / kanan dan yang lainnya digunakan untuk memiringkan ponsel ke atas / bawah. Arah pergerakan servo akan diinstruksikan oleh Arduino Nano yang dengan sendirinya mendapatkan informasi dari modul Bluetooth (HC-05). Seluruh sirkuit ditenagai oleh baterai 9V.
Sirkuit ini dapat dihubungkan dengan mudah di papan tempat memotong roti Anda atau Anda juga dapat menyoldernya di papan Perf kecil seperti yang telah saya lakukan di sini.
Menyiapkan Aplikasi Android Anda:
Seperti yang saya katakan sebelumnya, otak utama yang bekerja di balik proyek ini adalah aplikasi Android ini. Aplikasi android ini dikembangkan menggunakan Processing Android. Anda dapat langsung menginstal aplikasi ini di ponsel Anda dan meluncurkannya dengan mengikuti langkah-langkah di bawah ini.
- Unduh file APK dari sini.
- Nyalakan sirkuit yang ditunjukkan di atas.
- Dalam pengaturan telepon Anda, cari modul Bluetooth bernama "HC-05"
- Jika Anda menamainya dengan nama lain selain "HC-05", ubah kembali menjadi HC-05 karena hanya dengan itu aplikasi akan berfungsi.
- Pasangkan dengan modul Bluetooth Anda dengan kata sandi "1234" atau "0000".
- Sekarang, luncurkan Aplikasi dalam mode potret. Anda akan melihat layar kamera Anda dan juga "Connected to: HC-05" di bagian atas layar Anda.
- Coba gerakkan kamera Anda ke wajah dan kotak hijau akan muncul di atasnya dan posisinya juga akan ditampilkan di sudut kiri atas layar Anda seperti yang ditunjukkan di bawah ini.
Anda dapat membawa Proyek Pelacakan Wajah Arduino ini ke tingkat berikutnya dengan membawa banyak kemajuan yang tidak perlu Anda kodekan aplikasi Android Anda sendiri. Membuat aplikasi Android mungkin terdengar sulit tetapi percayalah dengan bantuan Pemrosesan, Anda dapat mempelajarinya dalam waktu singkat. Kode pemrosesan lengkap yang digunakan untuk membangun aplikasi ini dapat diunduh di sini. Anda bebas membuat kemajuan dengan kreativitas Anda sendiri. Lihat proyek di bawah ini untuk mempelajari lebih lanjut tentang Pemrosesan:
- Realitas Virtual menggunakan Arduino dan Pemrosesan
- Game Ping Pong menggunakan Arduino
- Radio FM Terkendali Ponsel Cerdas menggunakan Pemrosesan.
- Sistem Radar Arduino menggunakan Processing dan Ultrasonic Sensor
Memprogram Arduino Anda:
Aplikasi Android akan mendeteksi wajah dan posisinya di layar; kemudian akan memutuskan ke arah mana ia harus bergerak berdasarkan posisi wajah sehingga wajah sampai ke tengah layar. Arah ini kemudian dikirim ke Arduino melalui Modul Bluetooth.
Program Arduino untuk proyek ini cukup sederhana, kita hanya perlu mengontrol arah kedua motor servo berdasarkan nilai yang diterima dari Modul Bluetooth. The kode lengkap dapat ditemukan pada akhir tutorial ini, saya juga telah menjelaskan garis penting yang di bawah ini.
Baris kode di bawah ini membuat koneksi serial dengan pin D12 sebagai RX dan D11 sebagai TX. Karenanya pin D12 harus dihubungkan ke TX modul BT dan pin D11 ke RX modul BT.
SoftwareSerial cam_BT (12, 11); // RX, TX
Kemudian kita telah menginisialisasi modul Bluetooth pada baud rate 9600. Pastikan modul Anda juga bekerja pada baud rate yang sama. Lain ubah sesuai.
cam_BT.begin (9600); // mulai komunikasi Bluetooth pada 9600 baudrate cam_BT.println ("Siap menerima perintah");
Baris di bawah membaca apa yang masuk melalui modul Bluetooth. Juga data disimpan dalam variabel "BluetoothData".
if (cam_BT.available ()) // Baca apa yang masuk melalui Bluetooth {BluetoothData = cam_BT.read (); Serial.print ("Masuk dari BT:"); Serial.println (BluetoothData); }
Berdasarkan data yang diterima dari Bluetooth, arah motor dikendalikan. Untuk membelokkan motor ke kiri motor berkurang nilai 2 dari posisi sebelumnya. Anda dapat meningkatkan nilai ini 2 menjadi 4 atau 6 jika Anda membutuhkan lengan untuk bergerak lebih cepat. Tapi, itu mungkin membuat beberapa sentakan yang membuat kamera tidak stabil.
if (BluetoothData == 49) // Belok Kiri {pos1 + = 2; servo1.write (pos1);} if (BluetoothData == 50) // Belok Kanan {pos1- = 2; servo1.write (pos1);} if (BluetoothData == 51) // Nyalakan {pos2- = 2; servo2.write (pos2);} if (BluetoothData == 52) // Turn Down {pos2 + = 2; servo2.write (pos2);}
Kerja:
Setelah kami siap dengan perangkat keras, kode, dan Aplikasi Android kami, waktunya untuk beberapa tindakan. Cukup nyalakan Arduino Anda dan buka aplikasi android. Aplikasi akan secara otomatis terhubung ke modul Bluetooth HC-05 (harus dinamai HC-05) dan akan menunggu wajah terdeteksi. Cukup letakkan ponsel di dudukan ponsel kami dan duduk di depannya. Anda harus memperhatikan motor servo Anda menggerakkan ponsel Anda sehingga wajah Anda akan ditempatkan di tengah layar. Sekarang bergeraklah dalam jangkauan kamera dan ponsel Anda akan mengikuti gerakan Anda. Anda juga dapat mencobanya dengan menempatkan dan memindahkan gambar apa pun.
Pekerjaan lengkap proyek ini ditunjukkan pada video di bawah ini. Anda bisa membangun banyak hal