Bagaimana Memindahkan Piring di Sekitar Rak Dapur Anda Menggunakan Robot?

Jika Anda mencari cara untuk meningkatkan pesona dan fungsionalitas dapur Anda secara dramatis, pertimbangkan untuk meminimalkan upaya manusia di sana. Upaya manusia dapat diminimalkan dengan membuat robot domestik yang akan hadir di dapur dan akan membawa peralatan kotor menuju wastafel dan berhenti di situ. Ketika orang tersebut mengeluarkan peralatan dari robot, ia akan kembali dan membawa lebih banyak lagi. Terkadang di dapur besar, wastafel tidak terlalu dekat dengan lemari sehingga robot akan mengambil piring dari satu tempat rak ke rak lainnya. Jalur untuk robot akan dibuat di rak menggunakan pita Hitam. Robot akan menggunakan dua sensor jarak inframerah untuk mendeteksi jalur dan berdasarkan input yang diterima dari sensor, Arduino akan mengarahkan motor untuk bergerak dengan bantuan driver motor.

Bagaimana Menghubungkan Semua Periferal Yang Diperlukan Dalam Pembuatan Robot Domestik?

Sekarang, kita perlu mengumpulkan komponen yang diperlukan dan mulai membuat robot.

Langkah 1: Komponen yang Digunakan

Langkah 2: Mempelajari Komponen

Karena kita telah membuat daftar komponen, mari kita selangkah lebih maju dan melalui studi singkat tentang cara kerja setiap komponen.

Itu Arduino UNO adalah papan mikrokontroler yang terdiri dari microchip ATMega 328P dan dikembangkan oleh Arduino.cc. Papan ini memiliki satu set pin data digital dan analog yang dapat dihubungkan dengan papan atau sirkuit ekspansi lainnya. Board ini memiliki 14 pin Digital, 6 pin Analog, dan dapat diprogram dengan Arduino IDE (Integrated Development Environment) melalui kabel USB tipe B. Ini membutuhkan 5V untuk daya DI dan Kode Cmengoperasikan.

Driver Motor L298N digunakan untuk mengoperasikan Motor DC. L298N adalah driver motor H-Bridge ganda yang memungkinkan kontrol kecepatan dan arah dua motor DC secara bersamaan. Modul tersebut dapat menggerakkan motor DC yang memiliki tegangan antara 5 dan 35V, dengan arus puncak hingga 2A. Hal ini tergantung dari tegangan yang digunakan pada terminal VCC motor. Dalam proyek kami, pin 5V akan digunakan sebagai input karena kami perlu menghubungkannya ke catu daya 5V agar IC berfungsi dengan baik. Diagram rangkaian driver motor L298N dengan motor DC terhubung ditunjukkan di bawah ini untuk memahami mekanisme driver motor L298N. Untuk demonstrasi, masukan diberikan dari Keadaan Logikasebagai pengganti sensor IR.

Langkah 3: Memahami Diagram Blok Dan Prinsip Kerja

Pertama, kita akan melalui diagram blok, memahami prinsip kerja dan kemudian bergerak menuju perakitan komponen perangkat keras.

Sensor yang akan kami gunakan adalah digital dan mereka dapat memberikan output 0 atau 1. Sensor yang kami beli ini memberikan 1 pada permukaan putih dan 0 di permukaan hitam. Sensor yang kami beli memberikan nilai acak, terkadang memberi 0 pada permukaan putih dan 1 pada permukaan hitam. Kami akan menggunakan lima sensor di robot ini Ada empat kondisi dalam kode untuk lima sensor.

  1. Maju Di Jalur: Ketika sensor tengah berada di permukaan hitam dan sensor lainnya di permukaan putih, kondisi maju akan dijalankan dan robot akan bergerak lurus ke depan. Jika kita mulai dari Sensor1 dan lanjutkan sampai Sensor5, nilai yang akan diberikan masing-masing sensor adalah (1 1 0 1 1).
  2. Belok Kanan Tajam:Ketika Sensor 1 dan Sensor 2 berada di permukaan putih dan sensor lainnya berada di permukaan hitam, kondisi belok kanan tajam akan dijalankan dan robot akan berbelok tajam ke kanan. Jika kita mulai dari Sensor1 dan lanjutkan sampai Sensor5, nilai yang akan diberikan masing-masing sensor adalah (1 1 0 0 0).
  3. Belok Kiri Tajam:Ketika Sensor 4 dan Sensor 5 berada di permukaan putih dan sisa sensor berada di permukaan hitam, kondisi belok kiri tajam akan dijalankan dan robot akan berbelok tajam ke kiri. Jika kita mulai dari Sensor1 dan lanjutkan sampai Sensor5, nilai yang akan diberikan masing-masing sensor adalah (0 0 0 1 1).
  4. Berhenti: Ketika kelima sensor berada di permukaan hitam, robot akan berhenti dan motor akan berputar MATI. Titik dengan lima permukaan hitam ini akan berada di dekat wastafel sehingga mesin pencuci piring bisa mengeluarkan piring dari robot untuk dicuci.

