I. TEORI PENN!AN" a. Ro#otik Robotk memk unsur yang sedkt berbeda dengan mu dasar atau terapan yang an daam berkembang. Imu dasar basanya berkembang dar suatu asas atau hpotess yang kemudan dtet secara metods. Imu terapan dkembangkan seteah mu-mu yang mendasarnya berkembang dengan bak. Sedangkan mu robotk ebh serng berkembang meau pendekatan prakts pada awanya. Kemudan meau suatu pengamatan peraku mahuk hdup atau benda / mesn / peraatan bergerak annya dkembangkanah penetan secara teorts. Dar teor kemba kepada prakts, dan dar sn robot berkembang men|ad ebh canggh. Untuk mengetahu daam tema apa sa|a robotk dapat dtet. d daam robotka d|easkan tentang keterkatan seuruh komponen atau sub-doman daam ruang ngkup penetan dbdang robotk. Secara gars besar penetan d bdang robotk dapat dakukan dengan memh tema berdasarkan aur daam 4 tahapan, yatu kasfkas, obyek penetan, fokus penetan dan target penetan, dan bok karfkas, struktur robot dapat dketahu berada daam keompok mana. Pada dasarnya dhat dar struktur dan fungs fsknya (pendekatan vsua) robot terdr dar dua bagan, yatu non-mobe robot dan mobe robot. Kombnas keduanya dapat menghaskan keompok kombnas konvensona (mobe dan non-mobe) dan keompok non-konvensona. Keompok pertama senga|a dber nama konvensona karena nama yang dpaka daam konteks penetan adaah nama-nama yang danggap sudah umum, sepert mobile manpuator, climbing robot, walking robot dan nama-nama an yang sudah popuar. Sedangkan non- konvensona dapat berupa robot humanoid, animaloid, extra-ordinary, atau segaa bentuk novas penyerupaan yang basa dakukan. Dar keompok non-mobe yang serng dsebut sebaga "keuarga robot: adaah robot arm atau manpuator sa|a. Sementara yang ebh mudah dkena sebaga mesn cerdas (intelligent machine) yang tdak seau tampak memk bagan tangan, kak atau roda untuk bergerak ebh azm dsebut dengan nama khusus sesua dengan fungsnya. Mereka basanya memk nama-nama yang tersendr. Msanya mesn-mesn otomats Lathe (bubut), Milling (gng), Drilling Machine (mesn bor), CNC (Computer Numerical Control), EDM (Electric Discharge Machine), dan berbaga peraatan otomats yang basa d|umpa d pabrk-pabrk modern. Mobile Robot adaah tpe robot yang pang popuar daam duna penetan robotk. Dar seg manfaat, penetan tentang berbaga tpe mobe robot dharapkan dapat membantu manusa daam meakukan otomatsas daam transportas, patform bergerak untuk robot ndustr ekporas tanpa awak, dan mash banyak ag (Ptowarno, 2006). Robot berdasarkan mobtasnya terbag daam dua keompok. Keompok pertama merupakan robot yang doperaskan pada ngkungan yang tetap dengan pergerakan yang cenderung tetap dan tertentu (sebaga robot ndustr/stationary robot). Pada keompok yang kedua, robot dapat bergerak secara otonom, memk navgas, dan gerakan yang tdak tetap tergantung dar medan |ea|ah (dkena dengan mobile robot). Desan mobile robot dapat bergerak menggunakan kak (leg robot), roda (wheel robot), dan tank (Ham, 2007). #. Mikrocontroller Atmega 8535 ATMega8535 merupakan saah satu mkrokontroer keuarga ATMEL dar perkembangan terakhr, yatu generas AVR (Al and !egard"s #isc $rocessor). Mkrokontroer AVR memka RISC (#educed %nstruction &et Computing) 8 bt, dmana semua nstruks dkemas daam kode 16-bt (16-bt Word) dan sebagan besar nstruks d eksekus daam 1 (satu) skus cock, serta mempunya kecepatan maksma 16MHZ. Sean tu, ATMega8535 mempunya 6 phan mode sleep untuk menghemat daya strk. Ftur-ftur yang dberkan oeh mkrokontroer ATMega8535 adaah sebaga berkut: 1. Sauran I/O sebanyak 32 buah, yatu Port A sampa Port D (port A, B, C, D) 2. ADC (Analog to Digital Con'erter) 10 bt sebanyak 8 chanel. 3. Tga buah (imer)Counter dengan kemampuan pembandngan, yatu 2 buah tmer/counter 8 bt, dan 1 buah tmer/counter 16 bt* 4. CPU yang memk 32 buah register 5. 131 Instruks yang hanya membutuhkan 1 skus clock 6. +atchdog (imer dengan osilator internal 7. Tegangan operas 2,7 V - 5,5 V 8. Interna SRAM sebesar 512 byte 9. Memor ,lash sebesar 8 KB dengan kemampuan Read +hile +rite* 10.Unt nterups nterna dan eksterna 11.Port antarmuka SPI (&erial $heripheral %nterace). 12.Kecepatan hampr mencapa 16 MPIS pada Krsta 16 Mhz 13.%nternal downloader USB AVR (%n-system $rogramming dengkap LED programming indicator) 14.Tdak membutuhkan power tambahan saat meakukan downoad program 15.EEPROM (Electrically Erasble $rogrammable #ead -nly Memory). sebesar 512 byte yang dapat dprogram saat operas. 16.Antarmuka komparator anaog. 17.Port USART untuk komunkas sera. Beberapa karakterstk ADC Interna Yang terdapat pada mkrokontroer ATMega8535 adaah: a. Mudah daam pengoperasan. b. Resous 10 bt. c. Memk 8 masukan anaog. d. Konvers pada saat CPU seep. e. Interrupt waktu konvers seesa Berkut dagram bok ATmega8535 dtun|ukkan pada Gambar 1. Gambar 1. Berkut sekema mnmum system ATmega 8535 sepert dtun|ukkan pada Gambar 2 Gambar 2 Konfguras pn ATmega8535, pada Gambar 3 berkut n merupakan susunan kak standar 40 pn Mkrokontroer AVR ATmega 8535. Gambar 3 Berkut n adaah pen|easan umum susunan kak dar ATmega8535 (Heryanto, 2008) : 1. VCC merupakan pn masukan postf catu daya. Setap prant eektronka dgta membutuhkan sumber daya yang umumnya sebesar 5V. Oeh karena tu, basanya d PCB kt mkrokontroer seau ada IC reguator 7805 2. GND sebaga pn ground 3. Port A (PA0..PA7) merupakan pn I/O dua arah dan dapat dprogram sebaga pn masukan ADC 4. Port B (PB0..PB7) merupakan pn I/O dua arah dan pn fungs khusus, yatu (imer)Counter, komparator anaog, dan SPI 5. Port C (PC0..PC7) merupakan pn I/O dua arah dan pn fungs khusus, yatu TWI, komparator anaog dan (imer -silator 6. Port D (PD0..PD7) merupakan pn I/O dua arah dan pn fungs khusus, yatu komparator anaaog, nterups eksterna, dan komunkas sera 7. Reset merupakan pn yang dgunakan untuk me-reset mkrokontroer 8. XTAL1 dan XTAL2 sebaga pn masukan clock eksterna. Suatu mkrokontroer membutuhkan sumber detak (clock) agar dapat mengeksekus nstruks yang ada d memeor. Semakn tngg na krstanya, semakn cepat mkrokontroer tersebut 9. AVCC sebaga pn masukan tegangan untuk ADC 10.AREF sebaga pn masukan tegangan referens c. Memori mikrokontroler ATMega8535 Organsas memor mkrokontroer ATMega8535 dapat dbag atas dua bagan berbeda berdasarkan fungsnya daam menympan data program, yatu memor program dan memor data. Memor program dgunakan untuk nstruks yang akan d|aankan oeh mkrokontroer. Memor |ens n basanya bertpe ROM (Read Ony Memory), yang dgunakan untuk menympan program. Sedangkan memor data dgunakan sebaga tempat penympanan data-data yang sedang dakses oeh mkrokontroer. $. Memori Data Memor data terbag men|ad 3 bagan, yatu 32 buah regster umum, 64 buah regster I/O, dan 512 byte SRAM Interna. Regster keperuan umum menempat space data pada amat terbawah, yatu $00 sampa $1f. Sementara tu, regster khusus untuk menangan I/O dan contro terhadap mkrokontroer menempat 64 aamat berkutnya, yatu mua dar $20 sampa $5f. Regster tersebut merupakan regster khusus yang dpergunakan untuk mengatur fungs terhadap berbaga perphera mkrokontroer, sepert contro regster, tmer/counter, fungs-fungs I/O, dan sebaganya. Aamat memor berkutnya dgunakan untuk SRAM 512 byte, yatu pada okas $60 sampa dengan $25F. Sean tu, AVR ATMega8535 |uga memk memor data berupa EEPROM 8-bt sebanyak 512 byte. Aamat EEPROM dmua dar $000 sampa dengan $1FF. %. Memori Program Memor program yang teretak daam lash $E#-M .$rogrammable Erasble #ead -nly Memory/ tersusun daam word atau 2 byte karena setap nstruks memk ebar 16-bt atau 32-bt. Fash PEROM adaah PROM yang dapat dtus uang beberapa ka, dan dapat dhapus secara eektrk atau dengan tegangan strk. AVR ATMega8535 memk 4Kbyte X 16-bt ,lash $E#-M dengan aamat mua dar $000 sampa dengan $FFF. AVR tersebut memk 12-bt $rogram Counter (PC) sehngga mampu mengaamat s Fash. d. Stat&' Regi'ter (SRE") Status regster adaah regster bers status yang dhaskan pada setap operas yang dakukan ketka suatu ntruks deksekus SREG merupakan bagan dar nt CPU mkrokontroer. 1. Bt 7-1: Goba Interrupt Enabe. Bt harus dset untuk meng-enabe nterups. Ha n dakukan dengan cara mengaktfkan nterups yang akan dgunakan, meau meng-enabe bt contro regster yang bersangkutan secar ndvdu. Bt akan d-cear apaba ter|ad suatu nterups yang dpcu oeh hardware, dan bt tdak akan mengznkan ter|adnya nterups, serta akan dset kemba oeh RET1. 2. Bt 6-T: Bt Copy Storage. Instruks BLD dan BST menggunakan bt-T sebaga sumber atau tu|uan daam operas bt. Suatu bt daam sebuah regster GPR dapat dsanke bt T menggunakan nstruks BST, dan sebaknya bt T dapat dsan kemba ke suatu bt daam regster GPR menggunakan ntruks BLD. 3. Bt 5-h: Haf carry fag. 4. Bt 4-s: Sgn Bt. Bt S merupakan has operas EOR antara fag-N (negatve) dan Fag V (compement dua overfow). 5. Bt 3-V: Twos Compement Overfow Fag. Bt berguna untuk mendukung operas artmatka. 6. Bt 2-N: Negatve Fag. Apaba suatu operas menghaskanbangan negatve, maka fag-N akan dset. 7. Bt 1-Z: Zero Fag. Bt akan dset ba has operas yang dperoeh adaah no. 8. Bt 0-C: Carry Fag. Apaba suatu operas menghaskan carry, maka bt akan dset. e. I*O Port Port I/O pada mkrokontroer ATMega8535 dapat dfungskan sebaga nput ataupun output dengan keuaran high atau low. Untuk mengatur fungs port I/O sebaga nput ataupun output, peru dakuan settng pada DDR dan Port. Tabe 1 merupakan tabe konfguras settng untuk Port I/0. Tabe 1. Konfguras settng untuk Port I/O DDR bt = 1 DDR bt = 0 Port bt = 1 Output Hgh Input pu- up Port bt = 0 Output Low Input Foatng Logka Port I/O dapat dubah-ubah daam program secara byte atau hanya bt tertentu. Mengubah sebuah keuaran bt I/O dapat menggunakan perntah c#i (clear #it I*O) untuk menhaskan output ow atau perntah sb (set bt I/O) untuk menghaskanoutput hgh. Pengubahan secara byte dengan perntah n atau out yang menggunakan regster bantu. Port I/O sebaga output hanya memberkan arus sourchng sebesar 20mA sehngga untuk menggerakan motor servo peru dberkan penguat tambahan atau dengan konfguras port sebaga snkng current, sepert port untuk menyaakan LED yang kan menyaa saat port dberkan ogka ow, dan mat saat port dberkan ogka hgh. Berkut n nstruks yang terdapat pada I/O: $. In Membaca data I/O Pot atau nterna perphera regster (Tmers, UART) ke daam regster. %. O&t Menus data sebuah regster ke I/O port atau nterna perphera regster. 3. Idi (load immediate) Untuk menus konstanta ke regster sebeum konstanta tu dtuskan ke I/O Port. +. S#i ('et #it in I*O) Untuk membuat Logka hgh satu bt I/O regster. 5. C#i (clear #it in I*O) Untuk membuat Logka ow satu bt I/O regster. ,. S#ic ('ki- i. #it in I*O I cleared) Untuk mengecek apakah bt I/O regster cear. |ka cear, skp satu perntah dbawahnya. /. S#i' ('ki- i. #it in I*O i' 'et) Untuk mengecek apakah bt I/O regster set. |ka set, skp satu perntah dbawahnya (Heryanto, Ary dan Ad, Wsnu, 2008). .. Motor Servo Motor servo merupakan sebuah motor DC kec yang dber sstem gear dan potenso meter sehngga da dapat menempatkan "horn" servo pada poss yang dkehendak. Motor servo n menggunakan sstem cosed contro oop sehngga poss "horn" yang dkehendak bsa dpertahankan. Motor tersebut harus dapat menangan perubahan yang cepat pada poss, kecepatan, ketepatan, serta mampu menangan ntermtten torque. Motor servo aah DC motor dengan tambahan eektronka untuk kontro Puse wdth (PW). Servo mempunya 3 buah kabe (Vcc, ground, dan PW nput), 2 kabe untuk power suppy dengan besar tegangan berksar 5 sampa 7 vot, dan kabe ketga merupakan kabe pengenda yang dapat angsung dhubungkan ke mkrokontroer. Tdak sepert PWM (Pusa Wdth Moduaton) / moduas ebar pusa (PWM). Pada DC motor, nput snya untuk servo tdak dgunakan untuk mengatur kecepatan tetap dgunakan untuk mengatur poss dan putaran servo. Metode PWM merupakan suatu metode untuk mengatur pergerakan motor dengan cara mengatur prosentase ebar pusa hgh terhadap perode dar suatu snya perseg daam bentuk tegangan perodk yang dberkan ke motor. Bentuk "Horn" pada servo ada dua |ens, yatu Horn bentuk "X" dan Horn berbentuk buat. Gambar motor servo dengan bentuk Horn "X" akan dtun|ukkan pada gambar d bawah. Motor ser'o basanya dgunakan untuk robot berkak, berengan atau sebaga aktuator pada mobe robot. Motor servo terdr dar sebuah motor DC, beberapa gear, sebuah potensometer, sebuah output shat dan sebuah rangkaan kontro eektronk. Motor ser'o dkemas daam berbentuk seg empat dengan sebuah output shat motor dan konektor dengan 3 kabe yatu powers, contro, dan ground. Gear motor servo ada yang terbuat dar pastk, meta atau ttanum. D daam motor servo terdapat potensometer yang dgunakan sebaga sensor poss. Potensometer tersebut dhubungkan dengan output shat untuk mengetahu poss aktual shat. Ketka motor dc berputar, maka output shat |uga berputar dan sekagus memutar potensometer. Rangakaan kontro kemudan dapat membaca konds potensometer tersebut untuk mengetahu poss aktua saht. |ka possnya dengan yang dngnkan, maka motor dc akan berhent. Sudut operas motor servo (operating angle) bervaras tergantung |ens motor servo. Ada 2 |ens motor servo yatu: a. Motor Servo Standart Yatu motor servo dengkap dengan motor DC untuk mengendakan poss sebuah robot yang mampu bergerak CW dan CCW dengan sudut operas tertentu, msa 600, 900, atau 1800. Rotor robot dapat dputar 180 dera|at. Servo motor standar serng dpaka pada sstem robotka msanya untuk membuat "Robot Arm" (robot engan). b. Motor Servo Continuous Yatu motor ser'o yang mampu bergerak CW dan CCW tanpa batasan sudut operas (berputar secara kontnyu). Serng dpaka untuk mobe robot Rotor robot dapat dputar 360 dera|at. (Andranto, Her. 2008). Motor ser'o basanya menggunakan tegangan suppy 4.8 hngga 7.2 vot. Berkut bentuk fsk motor servo terhat pada Gambar 4. Gambar 4. Motor servo Aasan penggunaan motor servo untuk bdang robotka adaah pertama, motor servo memk putaran yang ambat dan tors yang kuat (berkat adanya sstm gear). Ha n cocok dengan bdang robotka, bandngkan msanya dengan motor DC basa yang memk putaran cepat namun tors rendah. Poros motor DC yang dhubungkan angsung dengan roda, tdak Akan kuat untuk menggerakkan mobe robot tersebut, demkan |uga dengan motor stepper. Kedua |ens motor n harus dhubungkan terebh dahuu dengan sstm gear agar dapat dpergunakan. Namun poros servo dapat dhubungkan angsung dengan roda. Kedua, sstm kontro untuk motor servo reatf sedkt (dpergunakan hanya 1 |aur data sa|a). Ha n tentu berbeda msanya |ka kta menggunakan motor stepper yang memerukan |aur kontro ebh dar 1 |aur. Oeh karena tu tantangannya adaah bagamana mengontro motor servo yang hanya menggunakan 1 |aur tersebut. Oeh karena hanya dgunakan 1 |aur data untuk mengontro motor servo, maka dgunakan teknk PWM (Andranto, Her 2008). g. Software Compiler dan So.t0are Downloader &otware pemrograman adaah suatu program yang dgunakan untuk menus program. Saah satu sotware-nya yatu CodeVsonAVR program n mendukung berbaga macam |ens mkrokontroer dantaranya mkrokontroer ATmega8535. Program n |uga mendukung berbaga macam bahasa pemrograman dantaranya adaah bahasa assember dan bahasa C. &oware compiler adaah perangkat unak yang dgunakan untuk mengcompe stng program yang teah dtus dan men|adkan program ke daam format yang dapat dbaca oeh mkrokontroer. Perangkat unak yang dgunakan adaah code vson Avr evauaton. &otware Downloader adaah perangkat unak yang dgunakan untuk mendownoad program yang teah d compes dengan Software Comper kedaam mcrokontroer. Perangkat unak yang dgunakan adaah code vson Avr evauaton. 1. Cara men2download -rogam ke mikrokontroler Rangkaan Mnmum System ATmega8535 sudah terdapat rangkaan downoadernya yatu tngga menghubungkan mnmum sytem dengan port DB25. Langkah pertama yang dakukan adaah membuat stng program yang dbuat menggunakan sotware CodeVsonAVR Evauaton yang menggunakan bahasa C, sepert tampak pada Gambar 5. Gambar 5. Screenshot CodeVsonAVR Evauaton Dakukan proses kompe stng untuk mengecek error program yang teah dtus. |ka tdak ter|ad error maka akan nampak sepert Gambar 6. Seteah tu dakukan proses penympanan program. Program tersebut akan berekstens ".c", agar fe dapat ddownoad ke mkrokontroer ATmega8535 fe tersebut harus berekstens ".hex", untuk mengubahnya men|ad fe yang berekstens ".hex", yatu dengan cara "build" atau dengan menekan tombo "&hit0 1", maka akan tampak sepert pada Gambar 7. Gambar 6. Screenshot proses Compe Gambar 7. Screenshot proses "Bud" Pada angkah sean|utnya, untuk proses pengsan program (lash programing) ke mkrokontroer ATmega8535 yatu dengan cara menekan tombo "program the chip", maka akan tamp sepert yang dtun|ukkan pada Gambar 8 (a) dan (b). Gambar 8 Proses Fash programng