loading...

Tuesday, January 28, 2020

Membuat Mobil Remot Kontrol Dengan Bluetooth di Arduino


Dahulu kala di era tahun 90 an di kala kecil sering membuat mobil-mobilan dari kayu untuk kontrol nya biasanya diikat dengan tali rafia jika kita ingin membelokan mobil terebut kita tinggal tarik ke kanan jika kita ingin membelokan ke kiri maka tinggal tarik ke kiri, permainan tersebut dulu sudah sangat senang sekali, seiring berkembangnya teknologi sekarang mobil bisa di kontrol dengan remot kontrol dr harga 200 an bahkan sampai jutaan,

Jika kalian suka berkreasi pasti lebih senang jika membuat sendiri dibandingkan membeli, ada nilai kebanggaan tersendiri  bila kita membuat sesuatu kemudian berhasil rasa bangga dan lelah akan luntur seketika, pada kesempatan kali ini saya ingin berbagai pengalaman tentang membuat mobil remon kontrol dengan bluethoot. yang jadi pertanyaan bagai mana cara pengontrolannya???? untuk pengontrolannya menggunakan smart phone yang sudah terinstal aplikasi motor rc dengan koneksi blutooth, anda penasaran???? monggo simak tutorial dibawah ini

persiapkan bahan yang dibutuhkan :
1. Arduino Uno   1 buah
2. HC-05 Bluethoot 1 Buah
3. L2986N Driver Motor 1 Buah
4. Sasis Kit 2 WD 1 Set
5. Kabel Jumper Secukupnya
6. Battray

Rangkaian
Keterangan :
Pengkabelan Arduino Dengan L298N

Pin 3 Arduino ----> In 1    L298 N
Pin 5 Arduino ----> In 2    L298 N
Pin 9 Arduino ----> In 3    L298 N
Pin 10 Arduino ----> In 4    L298 N
Pin 5v Arduino ----> In +5v    L298 N
Pin Gnd Arduino ----> Gnd    L298 N

Pengkabelan Arduino Dengan HC-05

Pin 12 Arduino ----> TX    HC-05
Pin 13 Arduino ----> RX   HC-05
Pin 5v Arduino ----> VCC    HC-05
Pin Gnd Arduino ----> GND    HC-05


Sketch Programnya

// For Motor Driver L298N
#include <SoftwareSerial.h>
SoftwareSerial mySerial(12, 13); // TX,RX
#define MR1 3  // IN1
#define MR2 5  // IN2
#define ML1 9  // IN4
#define ML2 10 // IN3

/*
int MR1 = 3;  // IN1
int MR2 = 5;  // IN2
int ML1 = 9;  // IN4
int ML2 = 10; // IN3
*/

int data=0;
int Speed=0;
boolean maju=true;
int kec[11]={0,80,100,120,140,160,180,200,220,240,255}; //array kecepatan

void setup(){
  mySerial.begin(9600);
  pinMode(MR1,OUTPUT);
  pinMode(MR2,OUTPUT);
  pinMode(ML1,OUTPUT);
  pinMode(ML2,OUTPUT);
}

void motorOut(unsigned char lpwm, unsigned char rpwm, boolean arrow){

  if(arrow==false){
    digitalWrite(ML1,HIGH);
    digitalWrite(MR1,LOW);
    analogWrite(ML2,255-lpwm);
    analogWrite(MR2,rpwm);
    }
  else{
    digitalWrite(ML1,LOW);
    digitalWrite(MR1,HIGH);
    analogWrite(ML2,lpwm);
    analogWrite(MR2,255-rpwm);
    }
}

void loop(){

  /* Commands/Characters sent from APP Bluetooth RC Controller (ANDROID)
  Forward ->F
  Back  -> B
  Left  -> L
  Right -> R
  Forward Left  -> G
  Forward Righ  -> I
  Back Left -> H
  Back Right  -> J
  Stop  -> S
  Speed 10  -> 1
  Speed 20  -> 2
  Speed 30  -> 3
  Speed 40  -> 4
  Speed 50  -> 5
  Speed 60  -> 6
  Speed 70  -> 7
  Speed 80  -> 8
  Speed 90  -> 9
  Speed 100 -> q
  Stop All  -> D */

  if(mySerial.available()>0){
    data=mySerial.read();
 
    //penyimpan data kecepatan
    if (data =='0') { Speed=0; }
    else if (data =='1') { Speed=1;}
    else if (data =='2') { Speed=2;}
    else if (data =='3') { Speed=3;}
    else if (data =='4') { Speed=4;}
    else if (data =='5') { Speed=5;}
    else if (data =='6') { Speed=6;}
    else if (data =='7') { Speed=7;}
    else if (data =='8') { Speed=8;}
    else if (data =='9') { Speed=9;}
    else if (data =='q') { Speed=10;}
 
    if (data=='S')
    {
      motorOut(0,0,false);
    } // S=Stop
 
    if (data=='F')
    {
      motorOut(kec[Speed],kec[Speed],true);
    } // F=Maju
 
    if (data=='I')
    {
      motorOut(kec[Speed],((kec[Speed])/2),true);
    } // I=Maju sambil belok kanan
 
    if (data=='G')
    {
      motorOut(((kec[Speed])/2),kec[Speed],true);
    } // G=Maju sambil belok kiri
 
    if (data=='R')
    {
      motorOut(kec[Speed],0,true);
    } // R=Belok kanan
 
    if (data=='L')
    {
      motorOut(0,kec[Speed],true);
    } // L=Belok kiri
 
    if (data=='B')
    {
      motorOut(kec[Speed],kec[Speed],false);
    } // B=Mundur
 
    if (data=='H')
    {
      motorOut(((kec[Speed])/2),kec[Speed],false);
    } // H=Mundur sambil belok kiri
 
    if (data=='J')
    {
      motorOut(kec[Speed],((kec[Speed])/2),false);
    } // J=Mundur sambil belok kanan
  }
}



Di Sketch Program Terdapat Library #include <SoftwareSerial.h> jika belum punya bisa di download Di Sini

kalau sudah selesai semua mulai dari perakitan dan pemrograman, kemudian yang perlu disiapkan adalah kontroller nya yaitu aplikasi smartphone Blutooth RC Controller  yang bisa di download di playstore https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller

Kalau sudah terinstal koneksikan Smartphone dengan HC-05 apabila diminta pasword masukan pasword 1234 dan mobil remot siap digunakan

Terima kasih Semoga Bermanfaat

0 Comments:

Post a Comment