Translate

Membuat Alat Kendali dengan Accelerometer Hand Phone Android

Membuat Alat Kendali Robot dengan Accelerometer Hand Phone Android


            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.


a. Hand Phone Android




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









No comments:

Post a Comment