Arduino, DIY, Hardware, Robotik, Software, Tutorial

OBSTACLE AVOIDING ROBOT CNC STORE BANDUNG

Obstacle Avoiding Robot merupakan Robot yang mampu menghindari halangan di depannya dan mencari jalan lain dengan berbelok ke kiri atau ke kanan. Banyak sekali tutorial cara membuat robot jenis ini, bahkan dengan sensor dan pemrograman sangan kompleks. Pada kesempatan ini kita akan membagiakan cara membuat Obstacle Avoiding yang sederhana yang tentunya tidak terlalu sulit dan cukup sederhana.

Berikut adalah part yang dibutuhkan beserta Link tempat Membelinya secara Online (BL/TP):

  • KIT SMART CHASSIS CHASIS 4WD ROBOT  

https://is.gd/ZtsoUS

https://is.gd/QuL4eY

  •  Module Driver Motor L298N

https://is.gd/4z2dx6

https://is.gd/F2cVdm

  •  Arduino Nano V3

https://is.gd/ZF3lI0

https://is.gd/sYHh3m

  •  Socket/tempat Baterai 18650 2P

https://is.gd/qp5jfV

https://is.gd/9jR7zd

  •  Sensor Jarak Ultrasonic

https://is.gd/mq89zV

https://is.gd/ZiyAky

  •  Servo 9G

https://is.gd/JM8QaR

https://is.gd/UAjsU2

  •  Breadboard/ProjectBoard 400P

https://is.gd/zS5uSN

https://is.gd/QynX6x

  •  Jumper Cable 

https://is.gd/Hdd14L

https://is.gd/EJo9C6

  •  Kabel Pelangi 10P

https://is.gd/iMvAKk

https://is.gd/tIwQVX

  •  Bracket Ultrasonic

https://is.gd/q8c8a3

  • Baterai 18650 2PCS
  • Bracket Servo 9G
  • Timah & Solder

Langkah Perakitan :

Pengkabelan Motor DC Gear BoX

Pada penyolderan Motor DC gear Box bisa menggunakan kabel pelangi 10P yang di ambil dua kabel saja dan panjang yang disesuaikan. Usahakan Warna kabel berbeda untuk mempermudah pengenalan pin dan polaritas Motor DC nantinya. Penambahan kapasitor 100nF dapat dilakukan untuk menambah kesetabilan motor.


Perakitan CHASSIS

Langkah-langkah perakitan CHASSIS yaitu dengan memasangkan motor DC gearbox terlebih dahulu dimana didalam paketnya sudah terdapat akrilik pengunci sehingga memudahkan kita untuk pemasangan. Pada saat pemasangan Motor gearbox ini, ban dalam keadaan tidak terpasang (Pemasangan ban dapat dilakukan pada saat terakhir)

 

Pengkabelan Soket Baterai

Pada bagian baterai tegangan yang kita perlukan adalah lebih dari 7V sehingga kita perlu merakitnya menjadi seri. untuk merakitnya menjadi seri bisa mengikuti wiring seperti gambar berikut ini.

Pembuatan Rangkaian 


Untuk robot ini setidaknya kita membutuhkan satu pin PWM untuk servo dan 4 buah pin digital untuk mengatur putaran motor serta 2 buah pin digital untuk sensor ultra sonic, berikut adalah rangkaiannya :

 

Perogram :

 

//CNC STORE BANDUNG

#include 
#include 

#define TRIG_PIN 7 
#define ECHO_PIN 6 
#define MAX_DISTANCE 50 
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

Servo myservo; 
boolean goesForward=false;
int distance = 100;
int speedSet = 0;

const int motorPin1 = 11; 
const int motorPin2 = 10; 
//Motor B
const int motorPin3 = 9; 
const int motorPin4 = 8;

void setup() 
{
myservo.attach(5); 
myservo.write(90); 
delay(1000);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
}

void loop() 
{
int distanceR = 0;
int distanceL = 0;
delay(40);

if(distance<=30)
{
moveStop();
delay(100);
moveBackward();
delay(200);
moveStop();
delay(200);
distanceR = lookRight();
delay(200);
distanceL = lookLeft();
delay(200);

if(distanceR>=distanceL)
{
turnRight();
moveStop();
}

else
{
turnLeft();
moveStop();
}
}

else
{
moveForward();
}
distance = readPing();
}

int lookRight()
{
myservo.write(10); 
delay(150);
int distance = readPing();
delay(100);
myservo.write(90); 
return distance;
}
int lookLeft()
{
myservo.write(170); 
delay(150);
int distance = readPing();
delay(100);
myservo.write(90); 
return distance;
delay(100);
}

int readPing() 
{ 
delay(50);
int cm = sonar.ping_cm();
if(cm==0)
{
cm = 100;
}
return cm;
}

void moveStop()
{
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4,LOW);
} 

void moveForward() 
{
digitalWrite (motorPin1, HIGH);
digitalWrite (motorPin2, LOW);
digitalWrite (motorPin3, HIGH);
digitalWrite (motorPin4, LOW); 
}

void moveBackward() 
{
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH); 
} 

void turnRight() 
{
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH); 
delay(300);moveForward(); 

}

void turnLeft() 
{
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH); 
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW); 
delay(300);
moveForward();
}

Untuk Perogram di atas bisa di Download pada LINK di bawah :

https://drive.google.com/open?id=1LwXnvgaIXPoEWUDYqOkdpQRoTjBaV3YD

Related Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *