Obstacle Avoiding Robot (Arduino) menggunakan Sensor Ultrasonik
.
Hai sedulur jogjarobotika, kali ini jogjarobotika akan sharing tentang suatu project arduino. Nah project kali ini saya akan mencoba membuat obstacle avoiding robot menggunakan modul sensor ultrasonik. Jadi robot ini akan menghindari rintangan yang ada di depannya.
.
Oke langsung saja kita siapkan bahan-bahannya.
.
1. Sasis Kit A30
Disini saya menggunakan SMART CAR CHASSIS KIT A30.Chasis Kit ini menggunakan bahan aluminium, jadi lebih kuat. sasis ini dapat digunakan untuk berbagai project arduino seperti robot line follower, robot beroda terkoneksi bluetooth, robot light follower, obstacle avoiding robot, dan lain sebagainya.
Sasis kit ini terdiri dari rangka body, motor dc, roda berdiameter 65mm, dan roda frewheel.
.
2.Arduino
Seperti biasa, untuk project kali ini pun saya memakai arduino UNO sebagai kontrolernya.
.
3. L298P MOTOR DRIVER SHIELD FOR ARDUINO
Kemudian saya menggunakan L298P MOTOR DRIVER SHIELD untuk mengontrol putaran dan kecepatan motor. Driver ini merupakan yang paling sering digunakan karena memiliki kelebihan yaitu dalam hal kepresisian dalam mengontrol motor sehingga motor lebih mudah untuk dikontrol.
.
4. Modul Sensor Ultrasonik HC-SR04
Sensor ultrasonik adalah sensor untuk mengubah bunyi menjadi besaran listrik. Cara kerja sensor ini berdasarkan prinsip dari pantulan gelombang suara sehingga dapat dipakai untuk mengukur jarak suatu benda.
.
5. Box Baterai + Baterai LI-ION 3.7V ukuran 18650
.
6. Beberapa Kabel Jumper dan Baut
.
Seperti biasa,jangan lupa beli bahan-bahan lengkap nya di jogjarobotika.com
.
Langsung saja mulai kita rakit robotnya.
.
s
.
1. Rakitlah terlebih dahulu motor dc yang sudah disolder kabel pada konektor motornya.
2. Pasang kedua roda diameter 65mm dan freewheelnya.
3. Pasang arduino.
4. Pasang L298P MOTOR DRIVER SHIELD. Lalu koneksikan kabel motor ke L298P MOTOR DRIVER SHIELD tersebut.
5. Pasang box batre. Lalu koneksikan kabel output dari box batre atau kabel power ke konektor power di L298P motor driver shield.
6. Pasang modul sensor ultrasonik HC-SR04 di pin 5 dan 6 pada arduino motorshield, dan jangan lupa untuk menghubungkan VCC dan GND nya.
.
Program nya adalah seperti berikut:
.
.
#include <NewPing.h> /masukkan library newping.h terlebih dahulu
#include <Servo.h>
#define m1 12
#define m2 10
#define m3 13
#define m4 11
#define TRIGGER_PIN 6 //Trigger pin of Ultrasonic sensor connected to pin 6
#define ECHO_PIN 5 //Echo pin of Ultrasonic sensor connected to pin 7
#define MAX_DISTANCE 200 //The maximum distance we want the sensor to look for is 1m
//
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); //Create Ultrasonic sensor object
//
unsigned int time; //Variable to store how long it takes for the ultrasonic wave to come back
int distance; //Variable to store the distance calculated from the sensor
int triggerDistance = 30; //The distance we want the robot to look for a new path
void setup()
{
pinMode(m1,OUTPUT);
pinMode(m2,OUTPUT);
pinMode(m3,OUTPUT);
pinMode(m4,OUTPUT);
Serial.begin(9600);
}
void motorOut(unsigned char lpwm, unsigned char rpwm, boolean arrow){
//arrow=false=forward; arrow=true=backward;
if(arrow==false){
digitalWrite(m3,HIGH);
digitalWrite(m1,LOW);
analogWrite(m4,lpwm);
analogWrite(m2,rpwm);
}
else{
digitalWrite(m3,LOW);
digitalWrite(m1,HIGH);
analogWrite(m4,lpwm);
analogWrite(m2,rpwm);
}
}
void maju ()
{
motorOut(100,100,true);
data();
}
void kanan()
{ motorOut(90,0,true); }
void kiri()
{ motorOut(0,90,true); }
void mundur()
{ motorOut(70,70,false); }
void stp()
{ motorOut(0,0,false); }
void balik()
{ motorOut(100,0,false); }
void data()
{
unsigned int uS = sonar.ping();
distance =(uS / US_ROUNDTRIP_CM);
Serial.println(distance);
}
void loop()
{
data();
if (distance > 45)
{
maju();
Serial.println(distance);
}
if (distance <45)
{
kanan();
}
}
.
.
Setelah upload program, langsung saja kita tes robotnya. Saat robot ON, robot akan bergerak dan menghindari benda yang ada di depannya.
Jika ingin memperhalus pergerakan robot, maka perlu ditambahkan beberapa sensor ultrasonik lagi di body samping robot. Tentunya program juga harus di upgrade.
.
Ya demikian tadi project simple dari kami. Semoga menjadi ilmu yang bermanfaat. Silahkan saran dan komen di bawah sebagai masukan untuk kami.
.
Video tutorial lebih lengkap dapat dilihat di youtube channel kami. Klik disini...
.
Terima kasih. Salam jogjarobotika
.
.
*Note: Saat download program ke arduino, L298P MOTOR DRIVER SHIELD FOR ARDUINO harus dilepas terlebih dahulu
Comments
Leave your comment