BAB II
LANDASAN TEORI
2.1. Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis.
Melaksanakan Algoritma berarti mengerjakan
langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai
dengan algoritma yang diberikan kepadanya. Oleh karena itu suatu Algoritma
harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi
suatu pemroses harus :
1. Mengerti
setiap langkah dalam Algoritma
2.
Mengerjakan
operasi yang bersesuaian dengan langkah tersebut.
2.2. Sistem Kontrol
Kontrol adalah
bagian yang amat penting dalam robotik. Sistem robotik tanpa kontrol hanya akan
menjadi benda mekatronik yang mati. Dalam sistem kontrol robotik terdapat dua
bagian, yaitu perangkat keras elektronik, yakni rangkaian elektronik yang
setidak-tidaknya terdiri dari rangkaian prosesor (CPU, memori, komponen interface input/output) dan perangkat lunak yang berisi program kemudi dan
algoritma kontrol. Algoritma kontrol yang digunakan dalam dunia robotik
biasanya adalah kontrol cerdas yang berdasarkan algoritma dipandang cerdas.
Pengertian cerdas di sini sangatlah relatif, karena tergantung dari sisi mana
seseorang memandang.
Sistem kontrol
yang digunakan pada robot yang dirancang merupakan gabungan dari sistem close loop dan open loop dengan jenis kontrol ON/OFF.
Sistem kontrol ON/OFF sering disebut
juga “bang-bang control”, adalah kontrol yang paling dasar dalam robotik. Input
sensor dan sinyal output pada aktuator dinyatakan hanya dalam dua keadaan, yaitu ON/OFF atau logika 1 dan 0. Dalam
perancangan sistem robot yang dibangun, cara ini sudah cukup memadai karena
mampu mengontrol robot untuk mencapai target yang dikehendaki.
Mekanisme kerja
dari sistem kontrol yang dirancang dapat diilustrasikan pada gambar berikut
ini.
Tiga prosedur utama, yaitu baca sensor,
memproses data sensor, dan mengirim sinyal aktuasi ke aktuator adalah tugas
utama kontroler. Dalam aplikasi, prosedur “baca sensor” dapat terdiri dari
berbagai teknik yang masing-masing membawa dampak kerumitan dalam pemrograman.
Kontroler yang digunakan dalam perancangan
merupakan tipe kontroler yang menggunakan teknik polling dalam proses membaca
dan menulis data pada port I/O. Teknik polling
adalah prosedur membaca data berdasarkan pengalamatan langsung yang dapat
dilakukan kapan saja kontroler menghendaki.
Bagian yang berfungsi untuk memproses data
sensor adalah bagian yang paling penting dalam program kontroler. Pada bagian
ini semua data di proses, baik berupa data hasil bacaan sensor maupun berupa
sinyal aktuasi ke aktuator. Berbagai algoritma kontrol mulai dari teknik klasik
seperti kontrol ON/OFF, P, I, dan D
dapat diterapkan. Jika dikehendaki kontrol yang lebih pintar dan dapat
beradaptasi, maka dapat dimasukkan berbagai algoritma kontrol adaptive hingga teknik artificial intelligent seperti fuzzy control, neural network dan lain-lain.
Bagian prosedur
untuk “tulis data” adalah bagian yang berisi pengalamatan ke aktuator untuk
proses penulisan data. Dalam konteks rangkaian elektronik, data ini adalah
sinyal aktuasi ke kontroler seperti berapa besar tegangan atau arus yang
mengalir ke motor, dan lain sebagainya.
Mikrokontroler
yang digunakan dalam perancangan sistem robot cerdas pemadam api ini yakni
sebuah mikrokontroler Scenix SX48BD
dengan modul pengendali Basic Stamp.
Beberapa alasan utama
pemilihan mikrokontroler Scenix SX48BD:
1.
Bahasa
pemrograman yang sederhana membuat pengembangan perangkat lunak menjadi lebih
cepat.
2.
Kecepatan
tinggi dengan frekuensi clock 75 MHz.
3.
Jumlah port
I/O sebanyak 36 buah.
4.
Kapasitas memori program EE/Flash 16 K Byte (8 K Word).
5.
Memori data berukuran 262x8bit SRAM.
6.
Rentang tegangan (Vcc) yang digunakan antara 3.0 – 5.5
volt tetapi umumnya menggunakan level tegangan 5 volt.
7.
Suplai arus yang melewati Vcc maksimal sebesar 130 mA.
Fitur-fitur lain yang dimiliki Scenix
SX48BD 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.
Watchdog Timer dengan isolator internal yang mempunyai frekuensi
antara 31.25 kHz sampai 4 MHz.
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.3. Mekanik
Struktur robot
sebagian besar dibangun berdasarkan konstruksi mekanik. Robot yang memiliki
kemampuan navigasi dan manipulasi secara relatif memiliki konstruksi mekanik
yang lebih rumit dibanding dengan yang berkemampuan navigasi saja, seperti mobile robot yang hanya memiliki roda
penggerak.
Hal mendasar
yang perlu diperhatikan dalam disain mekanik robot adalah perhitungan kebutuhan
torsi untuk menggerakkan sendi atau roda. Motor, sebagai penggerak utama (prime-mover) yang paling sering dipakai
umumnya akan bekerja optimal pada putaran yang relatif tinggi. Hal ini tidak
sesuai bila porosnya dihubungkan langsung ke sendi gerak atau roda. Sebab
kebanyakan gerakan yang diperlukan pada sisi anggota badan robot adalah relatif
pelan namun bertenaga. Untuk itu diperlukan cara-cara transmisi daya motor
(atau aktuator secara umum) secara
tepat. Salah satu metoda yang paling umum adalah menggunakan sistem gear.
Arah putaran poros pada transmisi gir
hubungan langsung seperti pada Gambar 2.2 adalah selalu berlawanan untuk tiap
Sambungan serial. Untuk mendapatkan arah putaran yang sama seperti pada poros motor maka
gir harus disusun dengan jumlah ganjil.
Pada Robot
Cerdas Pemadam Api yang dirancang menggunakan transmisi gir hubungan langsung
dengan perbandingan 1:100. Hal ini disebabkan karena sistem ini cukup mudah
instalasinya dan untuk mendapatkan rasio gir yang besar dicapai dengan
memperbanyak susunan gir yang arsitekturnya dapat dibuat ringkas dalam “satu
rumah”.
Sistem roda yang
digunakan pada Robot Cerdas Pemadam Api berbasis rantai seperti tank. Roda yang
dihubungkan menggunakan rantai digerakkan menggunakan dua buah motor yang
dipasang di roda paling belakang sebelah kiri dan kanan. Hal ini didasarkan
atas bentuk dan kondisi medan tempat robot bergerak.
2.4. Sensor
Sensor pada
robot merupakan perangkat atau komponen pengumpul informasi lingkungan tempat
robot berada. Berdasarkan masukan sensor-sensor yang terpasang, unit mikrokontroler
dapat menganalisanya dan menentukan keputusan yang tepat sesuai dengan
algoritma yang telah dirancang.
Sensor yang
digunakan dapat berupa sensor yang dibuat dari sistem yang paling sederhana
seperti sensor ON/OFF menggunakan limit switch, sistem analog, sistem bus parallel,
sistem bus serial, hingga sistem mata
kamera yang masing-masing cara pengukuran dan cara interfacing ke kontrolernya berbeda-beda.
Dalam pemilihan jenis sensor yang akan
digunakan pada sebuah sistem robot, bergantung pada aplikasi dari robot yang
akan dirancang. Robot yang dirancang dengan tujuan ikut serta dalam Kontes
Robot Cerdas Indonesia
dengan tema Robot Cerdas Pemadam Api menggunakan beberapa sensor, diantaranya :
a.
Sensor Dinding
b.
Sensor
Kipas
c.
Sensor Api
d.
Sensor
Suara
2.4.1 Sensor Dinding
Sensor dinding merupakan sensor yang
digunakan untuk keperluan navigasi robot agar robot tidak menabrak dinding pada
saat menyusuri arena kontes. Sensor yang dapat digunakan adalah :
v
Ping )))
Ultrasonic Distance Sensor
Ping)))
Ultrasonic Distance Sensor
ini adalah jenis sensor sonar (sistem pemancar dan penerima sinyal sonar)
buatan parallax dengan sistem TX-RX ultrasonic yang didesain dengan tingkat
kepresisian tinggi dan menyatu dengan rangkaian signal conditioning-nya. Sensor ini bekerja berdasarkan sinyal
pantul (echo) yang ditangkap oleh
penerima dengan output berupa lebar
pulsa (TTL). Pada sistem ultrasonic
data jarak yang terukur adalah sebanding dengan lama waktu antara sinyal
dikirim dan sinyal echo diterima.
Bentuk sensor ultrasonic ditunjukkan
pada gambar 2.3 berikut.
Untuk jangkauan yang relatif jauh dapat
digunakan sensor sonar jenis ultrasonic
ini. Namun, sensor ultrasonic
memiliki kelemahan mendasar, yaitu mudahnya terjadi interferensi antara
sensor-sensor yang berdekatan dan waktu akses yang terbatas (maksimum sekitar
20 kali scanning tiap detik). Untuk keperluan manuver kecepatan tinggi,
sensor ultrasonic ini kurang sesuai.
2.4.2 Sensor Kipas
Sensor Kipas digunakan untuk mendeteksi
posisi kipas agar tetap pada tempatnya sehingga tidak menghalangi sensor lain. Sensor
yang digunakan berupa sensor rancangan sendiri yang berbasiskan transmitter-receiver (TX-RX) infra merah–
PhotoIC yang disusun secara berdampingan, sensor ini
menggunakan prinsip pemantulan sinar infra merah terhadap sayap kipas yang
berada di depan sensor tersebut. Sinar infra merah yang di-transmit-kan memiliki kode-kode tertentu yang dimodulasikan pada
frekuensi yang tertentu pula.
PhotoIC merupakan suatu modul penerima yang
didalamnya telah terintegrasi oscillator, timing generator, led driver,
photodiode, preamplifier, comparator, signal processing circuit dan output
circuit. PhotoIC dapat memodulasi cahaya yang dipancarkan oleh pemancar
(LED) dan menahan cahaya yang dihasilkan oleh pemancar yang lain. Berikut adalah gambar dari PhotoIC.
Intensitas sinar infra merah yang dipancarkan
unit IR transmitter diatur cukup rendah sehingga pada jarak yang telah
ditentukan, hanya warna putih saja yang pantulan sinar infra merahnya akan terdeteksi oleh unit PhotoIC receiver. Apabila ada pantulan sinar infra merah dengan
frekuensi modulasi dan data yang benar terdeteksi oleh unit PhotoIC receiver, maka dapat dipastikan
kipas berada pada posisi yang benar, sehingga modul pengendali dapat menentukan
keputusan yang sesuai dengan kondisi tersebut.
2.4.3 Sensor Api
Pada robot terdapat dua jenis sensor api,
yaitu pendeteksi keberadaan api lilin yang menyala dan pendeteksi posisi/arah
titik api relatif terhadap arah hadap robot. Sensor-sensor tersebut diantaranya
:
a.
UVTron Flame Sensor
b.
Phototransistor
a.
UVTron
Flame Sensor
Yang bertugas
mendeteksi keberadaan nyala api lilin adalah sensor api UVtron buatan Hamamatsu.
Sensor ini dipilih karena dalam mendeteksi keberadaan nyala api tidak
terpengaruh oleh cahaya lain selain cahaya dari api. Sensor ini mendeteksi
pancaran sinar ultraviolet dengan
rentang spektrum panjang gelombang antara 185nm hingga 260nm yang merupakan
panjang gelombang ultraviolet emisi
nyala api. Sensor ini juga mampu mendeteksi keberadaan nyala api dalam ruang 3
dimensi hampir dari semua arah dan dengan jarak sampai 5 meter. Gambar 2.5 merupakan gambar sensor UVtron dan modul interface-nya:
|
Sensor UVtron
dan rangkaian interface-nya memiliki
filter yang mampu mengurangi noise
atau derau sehingga mengurangi kemungkinan kesalahan pembacaan keberadaan nyala
api. Sensor ini mempunyai output berupa open collector dan lebar pulsa. Sensor ini dipilih sebagai sensor
yang bertugas mendeteksi keberadaan nyala api lilin karena terbukti handal
dalam mendeteksi api dengan jarak maksimum 5 meter dengan output sensor berupa lebar pulsa.
Kelemahan
dari sensor UVtron adalah tidak dapat
digunakan untuk mencari letak titik api berada sehingga dibutuhkan sensor lain
yang dapat mendeteksi posisi titik api lilin.
b.
Phototransistor
Phototransistor
digunakan untuk mencari titik api didalam ruangan. Phototransistor bekerja dengan cara menangkap emisi ultraviolet yg dikeluarkan oleh nyala
api.
Prinsip kerja dari phototransistor adalah ketika basis menangkap cahaya
dengan panjang gelombang tertentu maka collector
akan terhubung dengan emitter dalam
hal ini transistor bekerja. Phototransistor memiliki dua mode operasi yaitu mode
aktif dan mode peralihan. Mode
aktif artinya transistor akan
menghasilkan reaksi yang sebanding dengan besaran cahaya yang diterima sampai
dengan tingkatan tertentu. Mode peralihan artinya phototransitor hanya akan berkondisi “off” atau “on” ketika
terkena cahaya, mode ini berguna ketika dibutuhkan keluaran digital (0/1).
2.4.4 Sensor Suara
Berdasarkan peraturan lomba Kontes Robot Cerdas Indonesia , robot dapat diaktifkan
menggunakan sensor suara dengan frekuensi antara 3 – 4 kHz. Modul yang
dirancang terdiri dari dua bagian, yaitu modul penghasil suara yang diaktifkan
oleh operator robot dan modul pendeteksi suara yang terpasang pada robot. Alat
yang digunakan sebagai penghasil suara adalah sebuah buzzer dengan
frekuensi sekitar 3 – 4 Khz. Suara yang dihasilkan berupa sinyal analog
yang akan diterima oleh komponen microphone yang kemudian di-filter
melalui komponen bandpass filter sehingga menghasilkan sinyal
digital. Sinyal tersebut diterima
oleh mikrokontroler yang menandakan bahwa awal dari pergerakan robot.
2.5. Beeper
Sebagai penentu bahwa bayi telah ditemukan, digunakan modul penanda bayi
disebut dengan beeper yang
mengeluarkan suara dengan frekuensi 1 KHz dan menghasilkan dua beep per
detik-nya sesuai dengan peraturan lomba. Modul menggunakan satu buah IC Atmel
yaitu AT89C2051 dan penghasil suara digunakan sebuah buzzer.
2.6. Aktuator
Aktuator
merupakan perangkat elektromekanik yang menghasilkan daya gerakan. Dapat dibuat
dari sistem motor listrik, sistem pneumatic,
atau perangkat hidrolik. Untuk
meningkatkan tenaga mekanik aktuator atau torsi gerakan dapat dipasang sistem gearbox, baik sistem direct-gear (sistem lurus, sistem ohmic/worm-gear, planetary gear, dsb) maupun
sprochet-chain (gir-rantai, gir-belt, ataupun sistem wire-roller, dsb).
Aktuator dasar
yang sering digunakan pada sistem robot sebagai penghasil gerakan yaitu motor
DC Magnet Permanen. Motor DC (direct
current) adalah peralatan elektromekanik dasar yang berfungsi untuk
mengubah tenaga listrik menjadi tenaga mekanik. Secara umum, kecepatan putaran
poros motor DC akan meningkat seiring dengan meningkatnya tegangan yang
diberikan. Dengan demikian, putaran motor DC akan berbalik arah jika polaritas
tegangan yang diberikan juga dirubah. Berikut ini adalah sebuah contoh motor
DC-MP tanpa gearbox.
Penggunaan motor gear DC sebagai komponen penggerak didasarkan selain atas putaran
dan torsi yang lebih besar dibandingkan stepper
motor maupun servo motor, juga didasarkan atas ketersediaannya di pasaran
dengan variasi yang banyak dan harga yang murah, walaupun tidak dilengkapi
dengan data-data spesifikasi/parameter motor secara lengkap.
2.6.1 IC
Motor Driver
Untuk men-drive
motor DC digunakan Dual Full-Bridge
Driver tipe L298N Multiwatt 15 keluaran STMicroelectronics
yang berisi dua buah H-Bridge yang mampu mengendalikan motor
DC bertegangan kerja sampai 46 VDC dan arus total sampai 4A. Pengaturan
kecepatan dan singkronisasi antara kedua motor dilakukan dengan cara
pengontrolan lama pulsa aktif (metode PWM - Pulse
Width Modulation) yang dikirimkan ke rangkaian driver motor oleh modul pengendali (mikrokontroler). Lebar pulsa PWM yang dinyatakan dalam Duty Cycle menentukan kecepatan putar
motor DC. Gambar 2.10 mengilustrasikan sinyal PWM versus tegangan ekivalen
liniernya.
Dari Gambar 2.10 menunjukkan bahwa makin
sempit pulsa PWM, tegangan ekivalen liniernya makin kecil. Jika duty cycle 100% maka tegangan ekivalen
linier sama dengan tegangan maksimum pada motor.
2.6.2 Kendali
Motor
MMBe (Motor Mind B enhanced) adalah suatu komponen kontrol motor dc yang
memiliki kemampuan untuk mengontrol satu buah motor dc. Dimana didalam nya
sudah terintegrasi sistem kontrol PI (Proportional
Integral).
Fitur-fitur dari MMBe,
diantaranya :
1. Arus Maksimal 1,75 A (6A Peak) Tegangan Antara
6-36 VDC
2. Frekuensi PWM 242Hz atau 15.5KHz
3. Serial Interface TTL 2.4 KBPS atau 9.6 KBPS
4. 0-65,535Hz
tachometer
5. Kontrol kecepatan Tertutup Proportional integreted
6. Dapat dengan mudah mengakses EEPROM
MMBe
dapat mengontrol sebuah motor DC melalui TTL serial interace. MMBe dapat mengakomodasi boudrate 2.4 Kbps dan 9.6 Kbps, dan dapat diopeasikan menggunakan pulse-width modulation dengan frekuensi 15.5KHz.
Kontrol
kecepatan MMBe dapat menggunakan model increment-decrement
atau menggunakan kontrol propotional
integral untuk memperbaiki error,
model increment akan menaikan
kecepatan apabila kecepatan yang dihasilkan lebih rendah daripada kecepatan
yang diinginkan sedangkan model decrement
akan menurunkan kecepatan apabila kecepatan yang dihasilkan melebihi kecepatan
yang diinginkan sedangkan kontrol proportional integral adalah error sinyal (frekuensi yang di inginkan
dikurangan dengan frekuensi yang dihasilkan) dikalikan dengan ketetapan
proportional kemudian jumlah error
selama waktu tertentu dikalikan dengan ketetapan integral dan dijumlahkan
dengan hasil sebelumnya. Hasil penjumlahan tersebut berupa bilangan 32 bit komplemen 2 yang di konversi menjadi
bilangan desimal antara -255 sampai +255, yang nantinya nilai tersebut
digunakan sebagai nilai pengaturan kecapatan motor. Untuk menggunakan mode PI
direkomendasikan untuk menggunakan frekuensi pada pengaturan 15,5 Khz .
2.6.3 Speed Encoder
Optocoupler terdiri dari
pemancar dan penerima, pada bagian pemancar terdiri atas sebuah led dengan intensitas pancaran dapat
diatur dengan merubah-rubah besaran resistor (220Ω-470Ω) yang terhubung ke
anodanya. Bagian penerima optocoupler
adalah sebuah trasnsistor, ketika
pemancar tidak terhalangi maka output
pada transistor akan berlogika 1 dan
ketika pemancar terhalangi output
pada transistor akan berlogika 0.
Pada shaft tersebut dipasangkan suatu kertas dengan diameter tertentu
yang memiliki pola hitam dan transparan. Ketika pemancar mengenai hitam
(terhalang) output transistor akan
berlogika 0, ketika pemancar mengenai transparan (tidak terhalang) output transistor akan berlogika 1. Bila
motor diberikan catu daya dengan tegangan tertentu yang akan memutarkan motor,
bacaan dari optocoupler akan
mengasilkan pulsa kotak persatuan waktu. Kerapatan dari pulsa yang dihasilkan
bergantung kepada kecepatan putaran motor, semakin cepat putaran motor semakin
rapat pulsa yang dihasilkan.
2.7. Catu Daya
Catu daya memegang peranan yang sangat
penting dalam hal perancangan sebuah robot. Tanpa bagian ini robot
tidak akan berfungsi. Begitu juga bila pemilihan catu daya tidak tepat, maka
robot tidak akan bekerja dengan baik.
Penentuan sistem
catu daya yang akan digunakan ditentukan oleh banyak faktor, diantaranya :
1.
Tegangan
Setiap modul
sensor atau aktuator tidak memiliki tegangan yang sama. Hal ini akan
berpengaruh terhadap disain catu daya. Tegangan tertinggi dari salah satu modul
sensor atau aktuator akan menentukan nilai tegangan catu daya.
2.
Arus
Arus memiliki satuan Ah (Ampere-hour). Semakin besar Ah, semakin lama daya tahan baterai
bila digunakan pada beban yang sama.
3.
Teknologi
Baterai
Baterai isi ulang ada yang dapat diisi hanya
apabila benar-benar kosong, dan ada pula yang dapat di isi ulang kapan saja
tanpa harus menunggu baterai tersebut benar-benar kosong.
Secara umum, ada beberapa jenis dan bentuk
baterai yang dapat digunakan untuk sistem catu daya pada sebuah robot,
diantaranya baterai Nickel Metal Hydride (Ni-MH). Baterai ini mempunyai
teknologi terbaik untuk rechargeable baterai, yakni dapat diisi ulang lebih
dari 400 kali serta memiliki tahanan dalam yang rendah dengan tegangan kerja
sebesar 1.2 volt, sehingga dapat memberikan arus yang relatif besar. Jika digunakan
untuk beban yang berat, baterai ini dapat menjadi panas.
Kapasitas simpan
baterai Ni-MH ini sangat bervariasi,
yakni sampai 2700 mAh. Berikut ini adalah contoh sebuah baterai Ni-MH 2700 mAh.
Untuk pengisian baterai ini dapat dilakukan
kapan saja, namun untuk hasil yang lebih baik, setelah beberapa kali pengisian,
baterai ini harus dikosongkan terlebih dahulu sebelum diisi.
Selain jenis baterai Ni-MH, masih banyak lagi jenis baterai yang tersedia di pasaran
dengan spesifikasi yang beragam dan dapat digunakan untuk catu daya pada sebuah
robot. Diantaranya baterai Ni-CAD,
Alkaline, Lithium, Lead Acid dan sebagainya, yang masing-masing
mempunyai kelebihan dan kekurangannya.
Selain komponen-komponen perangkat keras sebagai penunjang untuk
membentuk sebuah robot cerdas pemadam api, juga harus didukung dengan software-nya. Karena 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 SX48BD 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.8. Basic
Stamp
Instruksi yang dapat digunakan pada editor Basic Stamp relatif cukup banyak dan bergantung dari type dan jenis Basic Stamp yang digunakan. Tabel 2.1 dan Tabel 2.2 merupakan beberapa instruksi-instruksi dasar yang
dapat digunakan pada mikrokontroler Basic
Stamp dengan type BS2SX.
Tabel 2.1. Beberapa
Instruksi Dasar
Instruksi
|
Keterangan
|
DO…LOOP
|
Perulangan
|
GOSUB
|
Memanggil prosedur
|
IF…THEN
|
Percabangan
|
SELECT…CASE
|
Pencabangan
|
FOR..NEXT
|
Perulangan
|
HIGH
|
Menset pin I/O
menjadi 1
|
LOW
|
Menset pin I/O
menjadi 0
|
PAUSE
|
Delay atau waktu tunda
|
PWM
|
Konversi suatu nilai digital ke
keluaran analog lewat pulse-width modulasi
|
COUNT
|
Menghitung jumlah pulsa (0-1-0
atau 1-0-1)
|
PULSOUT
|
Membangkitkan pulsa
|
PULSIN
|
Menerima/membaca pulsa yang diterima
|
GOTO
|
Menuju/loncat ke alamat memori tertentu
|
2.8.1 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.14 berikut ini tampilan jendela program editor Basic Stamp yang berjalan pada sistem
operasi windows.
Gambar 2.14. Tampilan Editor
Basic Stamp
Dari jendela editor Basic Stamp
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 2.15
merupakan bagian menu dan toolbar pada editor Basic Stamp
Setiap file yang dibuka pada program editor Basic Stamp akan dibuatkan tab editor seperti yang terlihat pada
Gambar 2.16 sehingga memudahkan pengguna software
untuk berpindah-pindah dari satu file
ke file yang lain.
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.
2.8.2 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/meng-klik icon
jenis/tipe Basic Stamp dan versi
bahasa PBASIC yang akan digunakan pada toolbar, seperti
yang terlihat pada Gambar 2.18.
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.
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,
diantaranya :
1. Perulangan
Ada beberapa cara perulangan
yang dapat digunakan pada mikrokontroler Basic
Stamp, diantaranya :
Ø
FOR…NEXT (perulangan yang dibatasi)
Contoh :
FOR i = 1 to 10 Awal Perulangan
SEROUT motorkananout,BAUD,[$55,SETDC,220]
SEROUT motorkiriout,BAUD,[$55,SETDC,190] Isi Perulangan
Pause 20
NEXT
Akhir Perulangan
Ø
DO…LOOP
(perulangan secara terus menerus)
Contoh :
DO Awal Perulangan
SEROUT motorkananout,BAUD,[$55,SETDC,220]
SEROUT motorkiriout,BAUD,[$55,SETDC,190] Isi Perulangan
Pause 20
LOOP
Akhir Perulangan
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
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
Statement(s)
ENDIF
Contoh
:
IF
cmkiridepan < 14 THEN
SEROUT motorkiriout,baud,[$55,3,145]
SEROUT motorkananout,baud,[$55,3,120]
ELSEIF
cmkiridepan > 17 THEN
SEROUT motorkananout,baud,[$55,3,147]
SEROUT
motorkiriout,baud,[$55,3,120]
ENDIF
Ø
SELECT…CASE
Syntax : SELECT Expression
CASE Condition(s)
Statement(s)
CASE Condition(s)
Statement(s)
CASE ELSE
Statement(s)
ENDSELECT
Contoh
: SELECT ruang
CASE 1
derajat=15
derajatmax=35
CASE 2
derajat=15
derajatmax=38
CASE ELSE
derajat=12
derajatmax=33
ENDSELECT
Dalam pemilihan instruksi percabangan yang akan digunakan disesuaikan
dengan kebutuhan dan bentuk percabangan yang akan di buat.
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 :
rem: Nama Prosedur
SEROUT motorkananout,baud,[$55,0]
SEROUT
motorkiriout,baud,[$55,0] ] Isi Prosedur
PAUSE 50
RETURN keluar dari prosedur dan
kembali ke baris instruksi selanjutnya
Pemanggilan
prosedur
……………….. baris instruksi lainnya
………………..
GOSUB maju baris instruksi
pemanggilan prosedur
………………..
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 4 mengeset port 4 menjadi
high
LOW 5 mengeset port 5 menjadi
low
IF 6 = 1 THEN membaca port 6 apakah high
IF 7 = 0 THEN membaca port 7 apakah low
2.9
Motor Mind Control Software
Software ini digunakan untuk
mengkonfigurasikan MMBe. Dengan software
ini kita dapat menjalankan perintah-perintah yang dimilik oleh MMBe seperti
SPDCON, SETDC, TACH , COUNT , dll. Dengan
software ini pun kita dapat
mengkonfigurasikan sistem kontrol motor PI. Untuk menghubungkan MMBe dengan PC,
kita hanya perlu menghubungkan jalur komunikasi serial diantara keduanya.
Perintah-perintah
tersebut yang nantinya akan dikirimkan oleh mikrokontroler secara serial,
masing-masing intruksi mempunya fungsi
tersendiri. Baud rate
komunikasi yang digunakan ada dua pilihan kecepatan yaitu 2.4 Kbps dan 9.6
Kbps. Settingan awal menggunakan kecepatan 2.4 Kbps. Tiap byte data yang dikirimkan tidak akan lebih dari 500μs.
Tidak ada komentar:
Posting Komentar