Di malam hari menjelang pagi ini, saya akan menjelaskan mengenai bagaimana cara mengakses accelero pada HP android yang digunakan untuk kendali arah gerak robot, jadi menggunakan HP Android yang memiliki fitur accelerometer, data yang diambil dengan memiringkan HP ke arah utara, selatan, timur dan barat, sehingga didapat nilai yang akan dikirimkan ke Arduino dengan perantara bluetooth, memang perantara yang digunakan adalah bluetooth sehingga jarak yang bisa dioptimalkan tidak-lah jauh, seperti halnya sensor accelero, pada tampilan di HP akan tampak nilai X, Y dan Z, namun yang dikirimkan ke Arduino bukanlah X, Y maupun Z tapi penjumlahan dari ketiga nilai X, Y dan Z sehingga akan dihasilkan nilai yang berbeda tiap gerakannya. Untuk lebih jelasnya berikut skema dan Programnya.
b. Arduino UNO
c. Bluetooth HC-05
d. Motor Driver L293
e. Program Arduino
int kiri = 4;
int kiri2 = 5;
int kanan = 3;
int kanan2 = 2;
int accelero;
void setup() {
Serial.begin(9600);
Serial.setTimeout(5);
}
void loop() {
if (Serial.available() > 0)
{
accelero = Serial.parseInt();
if (accelero >= 1 && accelero <= 3)
{
//maju
digitalWrite(kiri, HIGH);
digitalWrite(kiri2, LOW);
digitalWrite(kanan, HIGH);
digitalWrite(kanan2, LOW);
}
if (accelero >= 11 && accelero <= 12)
{
//mundur
digitalWrite(kiri, LOW);
digitalWrite(kiri2, HIGH);
digitalWrite(kanan, LOW);
digitalWrite(kanan2, HIGH);
}
if (accelero >= 13 && accelero <= 20)
{
//kiri
digitalWrite(kiri, HIGH);
digitalWrite(kiri2, LOW);
digitalWrite(kanan, LOW);
digitalWrite(kanan2, LOW);
}
if (accelero >= 4 && accelero <= 6)
{
//kanan
digitalWrite(kiri, LOW);
digitalWrite(kiri2, LOW);
digitalWrite(kanan, HIGH);
digitalWrite(kanan2, LOW);
}
if (accelero >= 7 && accelero <= 10)
{
//stop
digitalWrite(kiri, LOW);
digitalWrite(kiri2, LOW);
digitalWrite(kanan, LOW);
digitalWrite(kanan2, LOW);
}
}
}
f. Program Android
g. Cara Pasang
Bluetooth Arduino
Rx Tx
Tx Rx
Vcc 5v
Gnd Gnd
Motor Driver Arduino
Vss Vin
Vcc 5v
1A Pin 3
2A Pin 2
3A pin 5
4A pin 4
Langkah diatas adalah langkah yang digunakan untuk menghubungkan antara Arduino dan Hp Android, namun bagaimana jika Hp Android di hubungkan ke mikrokontroller menggunakan Bascom AVR ?, jawabnya sama saja, langkah dan alatnya sama saja, yang berbeda adalah programnya, berikut adalah program menggunakan Bascom AVR dan video hasilnya.
h. Program Bascom AVR
$regfile = "m16def.dat"
$crystal = 11059200
Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4
Config Lcdpin = Pin , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7
Config Lcd = 16 * 2
Dim Cek As String * 20
Dim Datas As String * 20
Dim Id As String * 20
Dim I As Integer
Dim X As Single
Cls
Cursor Off
Datas = ""
I = 0
Do
Cek = Inkey()
If Cek <> "" Then
Incr I
Datas = Datas + Cek
Id = Mid(datas , 4 , 7 )
X = Val(id)
End If
Loop Until I > 7
I = 0
Cls
Cursor Off
Locate 2 , 1
Lcd X
If X > 7 And X < 9 Then
Upperline
Lcd "Tengah"
End If
If X >= 3 And X <= 5 Then
Upperline
Lcd "ATAS"
End If
If X < 3 Then
Upperline
Lcd "KANAN"
End If
If X >= 10 And X < 13 Then
Upperline
Lcd "BAWAH"
End If
If X > 13 Then
Upperline
Lcd "KIRI"
End If
Wait 1
i. VIDEO HASILNYA