Bagaimana Membuat Robot Pembersih Lantai Menggunakan Sensor Ultrasonik?

Robot pembersih lantai automatik bukanlah konsep baru. Tetapi robot ini mempunyai masalah besar. Mereka sangat mahal. Bagaimana jika kita dapat membuat robot pembersih lantai kos rendah yang seefisien robot yang terdapat di pasaran. Robot ini akan menggunakan sensor ultrasonik dan akan mengelakkan halangan dalam perjalanannya. Dengan berbuat demikian, ia akan membersihkan seluruh ruangan.



(Gambar ini diambil dari Circuit Digest)

Bagaimana Menggunakan Sensor Ultrasonik Untuk Membuat Robot Pembersih Lantai Automatik?

Seperti yang kita ketahui abstrak projek kita. Mari kita mengumpulkan lebih banyak maklumat untuk mula berfungsi.



Langkah 1: Mengumpulkan Komponen

Pendekatan terbaik untuk memulakan sesuatu projek adalah dengan membuat senarai komponen lengkap pada permulaan dan menjalani kajian ringkas setiap komponen. Ini membantu kita dalam mengelakkan kesulitan di tengah-tengah projek. Senarai lengkap semua komponen yang digunakan dalam projek ini diberikan di bawah.



  • Casis Roda Kereta
  • Bateri
  • Tunjukkan Berus

Langkah 2: Mengkaji Komponen

Sekarang kerana kita mempunyai senarai lengkap semua komponen, mari kita melangkah selangkah ke depan dan mengkaji cara kerja setiap komponen secara ringkas.



Arduino nano adalah papan mikrokontroler yang digunakan untuk mengawal atau menjalankan tugas yang berbeza dalam litar. Kami membakar a Kod C di Arduino Nano untuk memberitahu lembaga mikrokontroler bagaimana dan operasi apa yang harus dilakukan. Arduino Nano mempunyai fungsi yang sama persis dengan Arduino Uno tetapi dalam ukuran yang agak kecil. Pengawal mikro pada papan Arduino Nano adalah ATmega328p.

Arduino Nano

L298N adalah litar bersepadu arus tinggi dan voltan tinggi. Ia adalah jambatan penuh dua yang direka untuk menerima logik TTL standard. Ia mempunyai dua input yang membolehkan peranti beroperasi secara bebas. Dua motor boleh disambungkan dan dikendalikan pada masa yang sama. Kelajuan motor berbeza melalui pin PWM.



Pemandu Motor L298N

Papan HC-SR04 adalah sensor ultrasonik yang digunakan untuk menentukan jarak antara dua objek. Ia terdiri daripada pemancar dan penerima. Pemancar menukar isyarat elektrik menjadi isyarat ultrasonik dan penerima menukar isyarat ultrasonik kembali ke isyarat elektrik. Semasa pemancar menghantar gelombang ultrasonik, ia memantulkan setelah bertembung dengan objek tertentu. Jaraknya dikira dengan menggunakan waktu, yang memerlukan isyarat ultrasonik untuk pergi dari pemancar dan kembali ke penerima.

Sensor Ultrasonik

Langkah 3: Menyusun Komponen

Seperti yang kita ketahui sekarang bagaimana semua komponen berfungsi, marilah kita mengumpulkan semua komponen dan mula membuat robot.

Ambil casis roda kereta dan pasangkan berus tunjuk di hadapan casis. Pasang Scotch Brite di bawah robot. Pastikan ia betul-betul di belakang berus kasut. Sekarang pasangkan papan roti kecil di bahagian atas casing dan di belakangnya, pasangkan pemandu Motor. Lakukan sambungan motor dengan pemandu motor dengan betul dan sambungkan pemandu motor pin dengan hati-hati ke Arduino. Pasang bateri di belakang casis. Bateri akan menghidupkan pemandu Motor yang akan menghidupkan motor. Arduino juga akan mengambil kuasa dari pemandu Motor. Pin Vcc dan ground sensor ultrasonik akan disambungkan ke 5V dan ground Arduino.

