Membuat Remote Control (RC) Lewat Kendali Smartphone Android,~ 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 :
- Mikrokontroler (Arduino Uno R3)
- Bluetooth (HC-05)
- Motor DC 12Volt (2 buah)
- Roda freewell (1 Buah)
- Driver Motor DC (L298N)
- Kabel Jumper (sesuai kebutuhan)
- Casing badan mobil
- 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 :
|
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 :
Klik Buka Untuk Melihat Sketch
//masukan library MeetAndroid
#include
//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..
File Lampiran: Sintak untuk pembuatan Antarmuka
Berikut ini adalah hasil dari script coding dan test project di atas