Sekarang dengan module Bluetooth HC-05 kita dapat Mengontrol Robot Bluetooth Arduino menggunakan Aplikasi Android melalui smartphone.
Dengan module bluetooth HC-05 kita dapat Mengontrol Robot Bluetooth Arduino menggunakan Aplikasi Android dengan jarak maksimal 10 meter. seperti robot yang saya buat yakni robot dengan dua roda menggunakan mikrokontroler. robot ini dapat mengisi kesenangan saat saya sedang bosan. selain membuat robot seperti ini, kalian juga bisa mengontrol yang lain menggunakan Bluetooth, atau berkomunikasi dengan mikrokontroler secara wireless dengan HC-05 seperti halnya membuat jam digital dengan bluetooth agar dapat mengontrolnya jarak jauh atau menghidup matikan lampu dengan bluetooth menggunakan smartphone dan lainya.
Cara Membuat Robot Bluetooth Arduino dengan Kontrol Android, yang saya buat saya control dengan android. aplikasi pada androidnya saya buat dengan APP Inventor, untuk membuatnya cukup mudah. atau untuk mecoba terlebih dahulu kalian bisa menggunakan aplikasi yang saya buat dengan download disini.
Instal aplikasi .apk yang tadi di download di smartphone android kalian, jika sudah menginstal apknya sekarang siapkan robotnya. Dalam tutor Mengontrol Robot Bluetooth Arduino menggunakan Aplikasi Android ini saya membuat robot seperti ini
Untuk komponennya bisa kalian siapkan yang dibawah atau mungkin juga kalian menggunakan komponen pilihan kalian sendiri
2. Bluetooth HC-05
3. Motor DC, motor DC yang digunakan bisa menyesuaikan. Usahakan yang sudah langsung berisi gearbox. kalian bisa membuat gearbox sendiri atau membeli yang sudah jadi.
4. Driver Motor, ini digunakan untuk mengontrol motor DC. Dirver motor yang saya gunakan yakni L293d Seperti gambar dibawah ini, untuk mengontrol motor menggunakan driver motor L293d bisa lihat di tutorial
kalian juga dapat menggunakan driver jenis yang lainnya seperti L298. perbedaan driver motor terdapat pada kemampuat batas tegangan dan juga arusnya jadi jika kalian memilih driver motor sesuaikan lah dengan spesifikasi motor DC yang kalian gunakan.
Berikut ini adalah Skematik Rangkaiannya menggunakan L293d. untuk rangkaian ini kalian dapat menyesuaikannya dengan komponen yang kalian gunakan
Rangkailah jalu rangkaian dari arduino ke driver motor lalu kemotor, untuk ujicoba driver motor tidak memerlukan bluetooth, lalu upload program arduinonya seperti berikut :
//MikroProject
//Mengontrol Arah Dan Kecepatan 2 Motor
//Driver L293D
//Motor A
int PWMA = 8 ; //Pin 1 Enable1 L293
const int motorPin1 = 12; // Pin 2 di L293
const int motorPin2 = 11; // Pin 7 di L293
//Motor B
int PWMB = 7 ; //Pin 9 Enable1 L293
const int motorPin3 = 9; // Pin 15 di of L293
const int motorPin4 = 10; // Pin 10 di of L293
void setup() {
//Set pins as outputs
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
pinMode(PWMA, OUTPUT);
pinMode (PWMB, OUTPUT);
}
void loop()
{
//ini code motor maju
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(1000);
//ini code motor mundur
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(1000);
//ini code motor belok kanan
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(1000);
//ini code motor belok kiri.
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(1000);
//ini code motor berhenti
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, HIGH);
delay(1000);
}
jika sudah di upload, hubungkan catu daya, pastikan arah putaran motor sudah benar.
Selanjutnya uji coba dengan bluetooth dengan upload program berikut (jika proses upload gagal lepas pin bluetooth yang tersambungkan ke rx dan tx arduino) Ujicoba robot dengan bluetooth :
//===================================================
//MikroProject
//Mengontrol Arah Dan Kecepatan 2 Motor dengan Bluetooth
//L293D
//Motor A
int PWMA = 3 ;
const int motorPin1 = 5; // Pin 2 di L293
const int motorPin2 = 11; // Pin 7 di L293
//Motor B
int PWMB = 2 ;
const int motorPin3 = 4; // Pin 15 di of L293
const int motorPin4 = 12; // Pin 10 di of L293
char BluetoothData;
void setup() {
Serial.begin(9600);
//Set pins as outputs
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
pinMode(PWMA, OUTPUT);
pinMode (PWMB, OUTPUT);
//ini code motor berhenti
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
}
void loop() {
if (Serial.available()){
BluetoothData=Serial.read(); //Mendapatkan character selanjutnya dari bluetooth
if(BluetoothData==’C’){ // penekanan Tombol
//ini code motor belok kanan
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
}
if(BluetoothData==’B’){ // penekanan Tombol
//ini code motor belok kiri.
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
}
if(BluetoothData==’D’){ // penekanan Tombol
//ini code motor mundur
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
}
if(BluetoothData==’A’){ // penekanan Tombol
//ini code motor maju
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
}
if(BluetoothData==’S’){ // Tombol Dilepas
//ini code motor berhenti
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, HIGH);
}
}
delay(10);
}
Jika kalian ingin tidak melepas kabel bluetooth karena terhubung ke pin 0 dan 1 arduino sehingga mengganggu saat melakukan upload program, kalian dapat menggunakan software serial dengan meniru rangkaian dibawah ini
lalu upload programnya (tidak perlu lagi melepaskan pin RX dan TX bluetoothnya) :
//===================================================
//MikroProject
//Mengontrol Arah Dan Kecepatan 2 Motor dengan Bluetooth
//L293D
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
// pin 2 arduino sebagai RX ke TX HC-05, pin 3 arduino sebagai TX ke RX HC-05
//Motor A
int PWMA = 3 ;
const int motorPin1 = 5; // Pin 2 di L293
const int motorPin2 = 11; // Pin 7 di L293
//Motor B
int PWMB = 2 ;
const int motorPin3 = 4; // Pin 15 di of L293
const int motorPin4 = 12; // Pin 10 di of L293
char BluetoothData;
void setup() {
Serial.begin(9600);
//Set pins as outputs
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
pinMode(PWMA, OUTPUT);
pinMode (PWMB, OUTPUT);
//ini code motor berhenti
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
}
void loop() {
if (Serial.available()){
BluetoothData=Serial.read(); //Mendapatkan character selanjutnya dari bluetooth
if(BluetoothData==’C’){ // penekanan Tombol
//ini code motor belok kanan
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
}
if(BluetoothData==’B’){ // penekanan Tombol
//ini code motor belok kiri.
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
}
if(BluetoothData==’D’){ // penekanan Tombol
//ini code motor mundur
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
}
if(BluetoothData==’A’){ // penekanan Tombol
//ini code motor maju
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
}
if(BluetoothData==’S’){ // Tombol Dilepas
//ini code motor berhenti
//untuk mengatur kec motor
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
//untuk mengatur arah putaran motor
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, HIGH);
}
}
delay(10);
}
//==================================================
Dari program di atas kita menggunakan software serial, sehingga kita dapat menggunakan pin digital arduino sebagai pin komunikasi ke bluetooth HC-05 atau ke hardware lainya.
Tentunya kalian juga harus memperhatikan comand karakter yang dikirim ketika tombol pada .apk android ditekan, seperti pada aplikasi yang saya buat comand karakter yang saya kirim ketika tombol pada android ditekan seperti berikut :
Kalian juga tentunya dapat menggunakan aplikasi android lainnya, dengan mengubak comand karakter pada program arduino. seperti contoh jika maju pada program arduino diatas kita menggunakan comand karakter A kita dapat ganti dengan misalnya B dengan mengubah pada bagian berikut :
if(BluetoothData==’B’){ // Button Pressed
Ini adalah Video uji cobanya
Ok,, sekian untuk Cara Membuat Robot Bluetooth Arduino dengan Kontrol Android
Semoga berhasil….
Terimakasih sudah berbagi ilmunya,, semoga Tuhan membalas segala amal baiknya. Oh iya,, boleh gak saya minta source androidnya supaya saya bisa mempelajarinya lebih dalam lagi
Gan, mau nanya, ada format .aia dari mit app inventornya ada gak, kalau ada, kirim ke virgostar333@gmail.com
Micro Project : Mengontrol Robot Bluetooth Arduino Menggunakan Aplikasi Android App Inventor >>>>> Download Now
>>>>> Download Full
Micro Project : Mengontrol Robot Bluetooth Arduino Menggunakan Aplikasi Android App Inventor >>>>> Download LINK
>>>>> Download Now
Micro Project : Mengontrol Robot Bluetooth Arduino Menggunakan Aplikasi Android App Inventor >>>>> Download Full
>>>>> Download LINK aY