Anda di halaman 1dari 3

Rincian biaya pembuatan mobil rc Via hp

android
KOMPONEN” YANG DI PERLUKAN:
1. ARDUINO UNO R3 = 65.000.-
2. BATERAI LI – PO 3,7V-12V = 100.000-300.000.-
3. KABEL JAMPER = 1.000.-
4. BT – MODULE = 35.000.-
5. DINAMO BAN MOBIL = 35.000.-
6. MOTOR DRIVER = 25.000.-
7. SMARTPHONE
8. APLIKASI CONTROL VIA BT
9. BODY ROBOT/ CHASIS MRC

untuk mengakses Bluetooth pada tutorial ini kita akan menggunakan library  SoftwareSerial.
cukup ketikkan list dibawah untuk menggunakannya
#include <SoftwareSerial.h>
SoftwareSerial mySerial(12, 13); // RX, TX
Bluetooth RC Controller
Aplikasi ini nantinya yang akan kita gunakan, jadi ini aplikasi hukumnya WAJIB alias harus
ada..

Sebelum masuk ke pemrograman perlu diketahui Command/Karakter yang akan dikirim dari tiap
tombol dari aplikasi tersebut.
Forward = F
Back = B
Left = L
Right = R
Forward Left = G
Forward Right = I
Back Left = H
Back Right = J
Stop = S
Speed 10-100 = 1-9,q
untuk command lain silahkan cek di aplikasi tersebut, masuk setting dari app tersebut. Jangan
malas baca :P
Oke jika sudah tahu command dari app tsb langsung saja kita program Robot RCnya :
#include <SoftwareSerial.h>
SoftwareSerial mySerial(12, 13); // RX, TX
#define m1 3
#define m2 5
#define m3 9
#define m4 10
int data=0,kec=0;
boolean maju=true;
//array kecepatan
int fast[11]={0,80,100,120,140,160,180,200,220,240,255};
void setup()
{
pinMode(m1,OUTPUT);
pinMode(m2,OUTPUT);
pinMode(m3,OUTPUT);
pinMode(m4,OUTPUT);
// for HC-05 use 38400 when poerwing with KEY/STATE set to HIGH on power on
mySerial.begin(9600);
}
void motorOut(unsigned char lpwm, unsigned char rpwm, boolean arrow){
//arrow=false=maju; arrow=true=mundur;
if(arrow==false){
digitalWrite(m3,HIGH);
digitalWrite(m1,LOW);
analogWrite(m4,255-lpwm);
analogWrite(m2,rpwm);
}
else{
digitalWrite(m3,LOW);
digitalWrite(m1,HIGH);
analogWrite(m4,lpwm);
analogWrite(m2,255-rpwm);
}
}
void loop(){
if(mySerial.available()>0){
data=mySerial.read();
//penyimpan data kecepatan
if (data =='0') { kec=0;}
else if (data =='1') { kec=1;}
else if (data =='2') { kec=2;}
else if (data =='3') { kec=3;}
else if (data =='4') { kec=4;}
else if (data =='5') { kec=5;}
else if (data =='6') { kec=6;}
else if (data =='7') { kec=7;}
else if (data =='8') { kec=8;}
else if (data =='9') { kec=9;}
else if (data =='q') {kec=10;}

//S= Stop
if (data == 'S')
{ motorOut(0,0,false); }
//F=Maju
If (data=='F')
{ motorOut(fast[kec],fast[kec],true); }
//I=Maju sambil belok kanan
if (data=='I')
{ motorOut(fast[kec],((fast[kec])/2),true);}
//G=Maju sambil belok kiri
if (data=='G')
{ motorOut(((fast[kec])/2),fast[kec],true); }
//R=Belok kanan
if(data=='R')
{ motorOut(fast[kec],0,true); }
//L=Belok kiri
if(data=='L')
{ motorOut(0,fast[kec],true); }
//B=Mundur
if(data=='B')
{ motorOut(fast[kec],fast[kec],false); }
//H=Mundur kiri
if (data=='H')
{ motorOut(((fast[kec])/2),fast[kec],false); }
//Mundur kanan
if (data=='J')
{ motorOut(fast[kec],((fast[kec])/2),false); }
}
}
Ada masalah?
1. roda tidak mau berputar?
->cek tegangan batre pastikan batrenya dalam kondisi bagus (6-7V)
->cek pengkabelannya lagi, barangkali ada yg kebalik
->setting kecepatannya di aplikasi, geser aja ke kanan
2. putaran roda terbalik
->tukar pengkabelan motor atau rubah programmnya
3. putaran roda kanan dan kiri berbeda
->sesuaikan program pwmnya ajaa...

Anda mungkin juga menyukai