KUNJUNGI KAMI

KUNJUNGI KITA DI BUKALAPAK, TOKOPEDIA DAN SHOPEE

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  


  •  Module Driver Motor L298N

  •  Arduino Nano V3

  •  Socket/tempat Baterai 18650 2P

  •  Sensor Jarak Ultrasonic

  •  Servo 9G

  •  Breadboard/ProjectBoard 400P

  •  Jumper Cable 

  •  Kabel Pelangi 10P
https://is.gd/iMvAKk
  •  Bracket Ultrasonic

  • 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 :



Tidak ada komentar:

Posting Komentar