Kami akan membuat jalur di rak dapur menggunakan selotip hitam dan jalur itu akan berakhir di dekat wastafel, jadi robot akan berhenti di dekat wastafel dan mesin pencuci piring akan membongkar piring dan kemudian robot akan bergerak ke arah jalan dan mencari peralatan lagi.

Langkah 4: Memulai Arduino

Jika Anda belum familiar dengan Arduino IDE sebelumnya, jangan khawatir karena di bawah ini Anda dapat melihat langkah-langkah yang jelas untuk membakar kode pada board mikrokontroler menggunakan Arduino IDE. Anda dapat mendownload Arduino IDE versi terbaru dari sini dan ikuti langkah-langkah di bawah ini:

  1. Ketika papan Arduino terhubung ke PC Anda, buka "Panel kontrol" dan klik "Perangkat Keras dan Suara". Kemudian klik "Perangkat dan Printer". Temukan nama port tempat papan Arduino Anda terhubung. Dalam kasus saya ini adalah "COM14" tetapi mungkin berbeda pada PC Anda.
  2. Sekarang buka Arduino IDE. Dari Alat, atur papan Arduino ke Arduino / Genuino UNO.
  3. Dari menu Alat yang sama, atur nomor port yang Anda lihat di panel kontrol.
  4. Unduh kode terlampir di bawah ini dan salin ke IDE Anda. Untuk mengunggah kode, klik tombol unggah.

Anda dapat mengunduh kode dari Sini

Langkah 5: Memahami Kode

