-->

Cara Membuat Robot Avoider

Kali ini saya akan membuat robot avoider.Apasih robot avoider itu? Robot avoider adalah robot pengalang atau jika ada suatu bendah atau dinding maka ia akan mencari jalan sendiri.Mantapkan!!! Makanya langsung praktekanlah kalau uda baca artikel ini,gampang kok,yang gak ngerti sama sekali sama arduino jangan kawatir,karena projec ini projec sederhana lhooo...gak percayaa!!! langsung saja siapkan bahannya..

BAHAN

1.arduino uno x1
2. motor dc x2
3.sensor ultrasonic x1
4.motor driver L298N x1
5.battary 9 volt x1

RANGKAIAN




INSTALASI RANGKAIAN


1.hubungkan pin pin vcc sensor ultrasonic ke pin 5vlot arduino uno.
2.hubungakan pin echo sensor ultrasonic ke pin 3 arduino uno.
3.hubungkan pin tigger sensor ultrasonic ke pin 2 arduino uno.
4.hubungkan pin in1 motor driver l298n ke pin 7 arduino uno.
5.hubungkan pin in2 motor driver l298n ke pin 6 arduino uno.
6.hubungkan pin in3 motor driver l298n ke pin 5 arduino uno.
7.hubungkan pin in4 motor driver l298n ke pin 4 arduino uno.
8.hubungkan pin positif battray ke pin 12 volt motor driver l298n.
9.hubungkan pin negatif battray ke ground motor driver l298n.
10.hubungkan motor ke pin out 1 motor driver l298n.
11.hubungkan motor ke pin our 2 motor dirver l298n.
12.hubungkan motor ke pin our 3 motor dirver l298n.
13.hubungkan motor ke pin our 4 motor dirver l298n.

NB: jika putaran motor kebelakang atau terbalik,sesuaikan lah putaran motor kedepan.




masukan codingnya ke arduino ide untuk pogramnya.

oiyah!!! dwonload dulu library newping disini

KODING


#include <NewPing.h>

#define TRIGGER_PIN  2
#define ECHO_PIN     3
#define MAX_DISTANCE 200
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
unsigned int pingSpeed = 50;
unsigned long pingTimer;    
int distance;
int distanceL;
int distanceR;



int M1 = 4;
int E1 = 5;
int M2 = 7;
int E2 = 6;
int pwm_speed;
int speedVal = 255;
//char command = '\0';

void setup() {
  Serial.begin(9600);

  pinMode(M1, OUTPUT);
  pinMode(M2, OUTPUT);
  pinMode(10, OUTPUT);
  delay(250);
}

void loop() {
      distance  = sonar.ping_cm();
      Serial.println(distance);
      if (distance > 25){
        Drive("Forward");
        Serial.println("maju");
      }
      else if (distance < 25 && distance > 10)
      {
          Drive("TurnRight");
          delay(250);
          Drive("Stop");
          distanceR = sonar.ping_cm();
          Drive("TurnLeft");
          delay (250);
          Drive ("Stop");
          distanceL = sonar.ping_cm();
            if (distanceR > distanceL) {
              Drive ("TurnRight");
              Serial.println("kanan");
              delay (250);
              Drive ("Forward");
            
            }
            else {
              Drive ("TurnLeft");
              Serial.println("kiri");
              delay (250);
              Drive ("Forward");
            }
     }
     else {
        Drive ("Backward");
        Serial.println("mundur");
        delay (100);
        Drive ("Stop");
     }
}

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel