Kit Robot Pengikuti Garis Terkontrol PID – Arduino UNO, Sensor IR, Chassis Tahan Lama
Komponen dan Perlengkapan
KittenBot Anodized Aluminum Chassis — 1 unit
KittenBot RosBot Baseboard — 1 unit
KittenBot Diameter Ball Caster with Metal Ball (Pasang) — 1 unit
KittenBot Rubber Wheel with Motor Hub Set (Pasang) — 1 unit
KittenBot 5-Channel IR Line-following Tracker Sensor — 1 unit
DC motor (generik) — 1 unit
Baterai 9V (generik) — 1 unit
Arduino UNO — 1 unit
Aplikasi dan Layanan Online
Arduino IDE
Tentang Proyek Ini
Ringkasan
Salah satu fitur yang dibutuhkan oleh sebagian besar robot rover otonom adalah pengikutan garis. Tujuan proyek ini adalah untuk membuat robot pengikut garis dan memulai belajar kontroler PID dengan cara yang menyenangkan.
Bagian
Robot berfungsi dengan baik dengan dua motor, Rosbot Baseboard, dan sensor 5 saluran. Berbeda dengan yang lain, Anda tidak perlu membeli driver motor H-bridge tambahan atau berbagai komponen karena Rosbot Baseboard memiliki driver dual H-bridge bawaan 2x. Cukup hubungkan motor ke Rosbot baseboard dan ia akan menyuplai lebih banyak daya daripada Arduino Uno.
Bingkai keren dan padat yang memiliki banyak lubang montase (4.8mm LEGO Technic), Anda dapat dengan mudah menggunakan kembali bingkai ini untuk proyek menyenangkan lainnya.
Otak robot: RosBot Baseboard
Papan utama berbasis Arduino UNO dengan 2 driver motor dual H-bridge papan.
Mata robot: 5-Channel IR Line-following Tracker Sensor
Detektor Inframerah 5-Saluran, lebih akurat dan stabil.
Langkah 1: Rangkaian
Robot ini cukup mudah dirangkaikan, ikuti instruksi dan membutuhkan waktu sekitar 15 menit.
Pertama, pasang motor Anda di sisi bingkai, cukup colokkan roda karet.
Pasang sensor IR 5-Saluran di bagian depan bingkai.
Pasang Rosbot baseboard Anda ke bingkai, kemudian robot siap untuk dihubungkan.
Langkah 2: Kabeling
Berikut adalah koneksi untuk sensor IR 5-Saluran:
VCC ke 5V
GND ke RosBot's GND
T1-T4 ke pin A0-A3
T5 ke pin SDA
Motor DC cukup ke pin A+A- dan pin B+B-.
Koding
Dalam kode, kita memiliki mesin status yang menunjukkan setiap kemungkinan keluaran array sensor. Robot bergerak ke arah tertentu sesuai dengan keluaran array sensor.
void stateMachine(int a) { switch (a) { case B00000: outlineCnt++; break; case B11111: outlineCnt++; break; case B00010: case B00110: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(0, 50, 0)); bias = 1; break; case B00001: case B00011: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(0, 200, 0)); bias = 2; break; case B00100: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(0, 0, 20)); bias = 0; break; case B01000: case B01100: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(50, 0, 0)); bias = -1; break; case B10000: case B11000: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(200, 0, 0)); bias = -2; break; default: Serial.println(a,BIN); outlineCnt++; break; } }
Kami telah menetapkan nilai Error, istilah proporsional, istilah integral, dan istilah turunan.