Anda di sini

Pemrograman

[Tutorial] Membuat Remote Control (RC) dengan Kendali Smartphone Android

Agus Ady Aryanto - 01 Desember 2015 12:12:23 0

Pada tutor ini kita akan membuat sebuah software dan hardware dengan memanfaatkan mikrokontroler. Alat yang akan dibuat yaitu sebuah mobil robot yang dapat dikontrol dengan antarmuka joystick melalui smartphone android. Langsung saja mulai pembuatannya, dimulai dari perancangan hardware kemudian softwarenya....

Untuk Hardware, Bahan yang diperlukan seperti :

  1. Mikrokontroler (Arduino Uno R3)
  2. Bluetooth (HC-05)
  3. Motor DC 12Volt (2 buah)
  4. Roda freewell (1 Buah)
  5. Driver Motor DC (L298N)
  6. Kabel Jumper (sesuai kebutuhan)
  7. Casing badan mobil
  8. Power Supplay 12 Volt

Pastikan bahan - bahan diatas sudah lengkap, kemudian rakit bodinya seperti pemasangan roda - roda dan perangkat elekroniknya agar terlihat rapi serta tidak terlihat ribet dengan kabel2. Nah, disini...akan diperlihatkan skematik pemasangan jalur wire antara perangkat elekroniknya seperti gambar 1 berikut :

Gambar 1 : Rangkaian Skematik Mobile Remote dengan Smartphone Android

Oke, perangkat keras sudah dirakit berikutnya pembuatan coding untuk bagian mikrokontroler dan antarmuka kendalinya. Dimulai dari pembuatan coding mikrokontroler dengan bantuan editor Arduino Ide menggunakan library meetAndroid. Untuk penggunaan library-nya sudah dijelaskan pada postingan sebelumnya jadi tidak akan dijelaskan kembali. Kita langsung saja ketik coding untuk mikrokontrolernya seperti ini :

//masukan library MeetAndroid 
#include <MeetAndroid.h> 

//deklarasikan nama librarynya 
MeetAndroid meetAndroid; 

//pin untuk motor A 
int dir1PinA=4; 
int dir2PinA=5; 
int speedPinA=9; 

//pin untuk motor B 
int dir1PinB=6; 
int dir2PinB=7; 
int speedPinB=10; 
int data; 

//berikan nilai awal kecepatan untuk motor 
int dataPWMKanan = 50; 
int dataPWMKiri = 50; 

void setup(){ 
//inisialiasai pin sebagai OUTPUT 
pinMode(dir1PinA, OUTPUT); 
pinMode(dir2PinA, OUTPUT); 
pinMode(dir1PinB, OUTPUT);
pinMode(dir2PinB, OUTPUT); 
pinMode(speedPinA, OUTPUT); 
pinMode(speedPinB, OUTPUT); 
Serial.begin(9600); 
meetAndroid.registerFunction(inComing,'A'); 
} 
void loop() { 
meetAndroid.receive(); 
if(data > 6) 
{ 
dataPWMKanan = data; 
dataPWMKiri = data + 10; 
if(dataPWMKiri >= 250) 
{ 
dataPWMKiri = 250; 
} 
}
analogWrite(speedPinA, dataPWMKiri); 
analogWrite(speedPinB, dataPWMKanan); 

switch(data) 
{ 
//maju 
case 1: 
//kiri
digitalWrite(dir1PinA, HIGH); 
digitalWrite(dir2PinA, LOW); 
//kanan 
digitalWrite(dir1PinB, LOW); 
digitalWrite(dir2PinB, HIGH); 
break; 
//mundur 
case 2: 
//kiri 
digitalWrite(dir1PinA, LOW); 
digitalWrite(dir2PinA, HIGH); 
//kanan 
digitalWrite(dir1PinB, HIGH); 
digitalWrite(dir2PinB, LOW); 
break; 
//kiri 
case 3: 
//kiri 
digitalWrite(dir1PinA, LOW); 
digitalWrite(dir2PinA, HIGH); 
//kanan 
digitalWrite(dir1PinB, LOW); 
digitalWrite(dir2PinB, HIGH); 
break; 
//kanan 
case 4: 
//kiri 
digitalWrite(dir1PinA, HIGH); 
digitalWrite(dir2PinA, LOW); 
//kanan 
digitalWrite(dir1PinB, HIGH); 
digitalWrite(dir2PinB, LOW); 
break; 
//stop 
case 5: 
//kiri 
digitalWrite(dir1PinA, LOW); 
digitalWrite(dir2PinA, LOW); 
//kanan 
digitalWrite(dir1PinB, LOW); 
digitalWrite(dir2PinB, LOW); 
break; 
} 
} 
//fungsi untuk menerima inputan dari interface kendali 
void inComing(byte flag, byte numOfValues) 
{ 
data=meetAndroid.getInt(); 
}

Berikutnya desain antarmuka kendali dengan smartphone android seperti yang diperlihatkan pada gambar 2 berikut ini :

Untuk coding antarmuka yang lengkap silahkan di download. Ingat!!! Disini masih menggunakan editor Ecplise untuk membuat aplikasi antarmuka melalui smartphone berbasis Android. Sekian tutor kali ini semoga bermanfaat dan Terima kasih.. bye..

37.850
Image

Agus Ady Aryanto

Profil pujangga Komang Agus Ady Aryanto belum tersedia.

Artikel Menarik Lainnya
Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.