Sabtu, 25 April 2020

MENGONTROL MOBIL-MOBILAN DENGAN BLUETOOT SMARTPHONE MENGGUNAKAN 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:

Posting Komentar