Pemrograman Mikrokontroler AT89C51

L2 = 0; R1 = 0; R2 = 0; P0_0 = 1; spd = 1; idelaydelay; } Keterangan dari perangkat lunak driver motor diatas adalah L untuk roda sebelah kiri R untuk roda sebelah kanan, sedangkan 0 adalah pemberian nilai pada motor yaitu negatif atau 0, 1 adalah pemberian nilai positif atau 1 dalam assembly 1 adalah set bit sedangkan 0 adalah clear, void disini adalah sub rrutin pemanggilan, spd adalah PWM atau kecepatan dari motor dan delay adalah penundaan.

4.2.1.4 Pemrograman

Sensor ultrasonik Pada implementasi sensor ultrasonik ini penulis mencoba menerapkan atau mengimplementasikan diagram alir pada gambar 3.12 dari perancangan perangkat lunak sensor ultrasonik dari bab yang telah dibahas sebelumnya. Bahasa yang digunakan C++ dengan menggunakan Keil C51 sebagai softwarenya. while1 { while jarak0 90 { spd = 90; if j 200 spd = 50; if jarak1 = 40 jarak2 55 kanan22000; else if jarak2 = 45 jarak1 50 kiri22000; maju1000; } while jarak 0 = 50 { if jarak2 90 { spd = 170; kanan8000; mati1000; } else if jarak1 90 { spd = 170; kiri8000; mati1000; } else { spd = 100; mundur1000; } } } } Berikut ini adalah penjelasan dari program diatas. Jika didepan robot tidak terdapat halangan maka robot berjalan maju, sambil memancarkan sensor ultrasonik yang ada di samping kanan dan kiri. Apabila di depan terdapat halangan maka langkah selanjutnya adalah pengecekan sensor ultrasonik kanan. Jika di sebelah kanan tidak ada halangan, maka robot akan berbelok ke kanan. Namun apabila di samping kanan robot juga terdapat halangan, maka robot akan melakukan pengecekan sensor ultrasonik kiri. Apabila di samping kiri robot tidak ada halangan, maka robot akan berbelok ke kiri. Namun apabila di samping kiri robot juga terdapat halangan, maka robot akan berjalan mundur sambil melakukan pengecekan sensor sebelah kanan atau kiri hingga menemukan ruang yang kosong untuk berbelok sesuai dengan diagram alir yang penulis buat. Keterangannya jika sensor aktif maka pin dari sensor akan diberikan nilai 1 jika tidak maka nilainya 0, nop adalah penunda waktu sebanyak 1us dalam assembly tetapi juga dapat digunakan pada program Keil C51 ini.

BAB V UJICOBA DAN ANALISA

Setelah implementasi dari perancangan dari perangkat keras maupun dari perangkat lunak usai maka selanjutnya adalah pengujian dari implentasi yang telah saya buat.

5.1. Ujicoba

Setelah robot selesai dibuat, langkah selanjutnya adalah melakukan ujicoba untuk mengetahui tingkat keberhasilan pembuatan robot.

5.1.1 Ujicoba Driver Motor

Untuk melakukan pengujian terhadap driver motor ini saya menyiapkan dua buah baterai dengan tegangan 12V yang disusun seri sehingga tegangan total mencapai 24V ini dikarenakan driver motor yang dibuat oleh saya maksimal 24Volt jika tegangan kurang dari 15Volt maka motor dc tidak akan bergerak karena supply tegangan yang kurang. Isi program dan tanam pada mikrokontroler hubungkan pada driver motor dan motor dc. Gambar 5.1 Pengujian driver motor 54