Kendaraan otonom dengan Arduino adalah kemampuan kendaraan dalam bergerak dan beroperasi secara mandiri tanpa intervensi manusia menggunakan platform Arduino untuk mengontrol dan mengatur berbagai aspek dari kendaraannya. Hal ini dapat mencakup pengendalian motor, sensor, sistem navigasi dan perangkat lunak yang diperlukan untuk membuat keputusan secara real-time.
Baca juga : Cara Menggunakan Arduino untuk Prototipe Sensor Lingkungan
Komponen Utama
1. Arduino Uno atau Arduino Mega.
2. Motor driver untuk mengontrol motor DC, biasanya menggunakan L298N motor driver.
3. Motor DC untuk menggerakkan roda kendaraan.
4. Chassis struktur dasar kendaraan yang dilengkapi dengan roda.
5. Sensor ultrasonik seperti HC-SR04 yang digunakan untuk mendeteksi rintangan di sekitar kendaraan.
6. Sensor garis (line follower) untuk mengikuti garis di lantai dan membantu navigasi.
7. Baterai sebagai sumber daya untuk Arduino dan motor.
8. Breadboard dan kabel jumper untuk membuat rangkaian elektronik.
Langkah - langkah Perancangan Sistem
1. Perakitan Hardware
• Pasang motor DC pada chassis kendaraan dan hubungkan roda ke motor.
• Hubungkan kabel motor ke motor driver L298N.
• Hubungkan pin kontrol motor driver ke pin digital pada Arduino.
• Posisikan sensor ultrasonik di bagian depan kendaraan dan hubungkan ke pin digital Arduino.
• Posisikan sensor garis di bagian bawah kendaraan dan hubungkan ke pin analog atau digital Arduino.
• Hubungkan baterai ke Arduino dan motor driver untuk menyediakan daya.
2. Pengkodean
Setelah hardware dirakit, langkah selanjutnya adalah pengkodean. Berikut ini contoh kode program dasar untuk mengontrol kendaraan otonom dengan Arduino.
• Pengaturan Pin
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
#define TRIG 7
#define ECHO 6
#define LINE_SENSOR_LEFT A0
#define LINE_SENSOR_CENTER A1
#define LINE_SENSOR_RIGHT A2
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(LINE_SENSOR_LEFT, INPUT);
pinMode(LINE_SENSOR_CENTER, INPUT);
pinMode(LINE_SENSOR_RIGHT, INPUT);
Serial.begin(9600);
}
• Fungsi untuk Menggerakkan Motor
void moveForward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void moveBackward() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void stop() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
void turnLeft() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void turnRight() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
• Fungsi untuk Mengukur Jarak
long measureDistance() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long duration = pulseIn(ECHO, HIGH);
long distance = (duration * 0.034) / 2;
return distance;
}
• Logika untuk Mengikuti Garis dan Menghindari Rintangan
void loop() {
long distance = measureDistance();
if (distance < 20) {
stop();
delay(500);
moveBackward();
delay(500);
turnLeft();
delay(500);
} else {
int leftSensor = analogRead(LINE_SENSOR_LEFT);
int centerSensor = analogRead(LINE_SENSOR_CENTER);
int rightSensor = analogRead(LINE_SENSOR_RIGHT);
if (centerSensor < 500) {
moveForward();
} else if (leftSensor < 500) {
turnLeft();
} else if (rightSensor < 500) {
turnRight();
} else {
stop();
}
}
}
3. Pengujian
Setelah kode diunggah ke Arduino, langkah selanjutnya adalah pengujian. Tempatkan prototipe kendaraan otonom pada permukaan yang datar dengan lintasan garis untuk diikuti. Aktifkan sistem dan amati bagaimana kendaraan bergerak. Jika kendaraan tidak bergerak seperti yang diharapkan, lakukan penyesuaian pada kode atau pengaturan hardware.
Baca juga : Panduan Praktis: Membuat Prototipe Perangkat Wearable dengan Arduino
Siap Untuk Membuat Proyek Impianmu Menjadi Kenyataan?
Klik di sini untuk chat langsung via WhatsApp dan dapatkan dukungan langsung dari tim ahli kami!
0 on: "Mengembangkan Prototipe Kendaraan Otonom dengan Arduino"