Rajah Litar

Langkah 4: Bermula dengan Arduino

Sekiranya anda belum biasa dengan Arduino IDE, jangan risau kerana prosedur langkah demi langkah untuk mengatur dan menggunakan Arduino IDE dengan papan mikrokontroler dijelaskan di bawah.

  1. Muat turun versi terbaru dari Arduino IDE dari Arduino.
  2. Sambungkan papan Arduino Nano anda ke komputer riba anda dan buka panel kawalan. di panel kawalan, klik pada Perkakasan dan Bunyi . Sekarang klik pada Peranti dan Pencetak. Di sini, cari port yang menghubungkan papan mikrokontroler anda. Dalam kes saya adalah COM14 tetapi berbeza pada komputer yang berbeza.

    Mencari Pelabuhan

  3. Klik pada menu Alat dan tetapkan papan ke Arduino Nano.

    Menetapkan Papan

  4. Dalam menu Alat yang sama, tetapkan port ke nombor port yang anda perhatikan sebelumnya di Peranti dan Pencetak .

    Menetapkan Pelabuhan

  5. Dalam menu Alat yang sama, Tetapkan Pemproses ke ATmega328P (Pemuat Boot Lama).

    Pemproses

  6. Muat turun kod yang dilampirkan di bawah dan tampalkannya ke Arduino IDE anda. Klik pada muat naik butang untuk membakar kod pada papan mikrokontroler anda.

    Muat naik

Klik di sini untuk memuat turun kod.

Langkah 5: Memahami Kod

Kodnya cukup baik dikomentari dan cukup jelas. Tetapi masih, ia dijelaskan secara ringkas di bawah.

1. Pada permulaannya, semua pin Arduino yang akan kita gunakan, diinisialisasi.

int enable1pin = 8; // Pin untuk Motor int motor1pin1 = 2 pertama; int motor1pin2 = 3; int enable2pin = 9; // Pin untuk motor kedua motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pin untuk Ultrasonik Sensor const int echoPin = 10; const int buzzPin = 6; jangka masa panjang; // Pemboleh ubah untuk jarak apungan Sensor Ultrasonik;

2. persediaan tidak sah () adalah fungsi di mana kita menetapkan semua pin untuk digunakan sebagai INPUT atau OUTPUT. Baud Rate juga ditetapkan dalam fungsi ini. Baud rate adalah kepantasan papan mikrokontroler berkomunikasi dengan sensor terpasang.

persediaan tidak sah () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (aktifkan1pin, OUTPUT); pinMode (aktifkan 2pin, OUTPUT); pinMode (motor1pin1, OUTPUT); pinMode (motor1pin2, OUTPUT); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }

3. gelung kosong () adalah fungsi yang berjalan secara berterusan dalam satu gelung. Dalam gelung ini, kami telah memberitahu mikrokontroler kapan harus bergerak ke hadapan jika tidak ada halangan dalam jarak 50cm. Robot akan mengambil putaran kanan yang tajam ketika halangan dijumpai.

gelung kosong () {digitalWrite (trigPin, LOW); kelewatanMikrodetik (2); digitalWrite (trigPin, TINGGI); kelewatanMikrodetik (10); digitalWrite (trigPin, RENDAH); tempoh = pulseIn (echoPin, TINGGI); jarak = 0.034 * (tempoh / 2); if (jarak> 50) // Bergerak Ke Hadapan jika tiada halangan yang dijumpai {digitalWrite (enable1pin, HIGH); digitalWrite (aktifkan 2pin, TINGGI); digitalWrite (motor1pin1, TINGGI); digitalWrite (motor1pin2, RENDAH); digitalWrite (motor2pin1, TINGGI); digitalWrite (motor2pin2, RENDAH); } lain jika (jarak<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

Sekarang, kerana kami telah membincangkan semua yang anda perlukan untuk membuat robot pembersih lantai automatik, nikmati membuat robot pembersih lantai yang murah dan cekap.