BAB II LANDASAN TEORI
Dalam perancangan robot berkaki ini diperlukan pemilihan yang tepat terhadap komponen-komponen
elektronika
yang
akan
digunakan.
Dapat
ditentukan
mikrokontroler, sensor-sensor, serta algoritma yang akan digunakan. Gambar 2.1 adalah diagram blok dari sistem Legged Robot yang akan dirancang:
Comparator
Compass
Mikrokontroler Basic Stamp
Sensor Infra Red (IR)
Modul sensorr Passive Infra
Gambar 2.1. Diagram blok sistem robot 2.1 PERANGKAT KERAS (Hardware) Robot yang dirancang sangat ditentukan oleh sensor-sensor pembangun robot (perangkat keras) yang digunakan, karena bergeraknya Legged Robot tersebut dikendalikan oleh sensor-sensor. Sensor-sensor pembangun robot tersebut meliputi:
2.1.1 Mikrokontroler Scenix SX28AC/DP Mikrokontroler menjadi sangat penting sebagai pengambil keputusan. Pergerakan robot diatur oleh mikrokontroler berdasarkan hasil pemindaian tempat robot berada yang dilakukan oleh sensor-sensor. Mikrokontroler yang digunakan pada robot ini adalah Scenix SX28AC/DP dengan modul pengendali Basic Stamp.
4
Beberapa alasan utama pemilihan mikrokontroler Scenix SX28AC/DP yang mengacu
pada
referensi
http://www.parallax.com/dl/docs/prod/datast/SX20AC-
SX28AC-Data-v1.2.pdf, diantaranya: 1. Bahasa pemrograman yang sederhana membuat pengembangan menjadi lebih cepat. 2. Kecepatan tinggi dengan frekuensi clock 50 MHz. 3. Mampu mengeksekusi 10000 instruksi/detik. 4. Jumlah port I/O sebanyak 20 buah, 4 port untuk komunikasi serial dan 16 port mencukupi kebutuhan sensor-sensor dan aktuator-aktuator. 5. Kapasitas memori program EE/Flash 2048 Word (2k Word). 6. Memori data berukuran 136x8bit SRAM. 7. Rentang tegangan (Vcc) yang digunakan antara 3.0 – 5.5 volt tetapi umumnya menggunakan level tegangan 5 volt. 8. Suplai arus yang melewati Vcc maksimal sebesar 130 mA.
Fitur-fitur lain yang dimiliki Scenix SX28AC/DP adalah: 1. 13.3 ns untuk satu siklus instruksi 2. Merupakan mikrokontroler RISC, sehingga memiliki 43 single-word instruksi dasar. 3. 8-bit Real Time Clock/Counter (RTCC) dengan 8-bit prescaler terprogram. 4. Komparator analog yang terdapat pada port B (RB0 out, RB1 IN-, dan RB2 IN+). 5. Watchdog Timer dengan isolator internal yang mempunyai frekuensi antara 31.25 kHz sampai 4 MHz. 6. Kemasan fisik 28 pin.
Gambar 2.2. Diagram blok SX28AC/DP 5
Arsitektur keluarga SX menggunakan modifikasi arsitektur Harvard. Arsitektur ini menggunakan dua memori terpisah dengan bus alamat yang terpisah, satu untuk program dan satu untuk data yang mengizinkan transfer data dari memori program ke SRAM. Kemampuan ini mengizinkan pengaksesan data dari memori program. Keuntungan dari arsitektur ini adalah transfer instruksi fetch dan memori dapat di overlap dengan sebuah multi-stage pipeline (fetch, decode, execute dan write back), yang berarti instruksi selanjutnya dapat di-fetch dari memori program ketika instruksi sekarang sedang dieksekusi menggunakan data dari memori data.
2.1.1.1 Deskripsi pin-pin SX28AC/DP Pada SX28AC/DP yang ditunjukkan pada gambar 2.3, SX28AC/DP memiliki port untuk input/output sensor-sensor dan aktuator sebanyak 20 pin, yang terdiri dari 4 pin sebagai port A, 8 pin sebagai port B, dan 8 pin sebagai port C. Khusus untuk port A (pin 6, 7, 8, dan 9) digunakan sebagai port I/O jalur pemrograman mikrokontroler. Pin 6 dan pin 7 secara berturutturut berfungsi sebagai jalur data serial, dan input clock serial. Pin 8 dan pin 9 berfungsi sebagai pin reset atau pin Vpp pada saat mode pemrograman. Komunikasi serial atau USB dapat digunakan untuk mengisikan program ke mikrokontroler.
Gambar 2.3. Konfigurasi pin SX28AC/DP
Berikut adalah daftar pin-pin pada mikrokontroler SX28AC/DP beserta fungsinya.
6
Tabel 2.1. Deskripsi pin SX28AC/DP No. Pin 1 2 3 4 5
RTCC Vdd n.c. Vss n.c.
6
Nama
Tipe Pin I P
Level Input
Fungsi
ST -
Input to Real-Time Clock/Counter Tegangan sumber 5 volt No connection Ground No connection Pin I/O dua arah; symmetrical source/sink capability Pin I/O dua arah; symmetrical source/sink capability Pin I/O dua arah; symmetrical source/sink capability Pin I/O dua arah; symmetrical source/sink capability Pin I/O dua arah; comparator output; MIWU/Interrupt input Pin I/O dua arah; comparator negative input; MIWU/Interrupt input Pin I/O dua arah; comparator positive input; MIWU/Interrupt input Pin I/O dua arah; MIWU/Interrupt input Pin I/O dua arah; MIWU/Interrupt input Pin I/O dua arah; MIWU/Interrupt input Pin I/O dua arah; MIWU/Interrupt input Pin I/O dua arah; MIWU/Interrupt input Pin I/O dua arah Pin I/O dua arah Pin I/O dua arah Pin I/O dua arah Pin I/O dua arah Pin I/O dua arah Pin I/O dua arah Pin I/O dua arah Output osilator kristal – dalam mode R/C Input osilator kristal – input sumber clock eksternal
P
-
RA0
I/O
TTL/CMOS
7
RA1
I/O
TTL/CMOS
8
RA2
I/O
TTL/CMOS
9
RA3
I/O
TTL/CMOS
10
RB0
I/O
TTL/CMOS/ST
11
RB1
I/O
TTL/CMOS/ST
12
RB2
I/O
TTL/CMOS/ST
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
RB3 RB4 RB5 RB6 RB7 RC0 RC1 RC2 RC3 RC4 RC5 RC6 RC7 OSC2 OSC1
I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O O I
TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST TTL/CMOS/ST CMOS ST
28
MCLR
I
ST
Catatan:
Master Clear reset input – active low
I = Input, O = Output, I/O = Input/Output, P = Power, TTL = TTL input, CMOS = CMOS input, ST = Schmitt Trigger input, MIWU = Multi-Input Wakeup input
2.1.1.2 Organisasi memori Memori pada SX28AC/DP terbagi menjadi dua blok memori, yaitu memori program dan memori data. Ukuran memori program adalah 2k word dengan lebar 12-bit word yang merupakan memori bersifat Erasable
Electrical Programmable Read Only Memory (EEPROM). Sedangkan ukuran memori data sebesar 136 bytes pada RAM, dikelompokkan menjadi 8 bank dari 16 register dan 8 register not bank. Keduanya bisa dialamati baik secara langsung maupun tidak langsung menggunakan file select register (FSR). Special-function register dipetakan ke dalam memori data.
7
2.1.2 Sensor Objek Sensor-sensor objek akan mengambil informasi dari lingkungan sekitarnya. Mikrokontroler akan menentukan langkah yang tepat berdasarkan informasi dari sensor. Sensor-sensor objek ini diantaranya sensor navigasi, sensor pedeteksi manusia dan sensor untuk dapat menaiki tangga.
2.1.2.1 Sensor navigasi Salah satu alat untuk membantu navigasi (arah gerak) adalah kompas. Robot harus dilengkapi dengan sistem navigasi yang dapat memberikan informasi arah dengan baik agar robot dapat memutuskan dengan benar, ke arah mana seharusnya bergerak untuk mencapai lokasi yang diinginkan. Sensor kompas CMPS03 Magnetic Compass buatan Devantech Ltd digunakan sebagai sensor navigasi pada robot yang dirancang.
2.1.2.1.1 Sensor Kompas CMPS03 Gambar 2.4 di bawah ini adalah CMPS03 magnetic compass , sensor ini mempunyai ukuran 4 x 4 cm dan menggunakan sensor medan magnet Philips KMZ51. Sensor magnet ini cukup sensitif untuk mendeteksi medan magnet bumi. CMPS03 memiliki resolusi hingga 0,1 derajat dan pembacaan sudut dapat dilakukan dengan 2 pilihan antarmuka yaitu I2C atau PWM.
Spesifikasi untuk modul CMPS03 – Devantech Magnetic Compass, yaitu: - Catu daya: +5 VDC - Konsumsi arus: 15 mA - Antarmuka: I2C atau PWM.
8
Gambar 2.4. CMPS03- Devantech Magnetic Compass
Ada dua cara untuk mendapatkan informasi arah dari modul kompas digital ini. Yang pertama dengan membaca sinyal PWM
(Pulse Width Modulation) pada pin 4 atau yang kedua dengan membaca data interface I2C pada pin 2 dan 3.
Sinyal PWM merupakan sebuah sinyal yang telah dimodulasi lebar
pulsanya.
Dan
pada
CMPS03,
lebar
pulsa
positif
merepresentasikan sudut arah.
Lebar pulsa tersebut bervariasi, antara 1mS (00) sampai 36.99mS (359.90) yang berarti, lebar pulsa bisa berubah sebesar 100uS setiap derajatnya. Sinyal akan low selama 65mS di antara pulsa, sehingga total periodanya adalah 65mS + lebar pulsa positif (antara 66mS sampai 102mS). Pulsa tersebut dihasilkan oleh timer 16 bit di dalam prosesornya, yang memberikan resolusi 1uS.
Sedangkan interface I2C dapat digunakan untuk membaca data arah dalam bentuk data serial. Pada mode 8 bit, arah utara ditunjukkan dengan data 255 dengan resolusi 1,40625 derajat/bit. Pada mode 16 bit, arah utara ditunjukkan dengan data 65535 sehingga resolusinya menjadi 0,0055 derajat/bit. Data digital dari CMPS03 dapat langsung dibaca kontroler robot untuk mengetahui posisinya sekarang.
2.1.2.2 Sensor Pendeteksi Keberadaan Manusia Sensor pendeteksi keberadaan manusia digunakan untuk mendeteksi adanya manusia. Robot dikatakan dapat mendeteksi manusia jika robot 9
mendekati manusia tersebut dan pada robot ini digunakan 2 buah sensor
Passive Infrared (PIR) Module.
2.1.2.2.1 Sensor PIR (Passive Infrared) Module PIR atau Passive Infrared adalah merupakan sebuah sensor yang biasa digunakan untuk mendeteksi keberadaan manusia. Dikatakan
passive infrared karena sensor ini hanya mengenali lingkungan tanpa adanya energi yang harus dipancarkan. Aplikasi ini biasa digunakan untuk sistem alarm pada rumah-rumah atau perkantoran. Proses kerja sensor ini dilakukan dengan mendeteksi adanya radiasi panas tubuh manusia yang diubah menjadi perubahan tegangan.
PIR merupakan kombinasi sebuah kristal pyroelectric, filter dan lensa Fresnel. Sensor ini sangat sensitif terhadap panas yang ditimbulkan suhu tubuh manusia dengan sudut deteksi 600. Kekurangan dari sensor ini adalah: pertama sudut deteksinya cukup besar. Kedua, selain sudut deteksinya yang cukup besar, respon sensor ketika mendeteksi manusia mencapai 25 detik.
PIR mendeteksi radiasi infra merah dari tubuh manusia yang sering digunakan dalam teknologi deteksi gerak. Detektor suhu yang digunakan hanya untuk mendeteksi adanya orang yang bergerak tanpa adanya kemampuan untuk mengikuti posisi objek. Sensor tersebut dapat secara langsung mendeteksi posisi obyek. Gambar 2.5 dibawah ini merupakan gambar dari sensor PIR KC7783R.
Gambar 2.5. Passive Infra Red Module /w fresnel Lens KC7783R
10
Passive Infrared (PIR) Module merupakan modul yang berguna untuk mendeteksi adanya suatu gerakan yang dilakukan manusia. Modul ini bekerja dengan cara menyimpan suhu sebelumnya dan kemudian membandingkannya dengan suhu sekarang, jika ada perbedaan maka dianggap ada perbedaan. Modul ini menggunakan
pasif infrared sebagai sensornya. Spesifikasi Teknis: - DC Power Supply: 4.7 – 12 V - Jangkauan Deteksi: 5 Meter (Max) pada sudut 0° - Output High Voltage: 5 V - Output Pulse width: 0.5 Sec (Min)
2.1.2.3 Sensor pendeteksi tangga (Sensor Infra Merah) Cahaya infra merah tergolong ke dalam cahaya yang tidak tampak. Mempunyai panjang gelombang mulai 750 nm sampai 25 µm seperti terlihat pada gambar 2.6. Cahaya ini tidak dapat menembus benda padat seperti halnya cahaya tampak. Cahaya infra merah tidak bisa terlihat oleh mata manusia, karena jarak pandang manusia antara 400 nm sampai dengan 700 nm, seperti terlihat pada gambar 2.6.
Gambar 2.6. Beberapa spektrum gelombang cahaya
Sensor infra-merah (Infrared sensor) atau lebih biasa disebut sensor IR digunakan untuk mendeteksi adanya tangga berwarna hitam. Sensor IR ini terbagi menjadi dua yaitu IR Emiter dan IR Detector
(Phototransistor).
11
a. Sensor IR Emitter Sensor IR emitter pada gambar 2.7 adalah LED (Light
Emmiting Diode) infra merah, sebuah benda padat penghasil cahaya, yang menghasilkan spectrum cahaya infra merah yang terbuat dari bahan gallium arsenide, yang memancarkan cahaya infra-merah pada kisaran 880 nm.
(a)
(b)
Gambar 2.7. (a) Contoh IR Emiter; (b) Prinsip kerja IR Emiter.
b. Phototransistor Phototransistor pada gambar 2.8, bekerja dengan cara menangkap emisi ultraviolet yang dikeluarkan oleh sensor infra merah. Prinsip kerja dari phototransistor adalah ketika basis menangkap cahaya dengan panjang gelombang tertentu maka collector akan terhubung dengan emmiter dalam hal ini transistor bekerja.
Gambar 2.8. Contoh Phototransistor
Phototransistor memiliki dua mode operasi yaitu mode aktif dan mode peralihan. Mode aktif artinya transistor akan
12
menghasilkan reaksi yang sebanding dengan besaran cahaya yang diterima sampai dengan tingkatan tertentu. Mode peralihan artinya phototransistor hanya akan berkondisi “off” atau ”on” ketika terkena cahaya, mode ini berguna ketika dibutuhkan keluaran digital (0/1). Sedangkan phototransistor sendiri mempunyai karakteristik yang berbeda sebagai berikut:
(a)
(b)
Gambar 2.9. (a) Prinsip kerja rangkaian Phototransistor Common Emitter; (b) Prinsip kerja rangkaian Phototransistor Common-Collector
Tabel 2.2. Tabel karakteristik tipe-tipe phototransistor Material Silicon Germanium Indium gallium arsenide Lead sulfide
Wavelength range nm 190 – 1100 400 – 1700 800 – 2600 <1000 – 3500
2.1.3 Komparator Komparator secara harfiah berarti membandingkan, dalam hal ini adalah membandingkan dua jenis tegangan pada kedua masukannya.
Dalam prakteknya tegangan yang satu dicatu oleh suatu acuan (reference) yang besarnya tetap, sedangkan yang lainnya oleh suatu masukan tegangan yang variable, bilamana tersambung (on). Apabila masukan non inverting lebih positif dari masukan inverting-nya, maka akan diperoleh keluaran maksimum positif. Dan 13
bilamana masukan inverting lebih positif dibandingkan masukan non invertingnya, maka akan diperoleh keluaran maksimum negatif.
Komparator adalah suatu penguat operasional (Op-amp). Penguat operasional adalah penguat dengan gain tinggi dan terhubung secara langsung. Penguat ini biasanya digunakan untuk menguatkan sinyal berjalur frekuensi lebar dan digunakan bersama jaringan umpan balik eksternal. Penguat operasional memiliki 5 terminal dasar, yaitu 2 untuk mensuplai daya, 2 untuk masukan dan satu untuk keluaran.
Penguat operasional memiliki beberapa ketentuan ideal. Ketentuanketentuan ini tidak terdapat dalam praktek, namun asumsi-asumsi mengenai ini memungkinkan orang untuk melakukan analisa dengan cepat mengenai rangkaian umpan balik pada penguat operasional. Ketentuan-ketentuan ideal penguat operasional ini, antara lain: a. Penguatan open loop besar (A >>). b. Vo = 0 jika V1=V2. c. Impedansi input tinggi (Z >>). d. Impedansi output mendekati 0 (Zo <<). e. Tidak ada tegangan offset.
Cara yang termudah untuk menggunakan suatu penguat operasional adalah loop terbuka (tidak ada resistor umpan balik), seperti ditunjukkan dalam gambar 2.10 (a) karena penguat yang tinggi dari penguat operasional tegangan kesalahannya sedikit (secara tipikal dalam mikrovolt) menimbulkan ayunan (swing) output maksimum. Misalnya, jika V1 lebih besar daripada V2, tegangan kesalahan adalah positif dan tegangan output menuju harga positif maksimum secara tipikal 1 sampai 2 V kurang dari tegangan catu. Jika V1 lebih kecil dari V2, tegangan output berayun ke tegangan negatif maksimum.
14
Gambar 2.10. OpAmp
Gambar 2.10 (b) meringkaskan gerak tersebut. Tegangan kesalahan positif mendorong output ke +VSAT harga maksimum dari tegangan output. Tegangan kesalahan negatif menimbulkan tegangan output –VSAT. Jika sebuah penguat operasional digunakan seperti ini, maka disebut komparator karena semua yang dapat dilakukannya adalah membandingkan V1 dan V2 yang menghasilkan output positif atau negatif jenuh, tergantung pada apakah V1 lebih besar atau lebih kecil daripada V2.
Komparator yang digunakan untuk robot berkaki ini adalah LM 393N. IC ini mempunyai kemampuan untuk menghasilkan dua keluaran (output) untuk dibaca oleh mikrokontroler.
Gambar 2.11. Komparator LM393
Gambar 2.12. Konfigurasi pin Komparator LM393
15
Tabel 2.3. Tabel deskripsi pin LM393 No Pin Fungsi Output 1 1 Inverting Input 1 2 Non-Inverting Input 1 3 GND 4 Non-Inverting Input 2 5 Inverting Input 2 6 Output 2 7 Vcc 8
2.2 PERANGKAT LUNAK (SOFTWARE) Perangkat lunak merupakan faktor penentu paling akhir dalam tahap perancangan robot. Perangkat lunak ini berupa algoritma gerak dan tugas robot dalam bentuk listing program yang ditanamkan kedalam mikrokontroler. Program dapat bermacam-macam bentuk
versi
dan
bahasa
pemrogramannya,
sesuai
dengan
spesifikasi
dari
mikrokontroler yang digunakan.
Mikrokontroler SX28AC/DP adalah jenis mikrokontroler yang didalamnya sudah terdapat interpreter chip. Di dalam interpreter chip sudah terdapat program kecil yang berfungsi untuk menginterpretasikan program yang ditulis di dalam Basic Stamp Editor. Bahasa pemrograman yang digunakan untuk mengisikan program ke dalam mikrokontroler ini adalah Bahasa PBasic, yang bahasa pemrogramannya hampir sama dengan bahasa Basic.
2.2.1 Ringkasan Instruksi Instruksi yang dapat digunakan pada editor basic stamp relatif cukup banyak dan bergantung dari type dan jenis basic stamp yang digunakan. Berikut ini beberapa instruksi-instruksi dasar yang dapat digunakan pada mikrokontroler
basic stamp dengan type BS2SX.
Tabel 2.4. Beberapa instruksi dasar Instruksi DO…LOOP GOSUB
Keterangan Perulangan Memanggil prosedur
16
Instruksi IF…THEN SELECT…CASE FOR..NEXT HIGH LOW PAUSE PWM COUNT PULSOUT PULSIN GOTO
Keterangan Percabangan Pencabangan Perulangan Menset pin I/O menjadi 1 Menset pin I/O menjadi 0 Delay atau waktu tunda Konversi suatu nilai digital ke keluaran analog lewat pulse-width modulasi Menghitung jumlah pulsa (0-1-0 atau 1-0-1) Membangkitkan pulsa Menerima/membaca pulsa yang diterima Menuju/loncat ke alamat memori tertentu
2.2.2 Editor Basic Stamp Editor Basic Stamp merupakan sebuah software yang dapat dijalankan pada dua jenis versi sistem operasi, yakni DOS dan Windows. Software ini dapat berjalan pada komputer dengan sistem minimum, tanpa harus membutuhkan spesifikasi komputer yang sangat canggih. Gambar 2.13 berikut ini merupakan tampilan jendela program editor Basic Stamp yang berjalan pada sistem operasi windows.
Gambar 2.13. Tampilan Program Basic Stamp Editor
Dari jendela editor basic stamp pada gambar 2.14 terdapat beberapa bagian, diantaranya menu dan toolbar yang digunakan untuk melakukan operasi file seperti New, Open, Save, serta pengeditan listing program yang sedang dirancang. Gambar berikut merupakan bagian menu dan toolbar pada editor basic stamp. 17
Gambar 2.14. Tampilan Menu/ToolBar editor Basic Stamp
Setiap file yang dibuka pada program editor Basic Stamp akan dibuatkan tab editor seperti yang terlihat pada gambar 2.15, sehingga memudahkan pengguna software untuk berpindah-pindah dari satu file ke file yang lain.
Gambar 2.15. Contoh tampilan tab editor dengan 3 file terbuka Gambar 2.16 berikut memperlihatkan editor/lembar kerja dari editor Basic Stamp. Disinilah tempat penulisan listing program yang akan dibuat. Adapun warnawarna tulisan seperti yang terlihat dibawah tidak diwarnai secara manual, melainkan secara otomatis akan dilakukan oleh software sesuai dengan ketentuan penulisan listing program.
Gambar 2.16. Contoh editor Basic Stamp
Pada bagian bawah dari tampilan program editor basic stamp terdapat bagian yang bernama status bar seperti yang terlihat pada gambar 2.17. Status bar ini berfungsi menampilkan beberapa keterangan yang berhubungan dengan penulisan/pengeditan
listing program, diantaranya posisi kursor berada, dan sukses atau gagalnya pengisian program ke dalam mikrokontroler. 18
Gambar 2.17. Tampilan Status Bar pada program editor Basic Stamp
2.2.3 Cara Pembuatan program Pembuatan listing program dengan menggunakan editor basic stamp diawali dengan menentukan jenis/tipe mikrokontroler basic stamp dan versi bahasa PBASIC yang digunakan. Hal ini sangatlah mudah karena cukup memilih/mengklik icon jenis/tipe basic stamp dan versi bahasa PBASIC yang akan kita gunakan pada toolbar, seperti yang terlihat pada gambar 2.18 berikut : Tipe Basic Stamp
Versi bahasa PBASIC
Gambar 2.18. Icon type Basic Stamp dan versi bahasa PBASIC
Gambar 2.19. Tampilan jenis Basic Stamp dan versi bahasa PBASIC pada editor
Setelah menentukan tipe/jenis Basic Stamp dan versi bahasa PBASIC yang akan digunakan, dilanjutkan dengan penulisan listing program. Ketentuan penulisan Listing program tergolong cukup mudah dan dapat diselesaikan dalam waktu yang relatif singkat, karena menggunakan bahasa pemrograman tingkat tinggi yakni PBASIC yang bahasa pemrogramannya hampir sama dengan BASIC. Dalam penulisan Listing program dapat ditambahkan komentar yang dapat membantu proses pengeditan jika terjadi kesalahan dengan algoritma program yang dibuat. Gambar 2.20 berikut ini contoh tampilan editor basic stamp yang berisi potongan program lengkap dengan deklarasi variabel dan komentar.
19
Gambar 2.20. Contoh tampilan editor Basic Stamp yang berisi potongan program Dalam perancangan perangkat lunak, ada beberapa instruksi-instruksi umum yang sering digunakan, seperti perulangan, percabangan dan rutin/prosedur. Berikut ini ditunjukkan cara-cara penggunaan instruksi-instruksi umum pada mikrokontroler
basic stamp. 2.2.3.1. Perulangan Ada beberapa cara perulangan yang dapat digunakan pada mikrokontroler Basic Stamp, diantaranya : ¾ FOR…NEXT (perulangan yang dibatasi) Contoh : FOR temp = 1 to 40 PULSOUT 0,2300 PULSOUT 4,1450 PULSOUT 3,1700 PULSOUT 6,1150 PAUSE 2
awal perulangan
NEXT
akhir perulangan
isi perulangan
¾ DO…LOOP (perulangan secara terus menerus) Contoh : DO
awal perulangan
GOSUB maju LOOP
isi perulangan akhir perulangan
20
Perulangan DO…LOOP ini selain dapat digunakan untuk perulangan tanpa batas dapat juga digunakan pada perulangan yang dibatasi. Untuk jumlah perulangan yang dibatasi tinggal menambahkan UNTIL dengan syarat perulangan pada instruksi DO…LOOP. Contohnya :
DO
awal perulangan
GOSUB maju LOOP UNTIL n = 5
isi perulangan akhir perulangan
2.2.3.2. Percabangan Instruksi percabangan yang dapat digunakan pada mikrokontroler Basic Stamp ada beberapa jenis, diantaranya : ¾ IF…THEN
Syntax :
IF Condition THEN Statement(s) ELSEIF Condition(s) THEN Statement(s) ELSE Statement(s) ENDIF
Contoh : IF PIRkanan=1 AND PIRkiri=0 THEN DO GOSUB belokkanan LOOP UNTIL PIRkiri=1 AND PIRkanan=1 ELSEIF PIRkanan=0 AND PIRkiri=1 THEN DO GOSUB belokkiri LOOP UNTIL PIRkanan=1 AND PIRkiri=1 ELSEIF PIRkanan=0 AND PIRkiri=0 THEN DO GOSUB belokkanan LOOP UNTIL PIRkanan=1 OR PIRkiri=1 ENDIF
21
¾ SELECT…CASE
Syntax :
SELECT Expression CASE Condition(s)
Statement(s) CASE Condition(s)
Statement(s) CASE ELSE
Statement(s) ENDSELECT ¾ Contoh : Tidak ada program yang menggunakan instruksi SELECT…CASE Dalam pemilihan instruksi percabangan yang akan digunakan disesuaikan dengan kebutuhan dan bentuk percabangan yang akan di buat.
2.2.3.3. Rutin/Prosedur Prosedur merupakan sekumpulan instruksi yang karena berbagai pertimbangan dipisahkan dari program utama. Bagian-bagian di program utama akan memanggil prosedur, jadi mikrokontroler sementara akan meninggalkan aliran program utama untuk mengerjakan instruksi-instruksi dalam prosedur. Setelah selesai mengerjakan prosedur, maka mikrokontroler akan kembali ke aliran program utama. Contoh :
Prosedur : maju:
nama prosedur
FOR temp=1 TO 40 PULSOUT 0,2300 PULSOUT 4,1450 PULSOUT 3,1700
isi prosedur
PULSOUT 6,1150 PAUSE 2 NEXT PAUSE 5 RETURN
keluar dari prosedur dan kembali ke
baris
instruksi
setelah
pemanggilan prosedur
22
Pemanggilan prosedur ………………..
baris instruksi lainnya
……………….. GOSUB maju
baris instruksi pemanggilan prosedur
………………..
2.2.3.4. Pengaksesan port I/O Jumlah port I/O yang dapat digunakan pada mikrokontroler Basic Stamp berjumlah 16 buah, dimulai dari port 0 sampai port 15 yang masing-masing port dapat difungsikan sebagai input maupun output. Dalam pengaksesan (mengeset atau membaca) port I/O dapat langsung disebutkan/dituliskan nomor port I/O yang akan di akses. Contoh : HIGH 12
mengeset port 12 menjadi high
LOW 14
mengeset port 14 menjadi low
IF 6 = 1 THEN
membaca port 6 apakah high
IF 7 = 0 THEN
membaca port 7 apakah low
23