You are on page 1of 11

DT-AVR

Application Note

DT-AVR

AN206 Pan Tilt Color Tracking menggunakan HaViMo 2.0 dan DT-AVR o! Co"t Micro #$"tem
Oleh: Tim IE

Modul kamera pengolah citra belakangan ini semakin populer digunakan pada aplikasi robotika. Modul kamera
tersebut biasa digunakan pada robot sepakbola humanoid, robot penjejak warna, kontes robot cerdas, dan aplikasi lain yang memerlukan pengolahan citra warna. Salah satu modul kamera yang cukup terkenal yaitu HaViMo 2.0 (Hamid Vision Module versi 2.0 dari Ha!iSys. Ha!iMo 2.0 merupakan modul kamera CMOS yang terintegrasi dengan chip processor untuk melakukan image processing berbasis warna seperti Region Growing dan Griding secara langsung sehingga pengguna bisa mendapatkan hasil pengolahan citra yang siap digunakan. Ha!iMo 2.0 memiliki "ormat protokol yang sama dengan protokol dynami#el. $ada aplikasi ini telah dibuat suatu perangkat pan tilt kamera yang mampu mendeteksi dan mengikuti pergerakan bola dengan warna merah. $roses kalibrasi dan pemilihan warna yang akan dideteksi dilakukan terlebih dahulu melalui komputer dengan so"tware Ha!iMo%&'. Sebagai aktuator pan tilit digunakan dua servo Dynamixel AX12+ dan sebagai kontroler utama digunakan DT-AVR Low Cost Micro ystem. Sama dengan ()20*, pada aplikasi ini digunakan protokol komunikasi standard dynami#el dan '+ !"L 2"1 sebagai jembatan antarmuka half duplex TTL dengan U RT mikrokontroler. ,erikut adalah perlengkapan yang diperlukan dalam aplikasi ini .# /01(!2 3ow +ost Micro System (dengan +rystal 4MH5 .# 6MS 3+/ /isplay 2# (71.28 servo .# '+ S)9:3S2:. dan .# 2esistor .0; <hm. ,ioloid =rame .# =$0:1=2 *# =$0:1=* .# =$0:1=> $ower Supply 8.2!/+ dengan kemampuan arus hingga *(. &S,2/ynami#el (untuk kalibrasi Ha!iMo ,ola plastik atau target lainya yang cukup besar dan berwarna merah. ,eberapa kabel jumper dan 2# kabel servo konektor * pin /ynami#el. Mur dan baut secukupnya.

Adapun blok diagram dari ()20? adalah sebagai berikut.


HaViM o 2.0

(!"L 2"1 2 x Dynam ixe l AX-12+ DT-AVR Low Cos t M icro ys tem

*M

LCD Dis+lay

#am$ar 1 %lo& Dia'ram A(20)

Page 1 of 11

Application Note AN206

Hubungan antar modul adalah sebagai berikut DT-AVR Low Cost Micro ystem %)/ (@.* pin . !++ (@.* pin 2 $<20/.0A27/ (@.* $in * BB $<20/..A07/ (@.* $in : BB $<20/.9A/irection +ontrol (@.* $in .0 B (!"L 2"1 %)/ ($in .0 !++ ($in 20 .C: ($in .2 BBB 2(. ($in .. BBB .% ($in . BB 2% ($in .> BB

B $in tidak mutlak, dapat diganti dengan pin lain dengan penyesuaian program BB $in ini mutlak, tidak dapat diganti dengan pin yang lain. BBB $in tidak mutlak, dapat diganti dengan pin lain yang sesuai "ungsinya. Ta$el 1 H,$,n'an DT-AVR LCM -en'an (!"L 2"1

(!"L 2"1 %)/ ($in .0 .(: ($in 4 BBB 2C. ($in > BBB

AX-12+ %)/ /(0( (dengan pull up eksternal 2esistor .0; <hm

HaViMo 2.0 %)/ /(0( (menggunakan jalur data yang sama dengan (71.28

BBB $in tidak mutlak, dapat diganti dengan pin lain yang sesuai "ungsinya. Ta$el 2 H,$,n'an (!"L 2"1 -en'an AX-12+

DT-AVR Low Cost Micro ystem %)/ (@.0 pin . !++ (@.0 pin 2 $<20(.0 (@.0 $in * B $<20(.. (@.0 $in : B $<20(.2 (@.0 $in D B $<20(.* (@.0 $in ? B $<20(.: (@.0 $in 9 B $<20(.D (@.0 $in 4 B $<20(.? (@.0 $in > B $<20(.9 (@.0 $in .0 B

*M LCD Dis+lay %)/ (@* pin . 8D! (@* pin 2 2S (@* pin * 2AE (@* pin : 6 (@* pin D ,3 (@* pin ? /,: (@* pin 9 /,D (@* pin 4 /,? (@* pin > /,9 (@* pin .0

B $in tidak mutlak, dapat diganti dengan pin lain dengan penyesuaian program Ta$el . H,$,n'an DT-AVR LCM -en'an *M LCD Dis+lay

Page 2 of 11

Application Note AN206

kema koneksi S)9:3S2:. dengan modul1modul yang lain adalah sebagai berikut -

#am$ar 2 &ema &one&si (!"L 2"1 -en'an AX-12+ -an DT-AVR LCM

/lustrasi koneksi antar modul pada ()20? ini adalah sebagai berikut -

#am$ar . /l,strasi A(20.

%entuk kon"igurasi pan tilit menggunakan (71.28 dan ,ioloid "rame adalah sebagai berikut -

#am$ar " 0oni1i',rasi pan tilit ser2o

Page 3 of 11

Application Note AN206

Modul F modul diatas perlu dikon"igurasi terlebih dahulu agar dapat bekerja sesuai dengan yang diharapkan.
,erikut ini adalah langkah F langkah kon"igurasi yang perlu dilakukan /01(!2 3ow +ost Micro System Mikrokontroler (0mega4D*D pada /01(!2 3ow +ost Micro System menggunakan osilator eksternal berupa crystal dengan nilai "rekuensi : Mh5. &ntuk mendukung baudrate komunikas .Mbps maka diperlukan penggantian Cr!stal Oscillator dengan "rekuensi 4MH5 atau .?MH5, pada () ini digunakan 70(3 4MH5. Silahkan melakukan pengaturan fuse"it pada (0mega4D*D dahulu agar dapat bekerja dengan kristal eksternal 4MH5. 'n"ormasi lebih detil mengenai pengaturan "usebit terdapat pada ().99. ;omunikasi antara (0mega4D*D dengan (71.28 dan Ha!iMo 2.0 dilakukan menggunakan komunikasi serial &(20 003. Maka dari itu perlu dilakukan pengaturan jumper @: dan @D pada posisi 21*.

#am$ar 3 4en'at,ran 5,m+er 5" -an 53 +a-a DT-AVR Low Cost Micro ystem

Ha!iMo 2.0 &ntuk bisa mengenali warna1warna tertentu, maka modul Ha!iMo 2.0 perlu terlebih dahulu dikalibrasi dan diprogram melalui so"tware komputer Ha!iMo%&'. 3angkah1langkah pemilihan warna yang akan dideteksi adalah sebagai berikut .. Hubungkan Modul Ha!iMo dengan &S,2/ynami#el, pastikan switch selektor pada &S,2/ynami#el telah berada pada posisi TTL. 2. ,erikan catu daya pada Modul Ha!iMo 2.0. *. 0ancapkan &S,2/ynami#el pada port &S, komputer (diasumsikan driver telah terinstal . :. ,uka program Ha!iMo%&'. D. $ada Connection T!pe, pilih &S,2/ynami#el (. . ?. $ada Connection #ort, pilih port +<M serial dari &S,2/ynami#el. 9. ;lik Connect, apabila berhasil maka pada sudut kiri bawah dari Ha!iMo%&' akan ada keterangan status G$ort <penH 4. ;emudian klik Chec$ Camera, apabila berhasil maka akan ada keterangan status GHa!iMo =oundH

728 718

7"8

7.8

#am$ar ) Tam+ilan HaViMo#6/

Page 4 of 11

Application Note AN206

>.

$ersiapkan kondisi targetAbola warna merah, kondisi pencahayaan lingkungan, serta latar belakang target, hal ini penting karena proses kalibrasi warna untuk trac$ing akan dilakukan. .0. (rahkan modul kamera Ha!iMo kepada terget pada jarak yang diinginkan. ... ;ik Sample %mage, maka akan didapatkan gambar Original %mage &'( serta %ra"ik Earna */ pada halaman Color Loo$ Up Ta"le &)(. .2. 3angkah selanjutnya yang perlu dilakukan adalah menyesuaikan parameter pada tab Camera Settings (: * $ada 0ab Camera Settings dapat dilakukan pengaturan standard hasil capture dari Ha!iMo 2.0 sebelum dilakukan %mage #rocessing* Hal1hal yang perlu diperhatikan pada tahap ini antara lain, kerataan pencahayaan, keseimbangan warna, dan tingkat kontras. 0ahapan ini termasuk bagian sangat penting, karena dengan kualitas gambar yang baik dan merata akan mempermudah proses selanjutnya yaitu pemilihan warna yang akan dideteksi. 7)8 738

#am$ar ! Tam+ilan Camera Settings HaViMo#6/ .*. $ada "ox Original %mage (2 ;lik Stream agar gambar ditampilkan secara update terus menerus. .:. ;lik uto Update Settings untuk mulai mengatur berbagai macam setting1nya (D . Setelah selesai ;lik kembali uto Update Settings untuk menghentikan "ungsi pengaturan secara langsung tersebut dan ;lik Stream (2 sekali lagi untuk menghentikan proses streaming image. .D. 3angkah selanjutnya yaitu pemilihan warna yang akan dideteksi. ;embalikan tampilan pada 0ab +olor 3ook &p 0able (? . ;lik Sample %mage (2 untuk mendapatkan hasil terbaru dari gambar setelah proses Camera Settings* .?. ;lik +rase LUT dan +rase Color untuk menghapus setting sebelumnya (jika ada pada Ha!iMo 2.0. .9. ;lik pada radio "utton Color , (9 , maka saat ini kita telah siap memilih warna mana yang akan dideteksi oleh Ha!iMo.

#am$ar 9 Tam+ilan #ra1i& :arna .D HaViMo#6/ .4. ;lik pada warna1warna pada %ra"ik Earna */ yang mirip dengan warna bola pada tampilan Original %mage. Secara otomatis tampilan +itra pada LUT O-erlap (4 akan menunjukkan warna mana yang kita pilih, dengan tanda warna hijau cerah. Semakin banyak warna hijau cerah yang terlihat pada badan bola, maka itu berarti semakin banyak warna merah bola telah masuk dalam Loo$ Up Ta"le. .>. %ra"ik Earna */ (* dapat diputar1putar untuk melihat dan memilih warna1warna yang sesuai agar nilai LUT semakin baik.

Page 5 of 11

Application Note AN206

20. @ika dirasa sudah cukup baik, maka 3&0 yang sudah tersusun dapat disimpan dengan cara ;lik Sa-e LUT to file (.0 * 2.. 3angkah selanjutnya adalah menuliskan LUT yang telah disusun ke Ha!iMo 2.0, hal ini dapat dilakukan dengan cara langsung dengan ;lik .lash LUT (.0 apabila LUT yang dimaksud telahAsedang dibuka. (pabila LUT yang diinginkan masih tersimpan, maka dapat dibuka terlebih dahulu dengan Load LUT .rom .ile (.0 * 22. Setelah proses .lash LUT selesai, klik Sample %mage sekali lagi, ;lik Read LUT, kemudian klik Region Growing. (pabila nilai LUT untuk deteksi bola merah sudah baik, maka posisi bola akan bisa dideteksi dengan tanda bingkai persegi empat berwarna hijau muda (> .

798

7=8

7108

7!8

#am$ar 9 Tam+ilan HaViMo#6/ s,&ses men-ete&si object.

etelah menghubungkan modul1modul tersebut menggunakan kabel jumper, lakukan pengecekan kembali menggunakan multimeter untuk memastikan koneksi antar modul telah terhubung dengan baik. $astikan juga bahwa tidak terjadi hubungan singkat antara !++ dan %)/ sebelum memberikan catu daya. (pabila kon"igurasi di atas telah selesai, lakukan langkah F langkah berikut ini 1. ,erikan catu daya 8>! /+ s.d. 8.2! /+ pada terminal biru @2 /01(!2 3+MS (+er;ati&an +olaritas cat, -aya< 5i&a +olaritas ter$ali& -a+at menye$a$&an &er,sa&an mo-,l . 2. Hubungkan programmer mikrokontroler (!2 yang mendukung "itur 'S$ dengan /01(!2 3ow +ost Micro System, seperti /01HiI (!2 'n System $rogrammer, /01HiI (!2 &S, 'S$, atau programmer lainnya. 3. /ownload "ile dengan ekstensi .he# (0racking+olor.he# yang berada di dalam "older (()20?J0racking+olorJ2elease ke /01(!2 3ow +ost Micro System. 4. /ikarenakan 2 buah /ynami#el (71.28 dan Ha!iMo 2.0 telah terhubung dalam satu set mekanik pan tilt maka catu daya cukup diberikan pada salah satu konektor * pin dari ketiga modul tersebut. 5. ,erikan input catu daya untuk servo (71.28 melalui konektor * pin yang ada pada "od! servo. +atu daya disarankan memiliki spesi"ikasi tegangan yang stabil dan kemampuan suppl! arus yang cukup. 0egangan <perasional (71.28 adalah rentang >! s.d. .2!. ?. $ada aplikasi ini digunakan Switching $ower Supply /!6 dengan output .2! dan kemampuan arus hingga D(, konektor @ack /+ terhubung dengan SM$S2/ynami#el. 9. ;onsumsi (rus . buah (71.28 saat standby sekitar D0m( dan saat beroperasi mengkonsumsi arus maksimal hingga >00m(.

Page 6 of 11

Application Note AN206

4rotokol komunikasi /ynami#el


$rotokol komunikasi pada /ynami#el (#1.28 terbagi menjadi dua jenis yaitu data yang dikirimkan dari kontroler ke servo &%nstruction #ac$et( dan data respon yang dikirim balik oleh servo kepada kontroler &Status pac$et(. ;eterangan lengkap mengenai paket %nstruction, Status, dan #arameter dapat dilihat pada manual dari produk (71 .28. ;edua paket data tersebut memiliki "ormat sebagai berikut.
/nstr,ction 4ac&et Merupakan paket yang dikirimkan oleh kontroler utama kepada servo untuk mengirimkan perintah1perintah. Struktur dari %nstruction pac$et adalah sebagai berikut-

;eterangan 0x>> 0x>> /D

L*(#TH /( TR6CT/@( 4ARAM*T*R0...( CH*C0 6M

? Merupakan indikator awal dari sebuah paket. ? Merupakan nomor '/A'dentitas uniKue dari servo dynami#el. 0erdapat 2D: nilai '/ yang tersedia mulai dari 0#00 sampai dengan 0#=/. (da nomor '/ khusus yang disebut broadcasting '/ yaitu nomor 0#=6. $aket yang dikirmkan dengan '/ ,roadcasting akan diterima dan dilaksanakan oleh semua servo yang terhubung. $aket yang terkirim dengan ,roadcasting '/ tidak akan menghasilkan 2espon Status $acket. ? Merupakan panjang dari paket dimana nilainya adalah G@umlah parameter() 8 2H. ? 'nstruksi untuk aktuator /ynami#el yang akan dilakukan. ? /igunakan jika ada in"ormasi tambahan yang butuh untuk dikirmkan selain dari 'nstruksi itu sendiri. ? Merupakan data yang dihitung sebagai error checking. Metode penghitungan check sum adalah sebagai berikut +heck Sum L M('/ 83ength 8'nstruction 8 $arameter.8... $arameter ) @ika nilai yang terhitung lebih besar dari 2DD, maka byte terbawahlah yang ditentukan sebagai nilai check sum. M mewakili operasi logic )<0.

tat,s 4ac&etARet,rn 4ac&et Merupakan paket respon dari servo kepada kontroler utama setelah menerima sebuah %nstruction #ac$et. Struktur dari Status #ac$et adalah sebagai berikut.

;eterangan 0x>> 0x>> /D

L*(#TH *RR@R /( TR6CT/@( 4ARAM*T*R0...( CH*C0 6M

? Merupakan indikator awal dari sebuah paket. ? Merupakan nomor '/A'dentitas uniKue dari servo dynami#el. 0erdapat 2D: nilai '/ yang tersedia mulai dari 0#00 sampai dengan 0#=/. (da nomor '/ khusus yang disebut broadcasting '/ yaitu nomor 0#=6. $aket yang dikirmkan dengan '/ ,roadcasting akan diterima dan dilaksanakan oleh semua servo yang terhubung. $aket yang terkirim dengan ,roadcasting '/ tidak akan menghasilkan 2espon Status $acket. ? Merupakan panjang dari paket dimana nilainya adalah G@umlah parameter() 8 2H. ? Merupakan 0!te yang yang merepresentasikan error yang dikirimkan oleh Servo. ? 'nstruksi untuk aktuator /ynami#el yang akan dilakukan. ? /igunakan jika ada in"ormasi tambahan yang butuh untuk dikirmkan selain dari 'nstruksi itu sendiri. ? Merupakan yang dihitung sebagai error checking. Metode penghitungan N+heck SumN adalah sebagai berikut +heck Sum L M('/ 83ength 8'nstruction 8 $arameter.8... $arameter ) @ika nilai yang terhitung lebih besar dari 2DD, maka byte terbawahlah yang ditentukan sebagai nilai checksum. M mewakili operasi logic )<0.

Page 7 of 11

Application Note AN206

/nstruksi Ha!iMo 2.0


Struktur protokol dan hardware komunikasi Ha!iMo 2.0 dengan protokol /ynami#el adalah sama, namun ada beberapa hal yang berbeda pada alamat '/ dan alamat register. (lamat '/ Ha!iMo 2.0 telah diatur secara permanen pada '/ .00 (desimal atau 0#?: (heksadesimal . Ha!iMo 2.0 juga memiliki da"tar set instruksi1instruksi khusus berkaitan dengan pengaturan pengolahan citra yang hanya dapat digunakan dengan Ha!iMo 2.0. 'nstruksi1 instruksi tersebut antara lain /nstr,ction $')% 26(/O26%'<) E2'06 26(/O26% E2'06O26% +($O26%'<) 2(EOS(M$36 3&0OM()(%6 2/O='30H2 E2O='30H2 2/O26%0H2 E2O26%0H2 +($O%2'/ 26(/O%2'/ S(M$36O=(S0 . 2 * : Val,e 0#0. 0#02 0#0* 0#0+ 0#0/ 0#06 0#0= 0#.0 0#.. 0#.2 0#.* 0#.: 0#.D 0#.? 0#.9 (o. o1 4arameter 0 2 2 2 2 0 0 0 2 2 2 2 0 2 0 >,nction )o action. &sed "or obtaining a Status $acket 2ead 2esults o" 2egion /etection 6Kuivalent to +($O26%'<) "or +ompatibility 2ead +amera +hip 2egisters Erite +amera +hip 2egisters (. +apture and =ind +olor 2egions (. Sample the 2aw 'mage (used by %&' (2 6nter 3&0 Manage Mode (used by %&' (2 2ead )oise =ilter 0hresholds Erite )oise =ilter 0hresholds (. 2ead 2egion =ilter 0hresholds Erite 2egion =ilter 0hresholds (. +apture and +ompress using %riding algorithm (. 2ead 2esults o" the %riding (lgorithm (* =ast Sample (used by %&' (2 (:

0idak ada return paket yang dihasilkan dari 'nstruksi ini. 2espon berbeda dengan standar paket RO0OT%S maupun Ro"o0uilder* (ddress yang diberikan dikali dengan .? secara internal. 0idak didukung pada mode Ro"o0uilder* Ta$el " Da1tar /nstr,&si HaViMo 2.0

4engolahan citra dengan Region Growing


'nstruksi yang digunakan untuk melacak posisi warna pada (plikasi ini adalah +($O26%'<) dan 26(/O26%'<). +($ 26%'<) ber"ungsi untuk menangkap suatu citra untuk diproses menggunakan teknik Region Growing. Hasil dari prioses Region Growing ini dibaca dengan menggunakan instruksi 26(/ O26%'<). $ada ()20? ini proses pembacaan register ini telah dimasukkan dalam li"rar! /ynami#elOHavimo. Hasil pengolahan 2egion %rowing memiliki "ormat sebagai berikut /n-ex Color 4ixels XX* XX XX XX XX XX ,mX XX XX XX ,mB XX XX XX MaxX MinX XX XX MaxB MinB XX XX

B seluruh tipe data dalam heksadesilmal Ta$el 3 >ormat Hasil Re'ion #rowin'

Page 8 of 11

Application Note AN206

Hasil pembagian antara Njumlah piksel1piksel yang terdeteksi dalam region1 (4ixels dengan Njumlah dari koordinat 7 pada piksel1piksel yang terdeteksiN ( ,mX akan menghasilkan nilai Ntitik tengahN (center point( dari koordinat sumbu 7 terhadap kotak region, begitu pula untuk pembagian ,mB dengan 4ixels akan menghasilkan kordinat titik tengah sumbu C terhadap kotak region. $osisi obyek (#,y terhadap kamera Ha!iMo 2.0, diperoleh melalui perhitungan sebagai berikut $osisi obyek pada sumbu 7 L MinX + 7 ,mX A 4ixels8 $osisi obyek pada sumbu C L MinB + 7 ,mB A 4ixels8 )ilai batas sisi kiri kotak region (MinX dan nilai batas sisi atas kotak region (MinB perlu ditambahkan untuk memperoleh posisi sebenarnya dari obyek terhadap keseluruhan citra.

Li"rar! /ynami#elOHavimo
;umpulan dari instruction2instruction /ynami#el servo dan kamera Ha!iMo yang telah dirangkum kedalam library program dengan nama /!namixel34a-imo*c dan "ile header /!namixel34a-imo*h. 3ibrary ini disusun berdasarkan li"rar! (rduino /!namixel*cpp dan /!namixel*h yang dibuat oleh @osuP (lejandro Savage. ,eberapa "ungsi1"ungsi yang ada didalamnya sebagai contoh

DxlCrea-4osition78 /eskripsi - Membaca posisi servo pada saat itu. Sintaks - /#lOread$osition('/ Q $arameter- '/ F )omor identitas unik yang dimiliki oleh servo (71.28 /ynami#el. +ontoh /#lOread$osition(. Q (kan mengirimkan perintah untuk membaca posisi servo dengan '/ L .. 2espon Status $acket ,erisi nilai posisi servo dalam "ormat integer. H2mCCa+Re'ion78 /eskripsi - Menangkap gambar dan kemudian dilakukan %mage #rocessing Region Growing. Sintaks - HvmO+ap2egion( Q $arameter- 1 +ontoh HvmO+ap2egion( Q (kan mengirimkan perintah untuk menangkap gambar dan melakukan Region Growing. 2espon Status $acket +ommand ini tidak memberikan respon status apapun. H2mCRea-Re'ion78 /eskripsi - Membaca hasil dari 2egion %rowing. Sintaks - HvmO2ead2egion(unsigned char regOaddress Q $arameter- 2egister address hasil pembacaan pada alamat 0#.0 s.d. 0#==Heksa atau .? s.d. *.desimal. +ontoh HvmO2ead2egion(.? Q (kan mengirimkan perintah untuk membaca nilai register 0#.0 hasil dari Region Growing. 2espon Status $acket )ilai register yang ingin diketahui nilainya.

Tambahan pada li"rar! U RT


&ntuk mendukung li"rar! /!namixel34a-imo yang sumber aslinya berjalan sebagai li"rar! (rduino diperlukan "ungsi khusus pada program U RT, beberapa "ungsi tersebut antara lain ,artCa2aila$le78 L ber"ungsi untuk melihat jumlah byte yang diterima oleh receiver bu""er ,artC+ee&78 L ber"ungsi untuk mengintip &pee$( "!te bu""er teratas dari data diterima yang belum dibaca. ,artC1l,s;78 L ber"ungsi membersihkan Rx "uffer dari data diterima yang belum dibaca.

Page 9 of 11

Application Note AN206

Adapun alur program dari /ynami#el+ontrol.e#e adalah sebagai berikutTART 'nisialisasi 3+/ Menampilkan 0ulisan $embuka $ada 3+/

'nisialisasi serial .Mbps Set $<20/.9 sebagai <utput

+na"le %nterrupt

Set '/ . dan 2, Status Return L L .

$ose Start awal Ehile(. Capture 5 Read Region ,aca hasil Read Region 0idak @ika %ndex L . Ca 2eset Counter 0idak @ika Color L . Ca 6ksekusi aksi #an Tilt 0ampilkan Color +rror 3akukan gerak pencarian Counter66 0ampilkan %ndex +rror

0ampilkan posisi (#,y obyek pada 3+/

+ndless Loop #am$ar = >lowc;art 4ro'ram Trac&in'Color

Page 10 of 11

Application Note AN206

4enjelasan urutan kerja dari program diatas adalah sebagai berikut 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

12.

13. 14.

15. 16. 17.

$rogram melakukan inisialisasi 3+/ .?#2 pada $<20(. Menampilkan 0ampilan pembuka pada 3+/. 'nisialisasi komunikasi Serial &(20 dengan baudrate .Mbps. Set $<20/.9 sebagai output untuk pengontrol pin data direction* Meng1ena"le kan Glo"al %nterrupt* Mengirimkan %nstruction #ac$et untuk servo '/1. dan '/12 melakukan set Status Return Le-el L ., hal ini bertujuan agar /ynami#el (71.28 hanya memberikan balasan respon untuk %nstruction Read /ata. Mengirimkan perintah agar Servo '/1. dan '/12 bergerak pada posisi awal (menghadap lurus kearah depan . Masuk kedalam Superloop* Mengirimkan 'nstruction $acket pada '/1.00 (Ha!iMo2 agar melakukan Capture Region dan Read Region. Membaca dan menyimpan hasil Read Region ke dalam variabel1variabel* @ika data variabel 'nde# bernilai N0N, maka 1 Menampilkan +rror pada 3+/ 1 Melakukan gerak pencarian (sesuai nilai counter 1 Menambah nilai Counter. @ika data variabel 'nde# bernilai N.N , maka 1 Counter direset ke nol 1 Mengeksekusi program selanjutnya. @ika data variabel Color bernilai N0N, maka 1 Menampilkan +rror pada 3+/. @ika data variabel Color bernilai N.N , maka 1 Counter direset ke nol 1 mengeksekusi progra selanjutnya. Menggerakkan Servo '/1. (sumbu 7 dan Servo '/12 (sumbu C sesuai nilai posisi yang didapatkan. Menampilkan nilai posisi 7 dan C pada 3+/. $rogram berjalan terus dalam Superloop.

%ambar koneksi keseluruhan modul dapat dilihat pada #am$ar 10.

#am$ar 10 Ran'&aian antar mo-,l +a-a A(20)

Listing program aplikasi ini terdapat pada A(20).D/4


elamat berinovasiR
ll trademar$s, compan! names, product names and trade names are the propert! of their respecti-e owners* ll softwares are cop!right "! their respecti-e creators and7or software pu"lishers*

Page 11 of 11

Application Note AN206