ROBOT BERODA KENDALI BLUETOOTH HC 05 MODUL DRIVER L293D
A. BAHAN YANG DIPERLUKAN
No |
BAHAN |
Perkiraan
Harga (Rp) |
1 |
Kit Smart Chasis 4WD Robot Car |
|
2 |
Arduino Uno |
|
3 |
L293D MotorShield |
|
4 |
Modul Bluetooth HC-05 |
|
5 |
Holder Battery 18650 2 slot |
|
6 |
Baterai Lithium 18650 3,7 Volt |
|
7 |
Kabel Jumper |
|
8 |
Saklar |
|
Jumlah Rp. |
|
B. YANG PERLU
DIKETAHUI
Berikut adalah Motor Control Shield yang
ditancapkan langsung ke Arduino Uno atau disebut juga motorshield, menggunakan
IC L293D untuk mengontrol DC motor baik putarannya maupun kecepatannya.
Modul berikut harus memasang Library Adafruit Motor (AF_Motor)
untuk bekerja.
Gambar 2.7 Motor Control Shield L293D for Arduino Uno
1. Masing-masing pengkabelan DC motor menuju motorshield melihat aturan berikut:
M1 untuk roda
kiri depan
M2 untuk roda
kiri belakang
M4 untuk roda
kanan depan
M3 untuk roda
kanan belakang
Setelah
terpasang, dicoba terlebih dahulu uji jalan lurus.
2.
Untuk pemasangan EXT_PWR
+M dipasang
di +7,4 Volt
GND dipasang
di -7,4 Volt
3.
Untuk Bluetooth HC-05 menuju Motorshield
RXD menuju
pin 1
TXD menuju
pin 0
GND menuju
pin GND
VCC menuju
pin 5V
C.
DIAGRAM DASAR ROBOT 4 MOTOR DC (L293D)
|
D. SKETCH UJI
LURUS ROBOT DENGAN MODUL L293D PADA ARDUINO UNO
Sebelum
ke tahap selanjutnya pastikan sudah terdapat Library Adafruit Motor shield untuk mempastikan perangkat modul
L293D berfungsi sempurna, jika belum maka install dahulu library tersebut.
1.
SKETCH UJI LURUS ROBOT (L293D)
// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!
#include <AFMotor.h>
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
void setup() {
Serial.begin(9600);
// set up Serial
library at 9600 bps
// turn on motor
motor1.setSpeed(255); // kecepatan dapat
diubah dari o sampai 255
motor2.setSpeed(255);
motor3.setSpeed(255);
motor4.setSpeed(255);
motor1.run(RELEASE);// semua motor
berhenti
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
void loop() {
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
delay(5000); //MAJU SELAMA 5 DETIK
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(2000); //BERHENTI SELAMA 5 DETIK
}
2. SKETCH UJI LURUS MUNDUR DAN BELOK
ROBOT (L293D)
//firdaus robotika madina
#include <AFMotor.h>
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
void setup() {
Serial.begin(9600);
// set up Serial library at 9600 bps
// turn on motor
motor1.setSpeed(50); // kecepatan dapat
diubah dari o sampai 255
motor2.setSpeed(50);
motor3.setSpeed(50);
motor4.setSpeed(50);
motor1.run(RELEASE);// semua motor
berhenti
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
void loop() {
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
delay(3000);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(1000);
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
delay(3000);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(1000);
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
delay(2000);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(1000);
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
delay(2000);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(1000);
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
delay(2000);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(1000);
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
delay(2000);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(1000);
}
E. SETTING
BLUETOOTH HC-05
1.
Memberikan Nama Bluetooth dan Password dengan
AT COMMAND
Penjelasan akan diuraikan di lampiran 2
2.
Mendownload Aplikasi di HP Android
a.
Buka Google Play Store
b.
Ketik pada tab search “Arduino BT(HC-05)” lalu
Install
c.
Password robot “1234”
F. SKETCH ROBOT
BERPENGENDALI BLUETOOTH HC-05
|
//CODER
M.FIRDAUS,S.PD
//RXD>1
//TXD>0
//GND>GND
//VCC>5V
#include
<AFMotor.h>
#include
<SoftwareSerial.h>
char
val;
AF_DCMotor
motor1(1, MOTOR12_64KHZ); //Jadikan motor 1, 64KHz
AF_DCMotor
motor2(2, MOTOR12_64KHZ); //Jadikan motor 2, 64KHz
AF_DCMotor
motor3(3, MOTOR12_64KHZ); //Jadikan motor 3, 64KHz
AF_DCMotor
motor4(4, MOTOR12_64KHZ); //Jadikan motor 4, 64KHz
void
setup() {
motor1.setSpeed(240); //Set kecepatan
motor 240 (Range 0-255)
motor2.setSpeed(240); //Set kecepatan
motor 240 (Range 0-255)
motor3.setSpeed(240); //Set kecepatan
motor 240 (Range 0-255)
motor4.setSpeed(240); //Set kecepatan
motor 240 (Range 0-255)
Serial.begin(9600); //Kecepatan
komunikasi serial
}
void
loop() {
if( Serial.available() >0 )
{
//Variable val untuk
menyimpan sementara hasil dari bluetooth
val = Serial.read();
Serial.println(val);
}
if( val == 'F' ) {
//Motor Maju
motor1.run(FORWARD); //Motor
kiri maju
motor2.run(FORWARD); //Motor
kanan maju
motor3.run(FORWARD); //Motor
kiri maju
motor4.run(FORWARD); //Motor
kanan maju
}
if( val == 'B') { //Motor
Mundur
motor1.run(BACKWARD);
//Motor kiri mundur
motor2.run(BACKWARD);
//Motor kanan mundur
motor3.run(BACKWARD);
//Motor kiri mundur
motor4.run(BACKWARD);
//Motor kanan mundur
}
if( val == 'R' ) {
//Motor Berbelok kanan
motor1.run(FORWARD);
//Motor kiri maju
motor2.run(FORWARD);
motor3.run(BACKWARD);
//Motor kanan mundur
motor4.run(BACKWARD);
}
if( val == 'L' ) {
//Motor Berbelok kiri
motor1.run(BACKWARD);
//Motor kiri mundur
motor2.run(BACKWARD);
motor3.run(FORWARD);
//Motor kanan maju
motor4.run(FORWARD);
}
if( val == 'S' ) {
//Motor Berhenti
motor1.run(RELEASE);
//Motor kiri berhenti
motor2.run(RELEASE);
//Motor kanan berhenti
motor3.run(RELEASE);
motor4.run(RELEASE);
}
delay(100);
if( val == '1' ) {
//Motor Serong Kiri depan
motor1.run(RELEASE);
//Motor kiri berhenti
motor2.run(RELEASE);
motor3.run(FORWARD);
//Motor kanan maju
motor4.run(FORWARD);
}
if( val == '2' ) {
//Motor Serong Kanan depan
motor1.run(FORWARD);
//Motor kiri maju
motor2.run(FORWARD);
motor3.run(RELEASE);
//Motor kanan berhenti
motor4.run(RELEASE);
}
if( val == '3' ) {
//Motor Serong Kiri belakang
motor1.run(BACKWARD);
//Motor kiri mundur
motor2.run(BACKWARD);
motor3.run(RELEASE);
//Motor kanan berhenti
motor4.run(RELEASE);
}
if( val == '4' ) {
//Motor Serong Kanan belakang
motor1.run(RELEASE);
//Motor kiri berhenti
motor2.run(RELEASE);
motor3.run(BACKWARD);
//Motor kanan mundur
motor4.run(BACKWARD);
}