17
3. PERANCANGAN ROBOT PENDETEKSI GERAK Perancangan robot pendeteksi gerak ini terdiri dari dua bagian, yaitu perancangan pada perangkat keras dan perancangan pada perangkat lunak. 3.1. Perancangan perangkat keras. Perancangan perangkat keras ini terdiri dari beberapa bagian yang dapat dipisahkan menjadi beberapa blok. Untuk lebih jelasnya dapat dilihat pada gambar.
Gambar 3.1. Diagram blok perangkat keras
3.1.1. Sumber Tegangan. Sumber tegangan yang digunakan adalah arus DC 12 volt karena output yang digunakan adalah motor DC 12 volt. Selain itu digunakan juga sebagai sumber energi yang mengaktifkan rangkaian pada masing-masing blok.
18
3.1.2. Penurun Tegangan. Penurun tegangan berfungsi untuk menurunkan tegangan 12 volt menjadi 5 volt. Tegangan 5 volt yang dihasilkan pada blok ini berfungsi untuk mengaktifkan sensor PIR, pengendali utama dan pengendali motor yang masing masing membutuhkan tegangan 5 volt. 3.1.3. Detektor Gerakan Manusia. Detektor gerakan manusia yang digunakan pada robot ini adalah sensor PIR. Sesuai dengan namanya yaitu Passive Infrared Receiver, sensor ini tidak menghasilkan sinar inframerah seperti sensor inframerah kebanyakan, tetapi hanya menerima pancaran sinar inframerah pasif yang dihasilkan oleh manusia yang melakukan gerakan.
Gambar 3.2. Blok diagram sensor PIR [7]
Pancaran sinar inframerah pasif yang dipancarkam oleh tubuh manusia yang melakukan gerakan akan difokuskan oleh lensa Fresnel yang kemudian akan diterima oleh sensor Pyroelectric. Sensor Pyroelectric ini akan bereaksi dan menghasilkan arus dan tegangan yang sangat kecil. Arus dan tegangan ini
19
kemudian dikuatkan oleh amplifier yang kemudian akan dibandingkan oleh comparator sehingga menghasilkan output berupa tegangan 5 volt. 3.1.4. Pengendali Motor Pengendali motor disini berfungsi seperti saklar otomatis karena motor akan bergerak tergantung dari keluaran yang dihasilkan oleh pengendali motor. Yang digunakan sebagai pengendali motor adalah IC L293D.
Gambar 3.3. Diagram blok Pengendali motor
Dengan melihat diagram blok dari pengendali motor, dapat dijelaskan ketika enable mendapatkan tegangan (kondisi logika 1) menyebabkan saklar 1 dan 2 aktif. Pada saat input 1 mendapatkan tegangan (kondisi logika 1) dan input 2 tidak mendapatkan tegangan (kondisi logika 0) maka saklar 1 akan aktif dan saklar 2 tidak aktif sehingga output 1 bernilai logika 1 dan output 2 bernilai logika 0. Hal ini menyebabkan motor DC berputar secara searah jarum jam (counterwise). Begitupula sebaliknya. 3.1.5. Output Output pada robot ini adalah gerakan putar dari motor DC 12 Volt. Seperti pada subbab 3.1.4, ketika pengendali motor mendapatkan kondisi inputan, maka motor akan berputar sesuai dengan kondisi inputan yang diterima oleh pengendali
20
motor. Gerak dari motor ini adalah searah jarum jam (clockwise) dan berlawanan arah jarum jam (counter clockwise). 3.2. Perancangan Perangkat Lunak. Perancangan perangkat lunak terdiri dari 2 bagian, yaitu perancangan pada flowchart dan perancangan pada sistem program. 3.2.1. Perancangan Flowchart. Untuk memudahkan kita dalam membuat program robot sebagai pengendali robot, maka kita harus membuat flowchartnya terlebih dahulu. Flowchart yang digunakan untuk membuat program robot tidak memiliki akhir, sehingga program akan berjalan terus selama kita tidak memutus aliran sumber energi robot. Pada saat program pertama kali diaktifkan, maka program akan mengindikasikan bahwa setiap sensor berlogika 0 sehingga robot standby atau dalam kondisi diam. Kemudian program akan mulai mendeteksi apakah sensor depan berlogika 1 atau 0. Jika berlogika 1 maka robot akan bergerak maju kemudian program akan melakukan pendeteksian sensor kembali. Jika tidak maka program akan mendeteksi sensor kanan. Jika sensor kanan berlogika 1 maka robot akan berbelok ke kanan yang kemudian akan dilanjutkan pendeteksian ulang terhadap sensor. Jika berlogika nol, maka program akan melakukan pendeteksian pada sensor kiri. Jika sensor kiri berlogika 1 maka robot akan berbelok ke kiri yang kemudian akan dilanjutkan pendeteksian ulang pada sensor. Jika tidak maka robot akan dalam kondisi standby atau diam dan kemudian akan melakukan pendeteksian ulang pada sensor. Untuk lebih jelasnya flowchart dapat diliha pada gambar 3.4.
21
Gambar 3.4. Flowchart Program
3.2.2. Perancangan Sistem Program. Sistem program ini berfungsi sebagai pedoman robot untuk melakukan keputusan dari hasil pendeteksian sensor. Program yang digunakan adalah bahasa asembler dengan perangkat lunak Reads51. Bahasa asembler merupakan bahasa penerjemah dari bahasa mesin, sehingga lebih mudah digunakan karena perintahnya menggunakan bahasa manusia. Reads51 merupakan program yang akan mengubah bahasa asembler menjadi bahasa mesin. Sistem program untuk membuat robot ini terdiri dari beberapa blok, yaitu : a. blok Inisialisasi Inisialisasi adalah proses pemberian nilai awal terhadap suatu register, port, atau alamat memori serta pengambilan file pada library program Reads51 yang berguna untuk referensi alamat memory untuk port, register, akumulator, dan lainnya.
22
b. blok pendeteksian input Program robot pendeteksi gerak akan selalu mengecek keadaan masukan dari mikrokontroler secara terus menerus. Jika program berhasil mendeteksi dari masukan maka program akan melanjutkan ke blok program berikutnya. c. blok pengendali Blok pengendali akan mengendalikan output dari program berdasarkan inputan. Jika input sudah sesuai dengan keinginan program, maka program tersebut akan mengeksekusi inputan, sehingga menghasilkan output. d. blok delay Delay ini adalah proses pemberian waktu jeda terhadap nilai suatu port dengan cara melakukan looping-looping pendek dan pengurangan register sampai nilainya menjadi nol. Pada program robot ini, blok delay digunakan untuk mengatur putaran motor DC sehingga putaran motor berjalan agak lambat.