DT-ROBOT Line Follower
Trademarks & Copyright AT, IBM, and PC are trademarks of International Business Machines Corp. Pentium is a registered trademark of Intel Corporation. Windows is a registered trademark of Microsoft Corporation. CodeVisionAVR is copyright by Pavel Haiduc, HP InfoTech s.r.l.
Daftar Isi 1
Pendahuluan............................................................................................. 1.1 Spesifikasi DT-ROBOT LINE FOLLOWER............................................... 1.2 Sistem yang Dianjurkan............................................................................ 1.3 Pergerakan DT-ROBOT LINE FOLLOWER............................................ 1.4 Algoritma Line Following..........................................................................
3 3 3 4 4
2
Mengoperasikan DT-ROBOT LINE FOLLOWER......................................... 2.1 Program Default Tester............................................................................. 2.2 DT-ROBOT LINE FOLLOWER GUI........................................................... 2.2.1 COM Setting (A)......................................................................................... 2.2.2 Connection Status (B)................................................................................. 2.2.3 Test Connection (C).................................................................................... 2.2.4 Track Mode (D)........................................................................................... 2.2.5 Raw Data (E)............................................................................................... 2.2.6 Track Threshold (F)..................................................................................... 2.2.7 Digital Data (G)......................................................................................... 2.2.8 Sensor (H).................................................................................................... 2.2.9 Left Motor Action (I)................................................................................... 2.2.10 Left Motor Speed (J)................................................................................. 2.2.11 Right Motor Action (K)............................................................................... 2.2.12 Right Motor Speed (L)............................................................................... 2.2.13 Send Setting to DT-ROBOT (M).............................................................. 2.2.14 DT-ROBOT LINE FOLLOWER Model (N)...............................................
5 5 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9
3
Rutin Program Line Following.................................................................. 3.1 Inisialisasi LCD............................................................................................. 3.2 Kirim Byte ke LCD...................................................................................... 3.3 Tampilkan Kalimat ke LCD....................................................................... 3.4 Tampilkan Angka Desimal ke LCD.......................................................... 3.5 Tampilkan Angka Biner ke LCD............................................................... 3.6 Atur Posisi Kursor........................................................................................ 3.7 Baca ADC..................................................................................................... 3.8 Inisialisasi DT-ROBOT LINE FOLLOWER................................................ 3.9 Kendali Motor Kiri...................................................................................... 3.10 Kendali Motor Kanan................................................................................
9 10 10 10 10 11 11 11 11 11 12
4
Perangkat Keras DT-ROBOT LINE FOLLOWER.......................................... 4.1 Tata Letak Komponen DT-ROBOT LINE FOLLOWER.......................... 4.2 Fungsi Konektor dan Komponen..............................................................
12 12 13
5
Prosedur Pengujian..................................................................................
14
Lampiran A. B.
Skematik DT-ROBOT LINE FOLLOWER................................................. Penjelasan Bagian-bagian DT-ROBOT LINE FOLLOWER................
2
16 17
1.
PENDAHULUAN Sebuah line-following robot atau disebut juga line follower sangat sering dijumpai dan dibuat oleh para penghobi robot. Banyak sekali kompetisi robotik yang berupa lomba line following. Line atau jalur yang diikuti biasanya merupakan jalur gelap di atas permukaan terang atau sebaliknya. Robot mendeteksi garis dengan cara mengukur intensitas cahaya yang dipantulkan dari permukaan yang dilaluinya. Intensitas cahaya yang dipantulkan permukaan gelap lebih sedikit daripada yang dipantulkan oleh permukaan yang terang. DT-ROBOT LINE FOLLOWER merupakan robot berpenggerak roda yang sangat cocok sebagai sarana pembelajaran tentang robot line follower untuk tingkat pemula sampai pembelajaran pemrograman tingkat lanjut. Untuk tingkat pemula, DT-ROBOT LINE FOLLOWER telah dilengkapi dengan algoritma line following standar yang telah teruji pada berbagai model lintasan line following, mulai dari model lintasan yang sederhana sampai model lintasan yang sulit. Para pengguna tingkat pemula dapat bereksperimen dengan mengatur parameter-parameter yang tersedia melalui software GUI yang disediakan. Untuk tingkat menengah, disediakan contoh program untuk robot line follower yang telah diuji dengan DT-ROBOT LINE FOLLOWER. Para pengguna dapat mempelajari pemrograman robot line follower dengan bantuan kerangka program yang ada. Para pengguna dapat bereksperimen dengan algoritma line following, membuat atau menambahkan berbagai algoritmanya sendiri agar robot line follower-nya menjadi lebih cerdas. Untuk tingkat lanjut, seluruh rangkaian dan komponen elektronika dari DTROBOT LINE FOLLOWER akan dijabarkan secara lengkap sehingga para pecinta robot dan elektronika dapat berkreasi dan bereksperimen secara lebih bebas. Basis DT-ROBOT LINE FOLLOWER dapat dikembangkan untuk robot dengan fungsi, sensor, atau gerakan motorik yang berbeda. Tersedia juga komponen penunjang DT-ROBOT LINE FOLLOWER yang dijual terpisah antara lain dalam hal motor penggerak dan sensor.
1.1.
SPESIFIKASI DT-ROBOT LINE FOLLOWER Spesifikasi DT-ROBOT LINE FOLLOWER adalah sebagai berikut: • Sumber catu daya menggunakan 6 x batere AA (@1,2 – 1,5 VDC). • Berbasis ATmega168. • Menggunakan IC motor driver SN754410 dengan konfigurasi dual full HBridge dan kemampuan arus kontinu tiap driver 1 A. • Disertai dengan DT-ROBOT Mini Metal High Speed Motor Set sebagai penggerak dan DT-SENSE Line Tracking SFH 4 Sensor untuk deteksi jalur. • Dilengkapi dengan LCD karakter 8 x 2. • Tersedia 2 tactile switch sebagai input dan 1 tactile switch untuk reset. • Jalur komunikasi menggunakan antarmuka UART RS-232. • Pin Input/Output kompatibel dengan level tegangan TTL dan CMOS.
1.2.
SISTEM YANG DIANJURKAN Sistem yang dianjurkan untuk penggunaan DT-ROBOT LINE FOLLOWER adalah: Perangkat keras: • PC™ AT™ Pentium® IBM™ Compatible dengan port serial COM/USB. • DVD-ROM Drive dan Hard disk. 3
Perangkat lunak: • Sistem operasi Windows® XP. • CodeVisionAVR©. • File/Folder yang ada pada CD/DVD program: default.hex, default.eep, folder GUI, folder testing, folder CodeVisionAVR Evaluation, datasheet, Manual DT-ROBOT Line Follower, Manual DT-ROBOT Mini Metal High Speed Motor Set, dan Manual DT-SENSE Line Tracking SFH 4 Sensor. 1.3.
PERGERAKAN DT-ROBOT LINE FOLLOWER DT-ROBOT LINE FOLLOWER memiliki 2 buah roda yang masing-masing digerakkan oleh sebuah motor (Differential Drive). Oleh karena itu terdapat paling tidak terdapat 9 macam gerakan yang dapat dilakukan oleh robot seperti yang ditunjukkan pada tabel berikut ini. Gerakan
Keterangan
Lurus
Motor kiri dan motor kanan berputar maju dengan kecepatan yang sama
Belok Kiri
Motor kiri dan motor kanan berputar maju dengan kecepatan motor kanan lebih besar daripada kecepatan motor kiri
Belok Kanan
Motor kiri dan motor kanan berputar maju dengan kecepatan motor kiri lebih besar daripada kecepatan motor kanan
Tikung Kiri
Motor kiri berhenti dan motor kanan berputar maju dengan kecepatan tertentu
Tikung Kanan Motor kanan berhenti dan motor kiri berputar maju dengan kecepatan tertentu
1.4.
Putar Kiri
Motor kiri berputar mundur dan motor kanan berputar maju
Putar Kanan
Motor kiri berputar maju dan motor kanan berputar mundur
Mundur
Motor kiri dan motor kanan berputar mundur
Stop
Motor kiri dan motor kanan berhenti
ALGORITMA LINE FOLLOWING Bila sensor garis yang terpasang pada DT-ROBOT memiliki 4 buah sensor, maka semua gerakan robot juga ditentukan oleh hasil pembacaan keempat sensor tersebut. Misalkan bila sensor berada tepat di atas jalur maka hasil pembacaannya bernilai 1 dan bila sensor tidak mendeteksi jalur maka hasil pembacaannya bernilai 0. Contoh keputusan yang dapat diambil berdasarkan hasil pembacaan sensor dapat dilihat pada tabel berikut ini. Hasil Sensor
Contoh Keputusan Yang Dapat Diambil
0110
Jalur tepat di tengah. Robot bergerak lurus.
0010
Jalur agak menyimpang ke kanan. Robot belok kanan.
0011
Jalur menyimpang ke kanan. Robot tikung kanan.
0001
Jalur ada di ujung ke kanan. Robot putar kanan.
0111
Kemungkinan ada tikungan ke kanan. Robot putar kanan.
0100
Jalur agak menyimpang ke kiri. Robot belok kiri.
1100
Jalur menyimpang ke kiri. Robot tikung kiri. 4
1000
Jalur ada di ujung ke kiri. Robot putar kiri.
1110
Kemungkinan ada tikungan ke kiri. Robot putar kiri.
1111
Kemungkinan ada perempatan. Robot bergerak lurus.
0000
Robot keluar jalur. Jalankan algoritma untuk kembali ke jalur.
lain-lain
Robot tetap bergerak sesuai perintah sebelumnya.
Jika seluruh sensor tidak mendeteksi jalur sehingga hasil sensor adalah “0000”, maka robot harus menjalankan algoritma untuk kembali ke jalur. Terdapat berbagai algoritma yang dapat dilakukan untuk mencari jalur. Salah satu algoritma yang sederhana adalah dengan menyimpan hasil keputusan terakhir robot. Misalkan jika sebelumnya robot sedang berusaha menikung ke kiri sebelum kehilangan jalur, maka saat jalur menghilang robot dapat diperintahkan untuk berputar ke kiri untuk kembali ke jalur. Demikian juga jika sebelumnya robot berusaha menikung ke kanan, maka robot dapat diperintahkan untuk berputar ke kanan. Jika sebelumnya robot sedang bergerak maju lurus dan kemudian jalur menghilang, maka robot dapat diperintahkan untuk bergerak mundur. 2.
MENGOPERASIKAN DT-ROBOT LINE FOLLOWER
2.1.
PROGRAM DEFAULT TESTER DT-ROBOT LINE FOLLOWER telah dilengkapi dengan algoritma line following standar yang telah teruji pada berbagai model lintasan line following, mulai dari model lintasan yang sederhana sampai model lintasan yang sulit. Para pengguna tingkat pemula dapat bereksperimen dengan mengatur parameterparameter yang tersedia melalui software GUI yang disediakan. Algoritma tersebut sudah terprogram di robot. Di dalam DVD yang disertakan, algoritma default tersebut disimpan dengan nama file ”default.hex” untuk program dan ”default.eep” untuk parameter awal. LCD ISP Port
ON/OFF Switch
Terminal Baterai
RS-232
Tempat Baterai
Tombol Reset
Tombol TS1
5
Tombol TS2
Pada saat DT-ROBOT LINE FOLLOWER pertama kali dinyalakan, pada LCD akan tampil Menu Tracking yang ditandai dengan tulisan "READY" pada baris bawah dan kombinasi digital hasil pembacaan sensor pada baris atas.
XXXX READY! Jika Tombol TS1 ditekan, maka DT-ROBOT LINE FOLLOWER akan mulai melakukan line following dan pada LCD akan tampil tulisan seperti berikut ini.
TRACKING START! Untuk menghentikan line following, dapat dilakukan dengan menekan Tombol TS2 sehingga DT-ROBOT LINE FOLLOWER kembali ke Menu Tracking. Pada saat DT-ROBOT LINE FOLLOWER berada pada Menu Tracking, dan Tombol TS2 ditekan selama 2 detik, maka DT-ROBOT LINE FOLLOWER akan berpindah ke menu selanjutnya yaitu Menu Raw Data.
SSS SSS SSS SSS Pada posisi Menu Raw Data ini pada LCD akan tampil nilai hasil pembacaan sensor sehingga pengguna dapat melakukan pengaturan pada variabel resistor masing-masing sensor serta mencatat nilai sensor jika berada di atas jalur dan nilai sensor jika berada di atas permukaan selain jalur. Untuk berpindah dari Menu Raw Data ke menu selanjutnya dapat dilakukan dengan menekan Tombol TS2 selama 2 detik. Menu selanjutnya adalah Menu Threshold yang ditandai dengan tampilan LCD yang menyerupai gambar berikut ini.
XXXX Th = YYY Threshold atau Batas merupakan sebuah nilai yang digunakan untuk mengkategorikan apakah sensor berada di atas jalur atau tidak. Untuk mode Black Track yaitu jalur gelap di atas permukaan terang, jika nilai hasil pembacaan sensor lebih besar daripada nilai Batas maka akan dikategorikan sebagai jalur (data digital bernilai 1). Sedangkan untuk mode White Track yaitu jalur terang di atas permukaan gelap, jika nilai hasil pembacaan sensor lebih kecil atau sama dengan nilai Batas maka akan dikategorikan sebagai jalur (data digital bernilai 1). Untuk menaikkan nilai Batas dapat dilakukan dengan menekan Tombol TS1 sedangkan untuk menurunkan nilai Batas dapat dilakukan dengan menekan Tombol TS1 dan Tombol TS2 secara bersamaan.
6
Nilai Batas akan disimpan pada EEPROM DT-ROBOT LINE FOLLOWER jika pengguna berpindah ke menu selanjutnya dengan menekan Tombol TS2 selama 2 detik. Menu selanjutnya adalah Menu Track Mode yang ditandai dengan tampilan LCD yang menyerupai gambar berikut ini.
Black Track Pada posisi Menu Track Mode, pengguna dapat menentukan apakah jalur yang akan dilalui oleh DT-ROBOT LINE FOLLOWER termasuk kategori Black Track yaitu jalur gelap di atas permukaan terang atau White Track yaitu jalur terang di atas permukaan gelap. Untuk merubah track mode dapat dilakukan dengan menekan Tombol TS1. Track mode akan disimpan pada EEPROM DT-ROBOT LINE FOLLOWER jika pengguna berpindah ke menu selanjutnya dengan menekan Tombol TS2 selama 2 detik. 2.2.
DT-ROBOT LINE FOLLOWER GUI Untuk memudahkan bereksperimen dengan mengatur parameter-parameter algoritma line following yang disertakan, maka pada paket DT-ROBOT LINE FOLLOWER juga tersedia software GUI yaitu “DT-ROBOT-LINE-FOLLOWERGUI”. Untuk mengatur parameter-parameter telah tersimpan pada DT-ROBOT LINE FOLLOWER, hubungkan DT-ROBOT LINE FOLLOWER dengan PC melalui jalur komunikasi UART menggunakan kabel serial yang disertakan (parameter komunikasi UART dapat dilihat pada bagian COM Setting). Berikut tampilan dari GUI beserta penjelasan tentang bagian-bagiannya. A B
C
E
G F D
H N
K
I J
7
L M
2.2.1 COM Setting (A) Dengan tombol ini, pengguna dapat memilih Serial/COM port yang akan digunakan. Parameter lain komunikasi UART yang digunakan adalah sebagai berikut: • 115200 bps • 8 data bit • 1 stop bit • tanpa parity bit • tanpa flow control 2.2.2 Connection Status (B) Bagian ini menampilkan status koneksi antara PC dengan DT-ROBOT LINE FOLLOWER. Jika koneksi sukses maka akan tampil tulisan “Connected to DTROBOT” dengan warna hijau. Sebaliknya jika koneksi gagal, maka akan tampil tulisan “Not Connected to DT-ROBOT” dengan warna merah. Fungsi lain adalah pada saat melakukan update parameter. Jika update berhasil maka akan muncul tulisan “Parameter update success !” selama 1 detik. 2.2.3 Test Connection (C) Bagian ini berguna untuk menguji koneksi antara PC dengan DT-ROBOT LINE FOLLOWER. Hasil pengujian akan ditampilkan pada bagian Connection Status. Pada saat tombol ini ditekan, software GUI akan membaca dan menampilkan pengaturan track mode dan threshold yang tersimpan di DTROBOT LINE FOLLOWER. 2.2.4 Track Mode (D) Bagian ini berfungsi untuk mengatur track mode yang digunakan. Dua track mode yang dapat dipilih adalah Black Track yaitu jalur gelap di atas permukaan terang atau White Track yaitu jalur terang di atas permukaan gelap. 2.2.5 Raw Data (E) Saat DT-ROBOT LINE FOLLOWER terkoneksi dengan PC, bagian ini akan menampilkan nilai hasil pembacaan sensor. 2.2.6 Track Threshold (F) Bagian ini berfungsi untuk mengatur nilai Batas yang menentukan apakah nilai hasil pembacaan sensor tersebut dikategorikan sebagai jalur atau tidak. Untuk mode Black Track, jika nilai hasil pembacaan sensor lebih besar daripada nilai Batas maka akan dikategorikan sebagai jalur (data digital bernilai 1). Sedangkan untuk mode White Track, jika nilai hasil pembacaan sensor lebih kecil atau sama dengan nilai Batas maka akan dikategorikan sebagai jalur (data digital bernilai 1). 2.2.7 Digital Data (G) Saat DT-ROBOT LINE FOLLOWER terkoneksi dengan PC, bagian ini akan menampilkan hasil pembandingan Raw Data dengan Track Threshold. 2.2.8 Sensor (H) Bagian ini digunakan untuk memilih kombinasi nilai digital hasil pembacaan sensor. Bila DT-ROBOT LINE FOLLOWER terkoneksi dengan PC, pada saat salah satu kombinasi dipilih (dapat dipilih menggunakan mouse atau menekan tombol karakter "S" di keyboard), maka akan ditampilkan pengaturan aksi yang tersimpan di DT-ROBOT LINE FOLLOWER untuk kombinasi nilai digital 8
yang dipilih. Pengaturan aksi untuk kombinasi nilai digital yang dipilih akan tampil pada bagian Left/Right Motor Action beserta pengaturan kecepatan masing-masing motor. 2.2.9 Left Motor Action (I) Bagian ini berfungsi untuk mengatur aksi atau gerakan apa yang akan dilakukan oleh motor kiri untuk kombinasi nilai digital yang dipilih pada bagian Sensor. Pilihan gerakan yang ada adalah Forward (berputar maju), Stop (berhenti), atau Reverse (berputar mundur). 2.2.10 Left Motor Speed (J) Bagian ini berfungsi untuk mengatur kecepatan (nilai PWM) putaran motor yang dilakukan oleh motor kiri untuk kombinasi nilai digital yang dipilih pada bagian Sensor. Range nilai yang diperbolehkan adalah 0 sampai dengan 1023. Semakin besar nilai yang dipilih, motor kiri akan berputar semakin cepat. 2.2.11 Right Motor Action (K) Bagian ini berfungsi untuk mengatur aksi atau gerakan apa yang akan dilakukan oleh motor kanan untuk kombinasi nilai digital yang dipilih pada bagian Sensor. Pilihan gerakan yang ada adalah Forward (berputar maju), Stop (berhenti), atau Reverse (berputar mundur). 2.2.12 Right Motor Speed (L) Bagian ini berfungsi untuk mengatur kecepatan (nilai PWM) putaran motor yang dilakukan oleh motor kanan untuk kombinasi nilai digital yang dipilih pada bagian Sensor. Range nilai yang diperbolehkan adalah 0 sampai dengan 1023. Semakin besar nilai yang dipilih, motor kanan akan berputar semakin cepat. 2.2.13 Send Setting to DT-ROBOT (M) Bagian atau tombol ini berfungsi untuk mengirimkan setting parameter Mode Track, Track Thershold, Left/Right Motor Action, dan Speed dari PC ke DTROBOT LINE FOLLOWER. Parameter-parameter di atas akan dikirim ke DTROBOT LINE FOLLOWER jika software telah terkoneksi dengan DT-ROBOT LINE FOLLOWER dan tombol "Send Setting to DT-ROBOT" ini ditekan. Jika update parameter berhasil, maka akan muncul tulisan “Parameter update success !” selama 1 detik pada bagian Connection Status. 2.2.14 DT-ROBOT LINE FOLLOWER Model (N) Bagian ini berfungsi memberikan ilustrasi salah satu kemungkinan posisi DTROBOT LINE FOLLOWER terhadap jalur berdasarkan kombinasi nilai digital yang dipilih pada bagian Sensor. 3.
RUTIN PROGRAM LINE FOLLOWING Untuk tingkat menengah, disediakan contoh program untuk robot line follower yang telah diuji dengan DT-ROBOT LINE FOLLOWER. Para pengguna dapat mempelajari pemrograman robot line follower dengan bantuan kerangka program yang ada. Para pengguna dapat bereksperimen dengan algoritma line following, membuat atau menambahkan berbagai algoritmanya sendiri agar robot line follower-nya menjadi lebih cerdas.
9
Di dalam DVD yang disertakan, contoh program tersebut disimpan di dalam folder ”testing”. Contoh program dapat dibuka dengan menggunakan software CodeVisionAVR versi evaluasi. Contoh program tersebut memiliki 3 file utama yaitu : "testing.c" yang berisi program utama algoritma line following, "LCDRoutine.c" yang berisi fungsifungsi yang berhubungan dengan LCD, dan "OtherRoutine.c" yang berisi fungsi-fungsi lainnya seperti contohnya fungsi untuk mengatur arah dan kecepatan (nilai PWM) motor. Pada program contoh tersebut, terdapat beberapa prosedur dan fungsi yang dapat digunakan untuk membantu pengguna dalam pemrograman. Berikut ini adalah beberapa prosedur dan fungsi yang digunakan dalam "LCDRoutine.c" dan "OtherRoutine.c": 3.1
Inisialisasi LCD Syntax : void initlcd(void); Fungsi : Menginisialisasi LCD. Ket. : ➢ Panggil prosedur ini untuk melakukan proses inisialisasi LCD dan cukup dilakukan 1 kali di awal program. ➢ Prosedur ini digunakan oleh prosedur initMain. Contoh : initlcd();
3.2
Kirim Byte ke LCD Syntax : void putlcd(unsigned char moda, unsigned char comm); Fungsi : Mengirimkan 1 byte Command atau Data ke LCD. Ket. : ➢ Nilai moda yang valid adalah 0 jika yang dikirimkan adalah LCD command dan 1 jika yang dikirimkan adalah LCD data. ➢ Nilai comm merupakan nilai LCD command dan LCD data yang dikirimkan. ➢ Daftar LCD command dan data yang dapat dikirim dapat dilihat pada datasheet LCD. Contoh : putlcd(0,0x01); akan membersihkan layar LCD.
3.3
Tampilkan Kalimat ke LCD Syntax : void lcd_putsf(flash unsigned char *str); Fungsi : menampilkan string/kalimat di LCD pada posisi kursor sekarang. Ket. : ➢ *str berisi alamat awal kalimat pada memori flash. Contoh : lcd_putsf("START!"); akan menuliskan kalimat "START!" di LCD.
3.4
Tampilkan Angka Desimal ke LCD Syntax : void lcd_putInt(unsigned int value,unsigned char dispNum); Fungsi : menampilkan nilai yang dimasukan dalam bentuk bilangan desimal ke LCD pada posisi kursor sekarang. Ket. : ➢ Nilai value merupakan nilai yang ingin ditampilkan. ➢ Nilai dispNum berisi jumlah karakter yang ingin ditampilkan. ➢ Nilai dispNum yang valid adalah 1 sampai dengan 5. Contoh : lcd_putInt(1234,4); akan menuliskan 1234 di LCD. lcd_putInt(angka,3); akan menuliskan isi variabel angka di LCD sebanyak 3 karakter (ratusan, puluhan, satuan). 10
3.5
Tampilkan Angka Biner ke LCD Syntax : void lcd_putBin(unsigned char value,unsigned char dispNum); Fungsi : menampilkan nilai yang dimasukan dalam bentuk bilangan biner ke LCD pada posisi kursor sekarang. Ket. : ➢ Nilai value merupakan nilai yang ingin ditampilkan. ➢ Nilai dispNum berisi jumlah karakter yang ingin ditampilkan. ➢ Nilai dispNum yang valid adalah 1 sampai dengan 8. Contoh : lcd_putBin(12,4); akan menuliskan 1100 di LCD. lcd_putInt(angka,5); akan menuliskan isi variabel angka di LCD dalam bentuk biner sebanyak 5 karakter.
3.6
Atur Posisi Kursor Syntax : void locate(unsigned char lines, unsigned char cols); Fungsi : Mengatur posisi kursor agar berada pada posisi baris dan kolom tertentu. Ket. : ➢ Nilai lines merupakan posisi baris. Nilai yang valid adalah 1 sampai dengan 2 untuk LCD karakter 8x2. ➢ Nilai cols merupakan posisi kolom. Nilai yang valid adalah 1 sampai dengan 8 untuk LCD karakter 8x2. Contoh : locate(1,1); akan meletakkan kursor pada baris ke-1 dan kolom ke1 (pojok kiri atas).
3.7
Baca ADC Syntax : unsigned char read_adc(unsigned char adc_input); Fungsi : Membaca nilai tegangan pada sensor. Ket. : ➢ adc_input merupakan nomor kanal ADC. Nilai yang valid adalah 4 sampai dengan 7. Contoh : read_adc(4); akan membaca nilai tegangan sensor paling kiri. read_adc(5); akan membaca nilai tegangan sensor ke-2 dari kiri. read_adc(6); akan membaca nilai tegangan sensor ke-3 dari kiri. read_adc(7); akan membaca nilai tegangan sensor paling kanan.
3.8
Inisialisasi DT-ROBOT LINE FOLLOWER Syntax : void initMain(void); Fungsi : Menginisialisasi seluruh port I/O dan peripheral DT-ROBOT LINE FOLLOWER termasuk LCD. Ket. : ➢ Panggil prosedur ini untuk melakukan proses inisialisasi DT-ROBOT LINE FOLLOWER dan cukup dilakukan 1 kali di awal program. Contoh : initlMain();
3.9
Kendali Motor Kiri Syntax : void motorKiri(unsigned char arah,unsigned int speed); Fungsi : Mengatur arah putaran dan kecepatan motor kiri. Ket. : ➢ arah dapat berisi nilai 0 untuk maju, nilai 1 untuk mundur, atau nilai 2 untuk stop. ➢ speed merupakan kecepatan putaran motor (nilai PWM). Nilai yang valid adalah 0 sampai dengan 1023. Makin besar nilai speed maka makin cepat putaran motor. 11
Contoh : motorKiri(0,500); akan memerintahkan motor kiri agar berputar maju dengan nilai PWM 500. 3.10
Kendali Motor Kanan Syntax : void motorKanan(unsigned char arah,unsigned int speed); Fungsi : Mengatur arah putaran dan kecepatan motor kanan. Ket. : ➢ arah dapat berisi nilai 0 untuk maju, nilai 1 untuk mundur, atau nilai 2 untuk stop. ➢ speed merupakan kecepatan putaran motor (nilai PWM). Nilai yang valid adalah 0 sampai dengan 1023. Makin besar nilai speed maka makin cepat putaran motor. Contoh : motorKanan(2,0); akan memerintahkan motor kanan agar berhenti.
4.
PERANGKAT KERAS DT-ROBOT LINE FOLLOWER
4.1.
TATA LETAK KOMPONEN DT-ROBOT LINE FOLLOWER
12
4.2.
FUNGSI KONEKTOR DAN KOMPONEN Terminal biru J7 berfungsi sebagai konektor untuk catu daya. Pin
Nama
1
GND
2
Fungsi Titik referensi untuk catu daya input
7,2-9VDC Terhubung ke catu daya untuk input (7,2 – 9 Volt)
Konektor RJ11 UART RS232 (J3) berfungsi sebagai konektor untuk antarmuka UART RS-232. Pin
Nama
Fungsi
1
NC
2
SGND
Titik referensi
3
TX
Output serial FOLLOWER
4
RX
Input serial level RS-232 ke DT-ROBOT LINE FOLLOWER
Tidak terhubung kemana-mana level
13
RS-232
dari
DT-ROBOT
LINE
Header ISP HEADER (J1) berfungsi sebagai konektor untuk pemrograman ISP. Pin
Nama
1
MOSI
Terhubung ke pin MOSI mikrokontroler
2
VCC
Output tegangan 5 volt dari DT-ROBOT LINE FOLLOWER
3
NC
Tidak terhubung kemana-mana
5
Fungsi
ISP_RST Terhubung ke rangkain RESET mikrokontroler
7
SCK
Terhubung ke pin SCK mikrokontroler
9
MISO
Terhubung ke pin MISO mikrokontroler
4,6,8,10
GND
Titik referensi
Konektor SENSOR PORT (J4) berfungsi sebagai konektor ke modul sensor. Pin
Nama
Fungsi
1
SI3
Input terhubung pada ADC internal mikrokontroler kanal 7
2
SI2
Input terhubung pada ADC internal mikrokontroler kanal 6
3
SI1
Input terhubung pada ADC internal mikrokontroler kanal 5
4
SI0
Input terhubung pada ADC internal mikrokontroler kanal 4
5
SEN
Output untuk menyalakan atau mematikan LED pada modul sensor
6
NC
Tidak terhubung kemana-mana
7
VCC
Output tegangan 5 volt dari DT-ROBOT LINE FOLLOWER
8
PGND
Titik referensi
Konektor M1 (J5) berfungsi sebagai konektor ke motor kiri. Pin
Nama
Fungsi
1
M11
Output ke motor kiri kaki ke-1
2
M12
Output ke motor kiri kaki ke-2
Konektor M2 (J6) berfungsi sebagai konektor ke motor kanan. Pin
Nama
Fungsi
1
M21
Output ke motor kanan kaki ke-1
2
M22
Output ke motor kanan kaki ke-2
Saklar geser S4 berfungsi sebagai saklar ON/OFF dengan LED PWR IND (D13) sebagai indikatornya. VR LCD CONTRAST (R5) berfungsi untuk mengatur kontras LCD. VR AIN0 ADJ (R6) terhubung ke AIN0. VR ini dapat digunakan untuk Analog Comparator Multiplexed Input. Tactile switch RESET (S1) terhubung ke rangkaian reset. Tactile switch TS1 (S2) terhubung ke PortD.7, dapat difungsikan sebagai input. Tactile switch TS2 (S3) terhubung ke PortB.5, dapat difungsikan sebagai input. Koneksi LCD dan motor driver dapat dilihat pada lampiran skematik. 14
5.
PROSEDUR PENGUJIAN 1. Hubungkan catu daya ke terminal biru J7. 2. Nyalakan DT-ROBOT LINE FOLLOWER menggunakan saklar ON/OFF yang tersedia. 3. Pada LCD akan tampil Menu Tracking yang ditandai dengan tulisan "READY" pada baris bawah dan kombinasi digital hasil pembacaan sensor pada baris atas. 4. Tekan Tombol TS1 sehingga DT-ROBOT LINE FOLLOWER akan mulai melakukan line-following (motor kanan dan/atau kiri akan berputar). 5. Tekan Tombol TS2 untuk kembali ke Menu Tracking. 6. Tekan Tombol TS2 selama 2 detik. 7. DT-ROBOT LINE FOLLOWER akan masuk ke posisi Menu Raw Data dan pada LCD akan tampil nilai hasil pembacaan sensor. 8. Letakkan sensor di atas permukaan terang atau permukaan gelap. Nilai sensor akan berubah sesuai dengan tingkat kecerahan permukaan. 9. Hubungkan DT-ROBOT LINE FOLLOWER dan PC menggunakan kabel serial yang disediakan. 10. Jalankan software DT-ROBOT-LINE-FOLLOWER-GUI. 11. Atur konfigurasi Serial Port yang digunakan melalui tombol COM Setting. 12. Tekan tombol Test Connection. 13. Jika koneksi berhasil, maka akan tampil "Connected to DT-ROBOT" pada bagian Connection Status.
♦ Terima Kasih atas kepercayaan Anda menggunakan produk kami, bila ada kesulitan, pertanyaan atau saran mengenai produk ini silahkan menghubungi technical support kami :
[email protected] 15
LAMPIRAN A. Skematik DT-ROBOT LINE FOLLOWER
16
B. Penjelasan Bagian-bagian DT-ROBOT LINE FOLLOWER
Baut untuk tempat baterai, dilepas lebih dulu saat mengganti bracket (untuk memasang jenis motor berbeda).
Baut untuk bracket (di bawah tempat baterai), dilepas saat mengganti bracket (untuk memasang jenis motor berbeda).
Baut untuk clamp, digunakan saat memasang motor berjenis metal gear.
Baut untuk LCD, dilepas lebih dulu saat mengganti spacer (untuk memasang jenis motor berbeda).
Baut untuk castor (atas), dilepas saat mengganti spacer (untuk memasang jenis motor berbeda).
Baut untuk castor (bawah), dilepas saat mengganti spacer. Baut dan konektor putih untuk sensor (line tracking), dilepas saat mengganti sensor.
17