Robot Kendali Gerak: Proyek Arduino UNO Tanpa Tangan (Hands-Free)
Komponen dan Perlengkapan
Arduino UNO – 1 buah
Breakout Akselerometer Tiga Sumbu SparkFun ADXL335 – 1 buah
Modul RF 434-MHz – 1 buah
HT12D – 1 buah
HT12E – 1 buah
Driver Motor Dual H-Bridge SparkFun L298 – 1 buah
PCB Prototyping (umum) – 1 buah
Regulator Linier (7805) – 2 buah
Motor DC (umum) – 1 buah
Aplikasi dan Layanan Online
Arduino IDE
Tentang Proyek Ini
UPDATE : VERSI TERBARU DARI PROYEK INI DAPAT DITEMUKAN DI SINI
Pendahuluan
Saya harap bisa mengontrol semuanya dengan tangan! Duduk di kursi saya dan mengontrol hal-hal seperti BOSS. Saya akan sangat senang! Jadi akhirnya saya hadir dengan robot DIY pengenalan gerak tangan yang keren, yang dapat mengikuti perintah yang dibuat oleh gerak tangan. Terlihat gila tapi saya berjanji itu sangat sederhana. Membuat robot kendali gerak sebenarnya sangat sederhana. Robot ini adalah perbaikan dari proyek DIY lainnya saya mobil RC menggunakan modul RF.
Di sini juga, robot dibagi menjadi dua bagian, pengirim dan penerima. Rangkaian penerima sama dengan posting lama dan hanya ada sedikit perubahan pada rangkaian pengirim, di sini kita perlu memprogram rangkaian pengirim. Jadi saya akan menggunakan Arduino sebagai platform pemrograman. Untuk mengenali gerakan yang dilakukan saya akan menggunakan sensor akselerometer. Jadi ayo mulai membangun!
Tonton Robot dalam Aksi
Apa itu dan bagaimana cara kerjanya?
Apa itu Akselerometer (ADXL335)?
Singkatnya, akselerometer adalah perangkat pengukur percepatan tiga sumbu. Akselerometer yang digunakan di sini adalah ADXL335 dan memiliki 3 sumbu (X Y Z).
Hampir semua ponsel cerdas sekarang memiliki akselerometer (meskipun kita tidak akan mengambilnya dari ponsel). Anda tentu pernah memainkan game gerakan di ponsel Anda (misal Temple run) di mana karakter dalam game bergerak ke kiri dan kanan saat Anda memiringkan ponsel ke kiri dan kanan masing-masing hal ini dilakukan oleh akselerometer.
Ada sensor lain yang disebut Gyroscope yang ditemukan di ponsel cerdas yang tidak kita butuhkan sekarang.
Bagaimana Cara Kerja dan Mengenali Gerakan?
Di sini otak robot adalah Arduino Uno (Atmega32) yang dikirimkan dengan beberapa himpunan kode. Gerakan/gerakan yang dibuat oleh tangan dikenali oleh perangkat pengukur percepatan yang disebut akselerometer (ADXL335).
Di sini akselerometer membaca koordinat X Y Z saat kita membuat gerakan dengan tangan dan mengirim koordinat X Y Z ke Arduino (di sini kita tidak butuh sumbu Z kita butuh hanya dua koordinat X dan Y Jadi abaikan koordinat Z). Arduino memeriksa nilai koordinat dan mengirim kode 4-bit ke IC Enkoder. Enkoder melewatkan data ke pemancar dan data yang dipancar diterima oleh penerima RF. Penerima mengirim kode 4-bit ke IC Dekoder dan dekoder melewatkannya ke IC Driver Motor. Nanti driver motor membuat keputusan untuk memutar dua motor dalam arah yang diperlukan.
Buat Sumber Daya
Pertama, kita akan mulai dengan rangkaian sumber daya. Kita perlu dua rangkaian sumber daya: satu untuk pengirim dan satu untuk penerima. Rangkaian penerima perlu diberdayakan menggunakan supply 12V (karena saya menggunakan motor 12V) dan rangkaian pengirim dapat diberdayakan menggunakan baterai 9V.
Anda dapat melihat rangkaian sumber daya untuk penerima di kanan. Menggunakan diagram ini, sambungkan rangkaian supply. Anda juga dapat menambahkan LED melalui resistor 1k untuk menunjukkan status sumber daya.
IC 7805 yang mengatur supply 12V menjadi 5V (jika Anda tidak dapat mendapatkan supply 12V Anda dapat menggunakan supply 9V)
Kapasitor 0.1uf dan 470uf
Resistor 1k untuk LED status
CATATAN: Gunakan heat sink untuk 7805 karena kita menurunkan 7V (12-5) jadi banyak panas akan dihasilkan untuk membakar regulator jadi penggunaan heat sink direkomendasikan.
Ayo Mulai Membuat Pengirim (Remote)
Bagian pengirim terdiri dari akselerometer yang mendeteksi gerakan tangan dan mengirim data ke Arduino. Nantinya Arduino mengirim data ke IC Enkoder sesuai dengan data yang diterima dari akselerometer dan data ditransmisikan ke penerima. Sambungkan sesuai dengan rangkaian di bawah ini:
CATATAN:Harap, waspada bahwa beberapa akselerometer menggunakan supply 3.3V dan mungkin akan rusak oleh 5V. Periksa dokumentasi pemasok untuk mengetahui tegangan yang benar.
Ini hanya ilustrasi dari pengirim:
Unggah Kode ke Arduino
Berikut adalah kode terbaru
Buat Penerima
Rangkaian penerima terdiri dari 2 IC (HT12D dekoder, L293D driver motor), modul penerima RF.
Sambungkan rangkaian sesuai skema penerima di atas. Ada 2 LED pada papan penerima, satu menyala saat supply daya diberikan ke penerima dan yang lain saat supply daya diberikan ke rangkaian pengirim. LED di dekat IC HT12D harus menyala dan ini memberikan transmisi yang valid (VT) saat daya diberikan pada pengirim jika tidak ada yang salah dengan koneksi Anda atau modul RF-TX-RX Anda.
Jika Anda ingin mengetahui lebih detail tentang bagian penerima silakan baca artikel ini.
Apa Gerakan yang Akan Dikenali Robot?
Robot ini dirancang untuk mengenali lima himpunan gerakan: maju, mundur, kiri, kanan dan berhenti. Anda akan mendapat ide yang lebih baik jika Anda memeriksa foto gerakan yang diberikan di bawah ini.
Nikmati mengemudikan robot Anda.
Kecilkan dan Jadikan Permanen.
Arduino Uno akan besar dan membebani di tangan Anda. Dan jika Anda memutuskan untuk membuat proyek lain menggunakan Arduino Anda perlu melepaskan Arduino dan semua koneksi yang dibuat padanya, dan Anda akan kehilangan pekerjaan lama Anda. Saya tidak suka melakukan itu, jadi saya menemukan solusi untuk membuatnya permanen. Anda dapat memeriksa artikel ini untuk mempelajari cara menyusutkan proyek Arduino Anda.
Unduh tata letak PCB untuk versi standalone dari sini (mirror).
Tonton video ini tempat saya telah mentransfer kode ke MCU Atmega8. Saya hanya menunjukkan output dari MCU menggunakan LED.
Periksa blog saya untuk proyek baru saya
Jika Anda memiliki keraguan tinggalkan komentar di sini. Itu adalah blog saya. Saya akan secara teratur memeriksa umpan balik di sana daripada di sini.