ROBOT BERODA KENDALI BLUETOOTH HC 05 MODUL DRIVER L298N

 TOPOLOGI  ROBOT 2WD PENGENDALI BT HC 05

 


 
















Gambar 5.7. Topologi Robot Beroda 2WD kendali BT HC 05

 

A.     SETTING BLUETOOTH HC-05

1.      Memberikan Nama Bluetooth dan Password dengan AT COMMAND

2.      Penjelasan akan diuraikan di lampiran 2

 

B.      MENDOWNLOAD APLIKASI DI HP ANDROID

1.      Buka Google Play Store

2.      Ketik pada tab search “Arduino BT(HC-05)” lalu Install

3.      Password robot “1234”

 

C.      SKETCH ROBOT 2WD PENGENDALI BT HC 05

 

//CODER M.FIRDAUS,S.PD

//SEBELUM UPLOAD PROGRAM,CABUT DULU BT HC05 DAN SERVO

//HC05 RXD>pin 1

//HC05 TXD>pin 0

//HC05 GND>pin GND

//HC05 VCC>pin 5V

//menggunakan modul motor driver L298N

//PIN BLUETOOTH 1234

 

 

#include <SoftwareSerial.h>

char val;

 

// Penetapan Nama Variabel motor dan pin yang ditentukan

int ENA = 10; // pengatur kecepatan motor kiri di pin 10 pwm

int IN1 = 9; //IN1 motor kiri

int IN2 = 8; //IN2 motor kiri

int IN3 = 5; //IN3 motor kanan

int IN4 = 4; //IN4 motor kanan

int ENB = 3; // pengatur kecepatan motor kanan di pin 3 pwm

 

void setup()

{

  pinMode(IN1, OUTPUT); // in1 kiri

  pinMode(IN2, OUTPUT); // in2 kiri

  pinMode(IN3, OUTPUT); // in3 kanan

  pinMode(IN4, OUTPUT); // in4 kanan

  pinMode(ENA, OUTPUT); // nilai kecepatan motor kiri

  pinMode(ENB, OUTPUT); // nilai kecepatan motor kanan

 

  Serial.begin(9600); //Kecepatan komunikasi serial

 }

 

void loop(){

 

if( Serial.available() >0 )     

  {

    //Variable val untuk menyimpan sementara hasil dari bluetooth

    val = Serial.read();

    Serial.println(val);

  }

  

    if( val == 'F' ) {     //Motor Maju

        forward();

        }

    if( val == 'B') {      //Motor Mundur

        reverse();

        }

   if( val == 'R' ) {     //Motor Berbelok kanan

        right();

        }

   if( val == 'L' ) {     //Motor Berbelok kiri

        left();

        }

    if( val == 'S' ) {     //Motor Berhenti

        stop_bot();

        }

        delay(100);

 

    if( val == '1' ) {     //Motor Serong Kiri depan

        left();

        }

    if( val == '2' ) {     //Motor Serong Kanan depan

        right();

        }

    if( val == '3' ) {     //Motor Serong Kiri belakang

        sharpLeftTurn();

        }

    if( val == '4' ) {     //Motor Serong Kanan belakang

        sharpRightTurn();

        }

}

 

void forward(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

}

void reverse(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, HIGH);

}

void right(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, LOW);

}

void left(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

}

void sharpRightTurn(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, HIGH);

}

void sharpLeftTurn() {

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

  

}

void stop_bot(){

  analogWrite(ENA, 0); //Left Motor Speed

  analogWrite(ENB, 0); //Right Motor Speed

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, LOW);

}

A.  SKETCH ROBOT 2WD PENGENDALI Radio Frekuensi 4 Channel

 


 

const int val1 = A0; // pin terjemah untuk maju

const int val2 = A1; // pin terjemah untuk mundur

const int val3 = A2; // pin terjemah untuk kanan

const int val4 = A3; // pin terjemah untuk kiri

 

// Penetapan Nama Variabel motor dan pin yang ditentukan

int ENA = 10; // pengatur kecepatan motor kiri di pin 10 pwm

int IN1 = 9; //IN1 motor kiri

int IN2 = 8; //IN2 motor kiri

int IN3 = 5; //IN3 motor kanan

int IN4 = 4; //IN4 motor kanan

int ENB = 3; // pengatur kecepatan motor kanan di pin 3 pwm

 

int readState = 0;

 

void setup() {

  pinMode(val1, INPUT);

  pinMode(val2, INPUT);

  pinMode(val3, INPUT);

  pinMode(val4, INPUT);

 

  pinMode(IN1, OUTPUT); // in1 kiri

  pinMode(IN2, OUTPUT); // in2 kiri

  pinMode(IN3, OUTPUT); // in3 kanan

  pinMode(IN4, OUTPUT); // in4 kanan

  pinMode(ENA, OUTPUT); // nilai kecepatan motor kiri

  pinMode(ENB, OUTPUT); // nilai kecepatan motor kanan

}

 

void loop() {

  

  //untuk tombol pertama D2 ke A0

  readState = digitalRead(val1);

  if (readState == HIGH) {//Arah Maju

        forward();

        }

  else {//Motor Berhenti

        stop_bot();

    }

    delay(100);

    

  //untuk tombol kedua D0 ke A1

  readState = digitalRead(val2);

  if (readState == HIGH){//Arah Mundur

        reverse();

        }

  else {//Motor Berhenti

        stop_bot();

    }

    delay(100);

    

  //untuk tombol ketiga D3 ke A2

  readState = digitalRead(val3);

  if (readState == HIGH){//Arah Kanan

        right();

        }

  else {//Motor Berhenti

        stop_bot();

    }

    delay(100);

    

  //untuk tombol keempat D1 ke A3

  readState = digitalRead(val4);

   if (readState == HIGH){// Arah Kiri

        left();

        }

  else {//Motor Berhenti

        stop_bot();

    }

    delay(100);

}

 

void forward(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

}

void reverse(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, HIGH);

}

void right(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, LOW);

}

void left(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

}

void sharpRightTurn(){

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, HIGH);

}

void sharpLeftTurn() {

  analogWrite(ENA, 250); //Left Motor Speed

  analogWrite(ENB, 250); //Right Motor Speed

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

  

}

void stop_bot(){

  analogWrite(ENA, 0); //Left Motor Speed

  analogWrite(ENB, 0); //Right Motor Speed

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, LOW);

}

Postingan populer dari blog ini

T5. SKETCH DASAR 10 LED

T4. SKETCH DASAR EMPAT LED