Kodenya sangat sederhana. Dijelaskan secara singkat di bawah ini:

  1. Pada awal kode pin sensor diinisialisasi dan bersamaan dengan itu, pin untuk Driver Motor L298N juga diinisialisasi.
    int enable1pin = 10; //Menginisialisasi Pin PWM Untuk Input Analog Untuk Motor 1 int motor1pin1=2; //Menginisialisasi Pin Positif Untuk Motor 1 int motor1pin2=3; //Menginisialisasi Pin Negatif Untuk Motor 1 int enable2pin=11; // Inisialisasi Pin PWM Untuk Input Analog Untuk Motor 2 int motor2pin1 = 4; //Menginisialisasi Pin Positif Untuk Motor 2 int motor2pin2=5; // Inisialisasi Pin Negatif Untuk Motor 2 int S1 = 12; //Menginisialisasi Pin 12 Untuk Sensor 1 int S2=9 ; //Menginisialisasi Pin 9 Untuk Sensor 2 int S3=8 ; //Inisialisasi Pin 8 Untuk Sensor 3 int S4=7 ; //Menginisialisasi Pin 7 Untuk Sensor 4 int S5=6 ; //Menginisialisasi Pin 6 Untuk Sensor 5
  2. batalkan pengaturan()adalah fungsi yang digunakan untuk mengatur pin sebagai INPUT atau OUTPUT. Ini juga mengatur baud rate Arduino. Baud rate adalah kecepatan di mana papan mikrokontroler berkomunikasi dengan komponen lain yang terpasang.
    {pinMode (enable1pin, OUTPUT); //Mengaktifkan PWM untuk Motor 1 pinMode(enable2pin, OUTPUT); //Mengaktifkan PWM untuk Motor 2 pinMode(motor1pin1, OUTPUT); // Mengatur motor1 pin1 sebagai output pinMode (motor1pin2, OUTPUT); //Mengatur motor1 pin2 sebagai output pinMode(motor2pin1, OUTPUT); //Mengatur motor2 pin1 sebagai output pinMode(motor2pin2, OUTPUT); //Mengatur motor2 pin2 sebagai output pinMode(S1, INPUT); //Mengatur sensor1 sebagai input pinMode(S2, INPUT); //Mengatur sensor2 sebagai input pinMode(S3, INPUT); //Mengatur sensor3 sebagai input pinMode(S4, INPUT); //Mengatur sensor4 sebagai input pinMode(S5, INPUT); //Mengatur sensor5 sebagai input Serial.begin(9600); //Menyetel kecepatan baud }
  3. lingkaran kosong() adalah fungsi yang berjalan berulang-ulang dalam satu siklus. Dalam loop ini, kami memberikan instruksi kepada Arduino UNO operasi apa yang harus dilakukan. Kecepatan penuh motor adalah 255 dan kedua motor memiliki kecepatan yang berbeda. Jadi, jika kita ingin menggerakkan robot ke depan, belok kanan dll kita perlu mengatur kecepatan motor. Kami telah menggunakan pin analog dalam kode karena kami ingin memvariasikan kecepatan kedua motor dalam kondisi yang berbeda. Anda dapat mengatur kecepatan motor Anda sendiri.
    void loop() { if(!(digitalRead(S1))&&!(digitalRead(S2))&&(digitalRead(S3))&&!(digitalRead(S4))&&!(digitalRead(S5))) //Teruskan baris { analogWrite(enable1pin, 61); //Motor 1 kecepatan analogWrite(enable2pin, 63); //Motor 2 kecepatan digitalWrite(motor1pin1, TINGGI); //Motor 1 pin 1 set ke High digitalWrite(motor1pin2, LOW); //Motor 1 pin 2 disetel ke Low digitalWrite(motor2pin1, HIGH); //Motor 2 pin 1 set ke High digitalWrite(motor2pin2, LOW); //Motor 2 pin 2 disetel ke Rendah } if(!(digitalRead(S1))&&!(digitalRead(S2))&&(digitalRead(S3))&&(digitalRead(S4))&&(digitalRead(S5))) / / Belok Kanan Tajam { analogWrite(enable1pin, 60); //Motor 1 kecepatan analogWrite(enable2pin, 80); //Motor 2 kecepatan digitalWrite(motor1pin1, TINGGI); //Motor 1 pin 1 set ke High digitalWrite(motor1pin2, LOW); //Motor 1 pin 2 disetel ke Low digitalWrite(motor2pin1, LOW); //Motor 2 pin 1 disetel ke Low digitalWrite(motor2pin2, LOW); //Motor 2 pin 2 disetel ke Rendah } if((digitalRead(S1))&&(digitalRead(S2))&&(digitalRead(S3))&&!(digitalRead(S4))&&!(digitalRead(S5))) / / Belok Kiri Tajam { analogWrite(enable1pin, 80); //Motor 1 kecepatan analogWrite(enable2pin, 65); //Motor 2 kecepatan digitalWrite(motor1pin1, RENDAH); //Motor 1 pin 1 disetel ke Low digitalWrite(motor1pin2, LOW); //Motor 1 pin 2 disetel ke Low digitalWrite(motor2pin1, HIGH); //Motor 2 pin 1 set ke High digitalWrite(motor2pin2, LOW); //Motor 2 pin 2 disetel ke Rendah } if((digitalRead(S1))&&(digitalRead(S2))&&(digitalRead(S3))&&(digitalRead(S4))&&(digitalRead(S5))) // stop { analogWrite(aktifkan1pin, 0); //Motor 1 kecepatan analogWrite(enable2pin, 0); //Motor 2 kecepatan digitalWrite(motor1pin1, RENDAH); // Motor 1 pin 1 disetel ke Low digitalWrite (motor1pin2, LOW); //Motor 1 pin 2 disetel ke Low digitalWrite(motor2pin1, LOW); //Motor 2 pin 1 disetel ke Low digitalWrite(motor2pin2, LOW); //Motor 2 pin 2 disetel ke Rendah } }

Aplikasi

  1. Aplikasi Industri: Robot ini dapat digunakan sebagai pembawa peralatan otomatis di industri yang menggantikan ban berjalan tradisional.
  2. Aplikasi domestik: Ini juga dapat digunakan di rumah untuk keperluan rumah tangga seperti membersihkan lantai, pekerjaan dapur, dll.
  3. Aplikasi panduan: Robot ini dapat digunakan di tempat umum seperti pusat perbelanjaan, food court, museum, dll untuk memberikan panduan jalur
Facebook Twitter Google Plus Pinterest