- Komponen yang Diperlukan:
- Perakitan Robot Pembersih Lantai:
- Pengkabelan dan Koneksi:
- Penjelasan Pemrograman:
Pembersih lantai otomatis bukanlah hal baru, tetapi semuanya memiliki masalah yang sama. Semuanya terlalu mahal untuk apa yang mereka lakukan. Hari ini, kami akan membuat Robot Pembersih Rumah Otomatis yang harganya hanya sebagian kecil dari yang ada di pasaran. Robot ini dapat mendeteksi rintangan & benda di depannya dan dapat terus bergerak, menghindari rintangan tersebut, hingga seluruh ruangan dibersihkan. Ada sikat kecil yang menempel untuk membersihkan lantai.
Periksa juga Robot Pembersih Vakum Cerdas kami menggunakan Arduino
Komponen yang Diperlukan:
- Arduino UNO R3.
- Sensor ultrasonik.
- Pelindung Driver Arduino Motor.
- Sasis Robot Penggerak Roda.
- Komputer untuk Memprogram Arduino.
- Baterai untuk Motor.
- Bank Daya Untuk Memberdayakan Arduino
- Sikat Sepatu.
- Sebuah Scotch Brite Scrub Pad.
Catatan: Alih-alih menggunakan baterai, Anda juga bisa menggunakan kabel 4 untai panjang seperti yang kami lakukan. Meskipun ini bukan solusi yang sangat elegan atau praktis tetapi Anda dapat melakukannya jika Anda tidak berencana menggunakannya di dunia nyata setiap hari. Pastikan panjang kabel cukup.
Sebelum masuk ke detail mari kita bahas dulu tentang Ultrasonic.
Sensor Ultrasonik HC-SR04:
Sensor Ultrasonik digunakan untuk mengukur jarak dengan akurasi tinggi dan pembacaan yang stabil. Ini dapat mengukur jarak dari 2cm hingga 400cm atau dari 1 inci hingga 13 kaki. Ini memancarkan gelombang ultrasonik pada frekuensi 40KHz di udara dan jika benda itu menghalangi jalannya maka akan memantul kembali ke sensor. Dengan menggunakan waktu yang dibutuhkan untuk menyerang objek dan kembali, Anda dapat menghitung jarak.
Sensor ultrasonik menggunakan teknik yang disebut "ECHO". "ECHO" hanyalah gelombang suara yang dipantulkan. Anda akan memiliki ECHO saat suara memantul kembali setelah mencapai jalan buntu.
Modul HCSR04 menghasilkan getaran suara dalam jangkauan ultrasonik ketika kita membuat pin 'Pemicu' tinggi sekitar 10us yang akan mengirim ledakan sonik 8 siklus dengan kecepatan suara dan setelah menabrak objek, itu akan diterima oleh pin Echo. Bergantung pada waktu yang dibutuhkan oleh getaran suara untuk kembali, ini memberikan keluaran pulsa yang sesuai. Jika jarak benda jauh maka ECHO membutuhkan waktu lebih lama untuk didengar dan lebar pulsa keluaran akan besar. Dan jika obstacle sudah dekat, maka ECHO akan terdengar lebih cepat dan lebar pulsa keluaran akan lebih kecil.
Kita bisa menghitung jarak benda berdasarkan waktu yang dibutuhkan gelombang ultrasonik untuk kembali ke sensor. Karena waktu dan kecepatan suara diketahui, kita dapat menghitung jarak dengan rumus berikut.
Jarak = (Waktu x Kecepatan Suara di Udara (343 m / s)) / 2.
Nilainya dibagi dua karena gelombang bergerak maju dan mundur dengan jarak yang sama. Dengan demikian waktu untuk mencapai rintangan hanya setengah dari total waktu yang dibutuhkan
Jadi Jarak dalam sentimeter = 17150 * T
Kami sebelumnya telah membuat banyak proyek berguna menggunakan sensor Ultrasonik dan Arduino ini, periksa di bawah ini:
- Pengukuran Jarak Berbasis Arduino menggunakan Sensor Ultrasonik
- Alarm Pintu menggunakan Arduino dan Ultrasonic Sensor
- Pemantauan Dumpster Berbasis IOT menggunakan Arduino
Perakitan Robot Pembersih Lantai:
Pasang Arduino pada sasis. Pastikan Anda tidak melakukan hubungan arus pendek apa pun jika sasis Anda terbuat dari logam. Merupakan ide yang baik untuk mendapatkan sebuah kotak untuk Arduino dan pelindung pengontrol motor. Kencangkan motor dengan roda dan sasis menggunakan sekrup. Sasis Anda harus memiliki opsi untuk melakukan ini dari pabrik, tetapi jika tidak, Anda dapat berimprovisasi dengan solusi yang berbeda. Epoxy bukanlah ide yang buruk. Pasang sikat sepatu di bagian depan sasis. Kami menggunakan kombinasi epoksi M-Seal dan sekrup bor untuk ini, meskipun Anda dapat menggunakan solusi lain yang mungkin lebih mudah bagi Anda. Pasang scrub pad Scotch Brite di belakang sikat. Kami menggunakan poros yang melintasi sasis yang menahannya, meskipun ini juga dapat diimprovisasi. Poros pegas dapat digunakan untuk menemaninya. Pasang baterai (atau kabel di bagian belakang sasis).Epoksi atau dudukan baterai adalah cara yang baik untuk melakukan ini. Lem panas juga tidak buruk.
Pengkabelan dan Koneksi:
Rangkaian Robot Pembersih Rumah Otomatis ini sangat sederhana. Hubungkan sensor Ultrasonik ke Arduino seperti yang disebutkan di bawah ini dan letakkan pelindung Driver Motor ke Arduino seperti pelindung lainnya.
Pin Trigonometri terhubung ke pin ke-12 di Arduino, pin Echo terhubung ke pin ke-13, pin tegangan ke pin 5V dan pin Ground ke pin ground. Pin Echo dan pin Trigonometri memungkinkan Arduino berkomunikasi dengan sensor. Daya dikirim ke sensor melalui tegangan dan pin Ground, dan pin Trig dan Echo memungkinkannya untuk mengirim dan menerima data dengan Arduino. Pelajari lebih lanjut tentang Menghubungkan sensor Ultrasonik dengan Arduino di sini.
Pelindung motor harus memiliki minimal 2 keluaran, dan harus dihubungkan ke 2 motor Anda. Biasanya, output ini diberi label "M1" dan "M2" atau "Motor 1" dan "Motor 2". Hubungkan baterai dan bank daya Anda ke pelindung motor dan Arduino masing-masing. Jangan menghubungkan mereka. Pelindung motor Anda harus memiliki saluran input. Jika Anda menggunakan kabel, sambungkan ke adaptor AC.
Penjelasan Pemrograman:
Buka Arduino IDE. Tempelkan kode Arduino lengkap, yang diberikan di akhir tutorial ini, ke dalam IDE. Hubungkan Arduino Anda ke komputer. Pilih port di Tools / Port. Klik tombol unggah.
Uji robotnya. Jika ternyata terlalu sedikit atau terlalu banyak, bereksperimenlah dengan penundaan hingga sempurna.
Sebelum masuk ke kodenya, kita perlu menginstal Library Adafruit Motor Shield untuk menggerakkan motor DC. Karena kami menggunakan pelindung driver motor L293D, kami perlu mengunduh Perpustakaan Motor AF dari sini. Kemudian tambahkan ke folder perpustakaan Arduino IDE Anda. Pastikan Anda mengganti namanya menjadi AFMotor . Pelajari lebih lanjut tentang menginstal perpustakaan ini.
Kode itu mudah dan dapat dipahami dengan mudah, tetapi di sini kami telah menjelaskan beberapa bagiannya:
Kode di bawah ini mengatur robot. Pertama kami telah menyertakan Perpustakaan Adafruit untuk menggerakkan motor dengan pelindung pengemudi Motor. Setelah itu, kita mendefinisikan pin Trig dan pin Echo. Ini juga mengatur motor. Ini mengatur pin Trig untuk output dan pin Echo ke input.
#include #tefine trigPin 12 #define echoPin 13 AF_DCMotor motor1 (1, MOTOR12_64KHZ); AF_DCMotor motor2 (2, MOTOR12_8KHZ); batal penyiapan () {pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); }
Kode di bawah ini memberi tahu Arduino untuk mengulang perintah berikut. Setelah itu, ia menggunakan sensor untuk mengirim dan menerima suara ultrasonik. Ini menghitung jaraknya dari objek setelah gelombang ultrasonik memantul kembali, setelah mencatat bahwa objek berada dalam jarak yang ditentukan, ia memberi tahu Arduino untuk memutar motor yang sesuai.
void loop () {durasi panjang, jarak; digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); durasi = pulseIn (echoPin, HIGH); jarak = (durasi / 2) / 29.1; if (jarak <20) {motor1.setSpeed (255); motor2.setSpeed (0); motor1.run (BACKWARD); motor2.run (BACKWARD); penundaan (2000); // GANTI INI SESUAI DENGAN BAGAIMANA ROBOT BERALIH.
Hal ini membuat robot berputar dengan memutar satu motor dan menjaga agar motor lainnya tidak bergerak.
Kode di bawah ini membuat robot memutar kedua motor ke arah yang sama untuk membuatnya bergerak maju hingga mendeteksi objek di batas tersebut.
lain {motor1.setSpeed (160); // GANTI INI SESUAI DENGAN CEPAT ROBOT ANDA HARUS PERGI. motor2.setSpeed (160); // GANTI INI KE NILAI YANG SAMA SEPERTI YANG ANDA Taruh di Atas motor1.run (MAJU); motor2.run (MAJU); }