Anda di halaman 1dari 5

Silvi Nadya Margareta

15640013

Robot Penghalang Rintangan


1. Komponen yang dibutuhkan antara lain :
 Arduino UNO 1 buah
 Sensor Ultrasonic HC-SR04 1 buah
 Driver Motor L298N 1 buah
 Motor DC + Roda 2 buah
 Baterai 9V 1 buah
 Project board 1buah
 Kabel Jumper Secukupnya

2. Rangkaian

Gambar 1. Rangkaian robot penghalang rintangan.

Keterangan dari rangkaian :


 Pin Trigger sensor ultrasonic => Pin 3 Arduino
 Pin Echo sensor ultrasonic => Pin 2 Arduino
 Pin In1 Driver Motor => Pin 7 Arduino
 Pin In2 Driver Motor => Pin 6 Arduino
 Pin In3 Driver Motor => Pin 5 Arduino
 Pin In4 Driver Motor => Pin 4 Arduino
 Pin ENA-bawah Driver Motor => Pin 9 Arduino
 Pin ENB-bawah Driver Motor => Pin 9 Arduino
 Pin ENA-atas Driver Motor => Pin 5V Arduino
 Pin ENB-atas Driver Motor => Pin 5V Arduino
 OUT1 dan OUT2 Driver Motor => Motor 1
 OUT3 dan OUT4 Driver Motor => Motor 2
 Pin 12V Driver Motor => Hubungkan ke baterai
 Pin GND Driver Motor => Hubungkan ke Ground(-) Baterai dan Ground (GND)
Arduino.
 Kaki vcc pada masing-masing komponen hubungkan ke sumber power positif 5v (bisa
dari 5v Arduino).
 Kaki gnd/ground pada masing-masing komponen hubungkan ke sumber negatif power
(dihubungkan ke pin gnd Arduino).

Gambar 2. Robot penghalang rintangan

3. Prinsip kerja
Robot penghalang rintangan akan berjalan dan secara otomatis menghindari
halangan di depannya sesuai ketentuan yang sudah diatur di dalam programnya. Jika
jarak terdeteksi di atas atau sama dengan 20cm, maka robot akan berjalan lurus terus.
Sedangkan jika jarak yang terdeteksi dibawah 20cm, maka robot akan mundur sesaat,
kemudian belok ke kiri. Cara berbelok robot tersebut tidak menggunakan kemudi
layaknya mobil sungguhan, tetapi menggunakan differential drive. Yaitu saat berjalan
maju, roda kanan dan kiri maju secara bersamaan. Pada saat belok kiri, maka roda kanan
tetap maju, namun roda kiri berjalan mundur. Jika ingin belok kanan maka disetting roda
kiri maju, dan roda kanan berjalan mundur. Maka robot akan berbelok ke kanan.

4. Koding

// inialisasi pin untuk motor kanan-kiri


const int motor1 = 7;
const int motor2 = 6;
const int motor3 = 5;
const int motor4 = 4;

// inialisasi pin sensor ultrasonic


const int pinT = 3; // pin Trigger
const int pinE = 2; // pin Echo
// inialisasi variabel durasi dan jarak, pembacaan sensor ultrasonic
int durasi, jarak;

// inialisasi pin untuk pengaturan kecepatan


// wajib menggunakan pin PWM
const int pinSpeed = 9;
// inialisasi variabel penampung nilai kecepatan
int Speed;

// ------ program default/setting awal ------ //


void setup()
{
// inialisasi status I/O masing2 pin
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
pinMode(motor3, OUTPUT);
pinMode(motor4, OUTPUT);
pinMode(pinT, OUTPUT);
pinMode(pinE, INPUT);
pinMode(pinSpeed, OUTPUT);
}

// ----- program utama, looping/berulang terus-menerus ------ //


void loop()
{

// ------------- pengaturan kecepatan -------------- //


// membatasi nilai speed 0 - 255
Speed = constrain(Speed, 0, 255);
// inialisasi nilai kecepatan
// nilai kecepatan dapat diubah, batasannya antara 0 - 255
Speed = 255;
// menuliskan nilai speed pada pinSpesed
analogWrite(pinSpeed, Speed);

// ----------- mengaktifkan sensor ultrasonic -------------- //


// mengaktifkan pin trigger
digitalWrite(pinT, HIGH);
// delay 10 mikrodetik
delayMicroseconds(10);
// mematikan pin trigger
digitalWrite(pinT, LOW);

// mendapat data durasi pantulan gelombang ultrasonic


durasi = pulseIn(pinE, HIGH);
// konversi durasi ke jarak dalam satuan centimeter(cm)
jarak = ((durasi * 0.034) / 2);

// ------------ mengatur pergerakan robot --------------- s//


// jika jarak lebih besar atau sama dengan 20 cm
if (jarak >= 20)
{
// jalan maju
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
}

// jika jarak kurang dari atau sama dengan 19 cm


else if (jarak <= 19)
{
// jalan mundur selama 300 milidetik
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
delay(300);

// lalu belok kiri selama 300 milidetik


digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
delay(300);
}
}
5. Manfa’at
Robot penghalang rintangan dapat dimanfa’atkan dalam berbagai hal salah satunya
pada lingkup industri, dapat juga digabung dengan robot line follower dan digunakan
sebagai robot pengangkut barang selain itu system pada robot ini dapat juga diterapkan
pada kendaraan bermotor untuk menghindari terjadinya tabrakan dengan kendaraan yang
lain.

Anda mungkin juga menyukai