19
BAB 2
TINJAUAN PUSTAKA
2.1 Sensor Ultrasonik Gelombang ultrasonik merupakan gelombang akustik yang memiliki frekuensi mulai 20 kHz hingga sekitar 20 MHz. Frekuensi kerja yang digunakan dalam gelombang ultrasonik bervariasi tergantung pada medium yang dilalui, mulai dari kerapatan rendah pada fasa gas, cair hingga padat. Jika gelombang ultrasonik berjalan melaui sebuah medium, Secara matematis besarnya jarak dapat dihitung sebagai berikut: s = v.t/2…………….. (1) s adalah jarak dalam satuan meter, v adalah kecepatan suara yaitu 344 m/detik dan t adalah waktu tempuh dalam satuan detik. Ketika gelombang ultrasonik menumbuk suatu penghalang maka sebagian gelombang tersebut akan dipantulkan sebagian diserap dan sebagian yang lain akan diteruskan. Sensor ultrasonik adalah sebuah sensor yang mengubah besaran fisis (bunyi) menjadi besaran listrik. Pada sensor ini gelombang ultrasonik dibangkitkan melalui sebuah benda yang disebut piezoelektrik. Piezoelektrik ini akan menghasilkan gelombang ultrasonik dengan frekuensi 40 kHz ketika sebuah osilator diterapkan pada benda tersebut. Rangkaian penyusun sensor ultrasonik ini terdiri dari transmitter, reiceiver, dan komparator. Selain itu, gelombang ultrasonik dibangkitkan oleh sebuah kristal tipis bersifat piezoelektrik. Modul sensor Ultrasonik ini dapat mengukur jarak antara 3 cm sampai 3 m. Keluaran dari modul sensor ultrasonik ini berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya yang dihasilkan modul sensor ultrasonik ini bervariasi dari 115 uS sampai 18,5 mS. Secara prinsip modul sensor ultrasonik ini terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya.
Universitas Sumatera Utara
20
Sensor ultrasonik bekerja berdasarkan sistem kerja gelombang, dimana gelombang yang digunakan adalah gelombang suara. Waktu untuk pada saat gelombang suara itu dibangkitkan dan dipantulkan kembali oleh receiver akan membutuhkan waktu.Waktu itulah yang akan menjadi data untuk menghitung jarak yang akan kita ukur karena besaran kecepatan telah ada yaitu kecepatan suara. Dengan kata lain sensor ultrasonik bekerja berdasarkan prinsip pantulan gelombang suara. Berikut adalah spesifikasi sensor ultrasonik : a. Power Suply : 5 Volt b. Frekuensi Ultrasonik : 40 KHz c. Jarak maksimal : 400 cm d. Jarak minimal : 2 cm e. Trigger Pulse Width : 10 µs f. Dimensi : 43 x 20 x 15 Sensor ultrasonik bekerja dengan mengirimkan gelombang suara menuju target dan mengukur waktu yang diperlukan untuk pulsa melenting kembali. Waktu yang diperlukan gaung untuk kembali ke sensor berbanding lurus dengan jarak atau tinggi dari objek, sebab suara mempunyai kecepatan konstan. Sinyal gaung yang kembali secara elektronis diubah menjadi output 4mA sampai dengan 20mA, yang mensuplai kecepatan aliran yang dimonitor ke alat kontrol eksternal. Objek padat, cair, butiran dan tekstil dapat dideteksi dengan sensor ultrasonik. Reflektifitas suara dari permukaan cairan sama dengan objek padat. Tekstil dan buih menyerap gelombang suara dan mengurangi rentang pensensoran.
2.1.1 Prinsip kerja sensor ultrasonik Ketika gelombang ultrasonik melewati suatu objek, sebagian dipantulkan, sebagian diteruskan dan sebagian lagi diserap. Sensor itu menghasilkan gelombang suara dan memancarkannya sehingga mengenai objek yang berada didepannya kemudian pantulan gelombang suara dari objek yang berada didepannya ditangkap dengan perbedaan waktu yang digunakan sebagai dasar perhitungan jarak objek. Perbedaan waktu pancaran dan waktu pantulan berbanding lurus dengan jarak objek yang memantulkannya. Jenis objek yang di indranya dapat berupa zat padat, cair dan butiran.
Universitas Sumatera Utara
21
2.1.2 Timing Diagram sensor Ultrasonik Timing diagram sensor ultrasonik ditunjukkan pada gambar 2.2 dibawah ini. Kita hanya perlu menyediakan pulsa 10 μs untuk memicu masukan atau masukan trigger untuk memulai dan kemudian modul akan mengirim 8 siklus gelombang ultrasonik 40 KHz dan meningkatkan gaungnya (echo). Echo adalah jarak objek yang merupakan lebar pulsa dan jarak pada setiap bagiannya. Rentang melalui interval waktu antara pengiriman sinyal pemicu dan penerima sinyal echo dapat dihitung. Persamaannya adalah level waktu paling tinggi dikalikan dengan kecepatan (340m/s) dibagi dua.
Gambar 2.1 Timing diagram pengoperasian sensor ultrasonik Us-016 Jenis sensor yang digunakan pada penelitian ini adalah sensor Ultrasonik tipe Us-016. Jarak tangkap modul Sensor ultrasonik Us-016 dapat mencapai 2 cm ~ 3m non-kontak pengukuran fungsi jarak, tegangan listrik 5V, beroperasi pada 3.8mA, mendukung tegangan output analog, stabil dan dapat diandalkan. Modul ini dapat diatur untuk rentang yang berbeda tergantung pada aplikasi (pengukuran jarak maksimum untuk setiap 1m dan 3m); ketika pin rentang mengambang jarak tempuhnya adalah 3m. jarak US-016 dapat dikonversi ke tegangan output analog, tegangan output sebanding dengan jarak yang diuku
Universitas Sumatera Utara
22
(a)
(b) Gambar 2.2 Sensor Ultrasonik Us-016 (a) tampak depan (b) tampak belakang
Sensor ultrasonik us-016 memiliki 4 PIN, dari gambar dapat dijelaskan dari kiri ke kanan ke-empat PIN sebagai berikut:
PIN 1 : VCC
menyambungkan ke VCC 5 volt
PIN 2 : Range
ketika pin dalam keadaan High, jaaraknya 3 m. ketika
pin dalam keadaan low, jaraknya 1 m.
Universitas Sumatera Utara
23
PIN 3 : Out
Analog tegangan output pin (out) , tegangan analog
sebanding dengan jarak pengukuran, rentang output adalah 0 ~ Vcc
PIN 4 : Ground
Terhubung ke sirkuit eksternal.
2.2 ATMega8535
ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah. Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan. Fitur-fitur tersebut antara lain: 1.
Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D
2.
ADC (Analog to Digital Converter)
3.
Tiga buah Timer/Counter dengan kemampuan perbandingan
4.
CPU yang terdiri atas 32 register
5.
Watchdog Timer dengan osilator internal
6.
SRAM sebesar 512 byte
7.
Memori Flash sebesar 8kb dengan kemampuan read while write
8.
Unit Interupsi Internal dan External
9.
Port antarmuka SPI untuk men-download program ke flash
10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi 11. Antarmuka komparator analog 12. Port USART untuk komunikasi serial. Mikrokontroler merupakan sebuah single chip yang didalamya telah dilengkapi dengan CPU (Central Prosessing Unit); RAM ( RandomAcces Memory); ROM ( Read only Memory), Input, dan Output, Timer\ Counter, Serial com port secara spesifik digunakan untuk aplikasi –aplikasi control dan buka aplikasi serbaguna. Mikrokontroler umumnya bekerja pada frekuensi 4MHZ-40MHZ. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggerak
Universitas Sumatera Utara
24
motor. Read only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, sesuai dengan susunan MCS51. Memory penyimpanan program dinamakan sebagai memory program.Random Acces Memory (RAM) isinya akan begitu sirna IC kehilangan catudaya dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data. Mikrokontroler
biasanya
dilengkapi
dengan
UART
(Universal
Asychoronous Receiver Transmitter) yaitu port serial komunikasi serial asinkron, USART (Universal Asychoronous\Asy choronous Receiver Transmitter) yaitu port yang digunakan untuk komunikasi serial asinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari Uart, SPI ( Serial Port Interface), SCI ( Serial Communication Interface ), Bus RC ( Intergrated circuit Bus ) merupakan 2 jalur yang terdapat 8 bit, CAN ( Control Area Network ) merupakan standard pengkabelan SAE (Society of Automatic Enggineers). Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program program pengguna disimpan dalam ruang RAM yang relatif besar,sedangkan rutin-rutin antar muka pernagkat keras disimpan dalm ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAMnya yang besar artinya program control disimpan dalam ROM yang ukurannya relative lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sedrhana sementara, termasuk register-register yang digunakan pada Microctroller yang bersangkutan. Mikrokontroler saat ini sudah dikenal dan digunakan secar luas pada dunia industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai versi mikrokontroler yang dapat dibeli dengan harga yang relative murah. Hal ini dikarenakan produksi misal yang dilakukan oleh para produse chip seperti Atmel, Maxim, dan Microchip. Mikrokontroler saat ini merupakan chip utama pada hampir setiap peralatan elektronika canggih. Alat-alat canggih pun sekarang ini sangat bergantung pada kemampuan mikrokontroler tersebut.
Universitas Sumatera Utara
25
2.2.1 Arsitektur ATMega8535
Gambar 2.3 Diagram Blok Fungsional ATmega8535
Universitas Sumatera Utara
26
2.2.2 Fitur ATMega 8535 Kapabilitas detail dari ATMega8535 adalah sebagai berikut : 1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16MHz. 2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte , dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. 3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel. 4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat penggunaan daya listrik.
2.2.3 Konfigurasi ATMega 8535 Konfigurasi pin ATMega 8535 bisa dilihat pada gambar 2.2. di bawah ini. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega 8535 sebagai berikut: 1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 2. GND merupakan pin ground. 3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC. 4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus , yaitu Timer/Counter, komparator analog, dan SPI. 5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilat. 6. Port D (PD0.. PD7 merupakan pin I/O dua arah dan fungsi khusus, yaitu komparator analog, interupsi eksternal, komunikasi serial. 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREF merupakan pin masukan tegangan referensi ADC.
Universitas Sumatera Utara
27
Gambar 2.4 Pin ATMega8535
Berikut adalah penjelasan fungsi tiap kaki. 1. PORT A Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor ( dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D coverter.
2. PORT B Merupakan 8 bit directional port I/O. setiap pinnya dapat menyediakan internal pull-up resistor ( dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B
Universitas Sumatera Utara
28
juga memiliki untuk fungsi\fungsi alternatif khusus seperti yang terlihat pada tabel berikut. Tabel 2.1. Konfigurasi Pin Port B ATMega 8535 PORT PIN
FUNGSI KHUSUS
PB 0
T0 = timer/ counter 0 external counterinput
PB 1
T1 = timer/counter 0 external counter input
PB 2
AINO = analog comparator positive input
PB 3
AINI =analog comparator negative input
PB 4
SS = SPI slave select input
PB 5
MOSI = SPI bus master output/slave input
PB 6
MISO = SPI bus master input/slave output
PB 7
SCK = SPI bus serial clock
3. PORT C Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor ( dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, DUA pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscilator untuk timer/counter 2.
4. PORT D Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor ( dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D
Universitas Sumatera Utara
29
yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi\fungsi alternatif khusus. Tabel 2.2.Konfigurasi Pin Port D ATmega8535 PORT PIN
FUNGSI KHUSUS
PD 0
RDX (UART input line)
PD 1
TDX (UART output line)
PD 2
INT0 ( external interrupt 0 input )
PD 3
INT1 ( external interrupt 1 input )
PD 4
OC1B (Timer/Counter1 output compareB match output)
PD 5
OC1A (Timer/Counter1 output compareA match output)
PD 6
ICP (Timer/Counter1 input capture pin)
PD 7
OC2 (Timer/Counter2 output compare match output)
5. RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset. 6. XTAL1 XTAL1 adalah masukan ke inverting oscilator amplifier dan input ke internal clock operating circuit. 7. XTAL2 XTAL2 adalah output dari inverting oscilator amplifier. 8. Avcc Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter. 9. AREF AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasional ADC, suatu level tegangan antara AGND dan Avcc harus diberikan ka kaki ini. 10. AGND
Universitas Sumatera Utara
30
AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki analog ground yang terpisah.
2.2.4. Peta Memori AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Internal. Register keperluan umum menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan mengatur fungsi terhadap
berbagai
peripheral
mikrokontroler,
seperti
contoh
register,
timer/counter, fungsi-fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat tabel ini. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F. Konfigurasi memori dapat kita ketahui dimana, memori program yang terletak dalam flash PEROM tersususn dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit, AVR ATMega8535 memiliki KByte 12-bit program Counter (PC) sehingga mampu mengalamati isi flash. Selain itu AVR ATMega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000sampai $1FF. Dibawah ini adalah gambar memori program AVR ATMega8535.
2.2.5. Status register (SREG) Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan, ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.
Universitas Sumatera Utara
31
Gambar 2.5 Status Register ATMega 8535
Port I/O pada mikrokontroller ATmega8535 dapat difungsikan sebagai input dan juga sebagai output dengan keluaran high atau low.Untuk mengatur fungsi portI/O sebagai input ataupun output, perlu dilakukan setting pada DDR dan port. Logika port I/O dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O)untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkan output high. Pengubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu. I/O merupakan bagian yang paling menarik dan penting untuk diamati karena I/O merupakan bagian yang bersangkutan dengan komunikasi mikrokontroller dengan dunia luar. Selain port I/O, bagian ini juga menyediakan informasi mengenai berbagai peripheral mikrokontroller yang lain, seperti ADC, EEPROM, UART, dan Timer. Komponen-komponen yang tercakup dalam workspace I/O meliputi berbagai register berikut : 1. AD_CONVERTER; register: ADMUX, ADCSR, ADCH, ADCL 2. ANALOG_COMPARATOR; register: ACSR 3. CPU; register: SREG, SPH, SPL, MCUCR, MCUCSR, OSCCAL, SFIOR, SPMCR. 4. EEPROM; register: EEARH, EEARL, EEDR, EECR 5. External_Interrupt; register: GICR, GIFR, MCUCR, MCUCSR 6. PORTA; register: PORTA, DDRA, dan PINA 7. PORTB; register: PORTB, DDRB, dan PINB 8. PORTC; register: PORTC, DDRC, dan PINC 9. PORTD; register: PORTD,DDRD, dan PIND 10. SPI; register: SPDR, SPSR, SPCR 11. TIMER_COUNTER_0; register: TCCR0, TCNT0, OCR0, TIMSK, TIFR, SFIOR
Universitas Sumatera Utara
32
12. TIMER _COUNTER_1; register: TIMSK, TIFR, TCCR1A, TCCR1B, TCNT1H, TCNT1L, OCR1AH, OCR1AL, OCR1BL, ICR1H, 1CR1L 13. TIMER_COUNTER_2; register: TIMSK, TIFR, TCRR2, TCNT2, OCR2, ASSR, SFIOR 14. TWI; register: TWBR, TWCR, TWSR, TWDR, TWAR 15. USART; register: UDR, UCSRA, UCSRB, UCSRC, UBRRH, UBRRL 16. WATCDOG; register: WDTCR Adapun komponen-komponen yang dapat diamati melalui I/O pada workspace sebagai berikut : 1. Isi register - R0 sampai dengan R15 - R16 sampai dengan R13 2. Processor - Stack pointer - Program counter - Cycle pointer - X_register - Y_register - Z_register - Frequency - Stop Watch 3. I/O AVR Adapun Instruksi I/O adalah sebagai berikut : 1. in; membaca data I/O Port atau internal peripheral register {Timers, UART, ke dalam register} 2. Out; menulis data sebuah register ke I/O Port atau internal peripheral register. 3. Idi (load immediate); untuk menulis konstanta ke register sebelum konstanta itu dituliskan ke I/O port. 4. Sbi (set bit in I/O); untuk membuat logika high satu bit I/O register. 5. Cbi ( clear bit in I/O); untuk membuat logika low satu bit I/O register.
Universitas Sumatera Utara
33
6. Sbic (skip if bit in I/O is cleared); untuk mengecek apakah bit I/O register clear.Jika ya, skip satu perintah dibawahnya. 7. Sbis (skip if bit in I/O is set); untuk mengecek apakah bit I/O register set. Jika ya, skip satu perintah dibawahnya. Data yang dipakai dalam mikrokontroller ATmega8535 dipresentasikan dalam sistem bilangan biner, desimal, dan bilangan heksadesimal. Data yang terdapat di mikrokontroller dapat diolah dengan berbagai operasi aritmatik (penjumlahan, pengurangan, dan perkalian) maupun operasi nalar (AND, OR, dan EOR). AVR ATmega8535 memiliki tiga buah timer, yaitu: 1. Timer/counter 0 (8 bit) 2. Timer/ counter 1 (16 bit) 3. Timer/counter 2 (8 bit) Karena ATmega8535 memiliki 8 saluran ADC maka untuk keperluan konversi sinyal analog menjadi data digital yang berasal dari sensor dapat langsung dilakukan prosesor utama. Beberapa karakteristik ADC internal ATmega8535 adalah 1. Mudah dalam pengoperasian. 2. Resolusi 10 bit. 3. Memiliki 8 masukan analog. 4. Konversi pada saat CPU sleep. 5. Interrupt waktu konversi selesai.
2.3 Bahasa BASIC Menggunakan BASCOM-AVR BASCOM-AVR adalah program BASIC Compiler berbasis Windows untuk mikrokontroler keluarga AVR seperti ATmega, dan yang lainnya. BASCOM-AVR merupakan program dengan bahasa tingkat tinggi BASIC yang dikembangkan dan dikeluarkan oleh MCS Elektronika. Penggunaan BASCOMAVR sudah sangat luas di kalangan instrumentasi khususnya pada bahasa pemrograman yang memepermudah para pengguna.
Universitas Sumatera Utara
34
2.3.1 Karakteristik Dalam BASCOM Dalam progrm BASCOM, karakter dasarnya terdiri atas karakter alphabel (A-Z dan a-z), karakter numeric (0-9), dan karakter spesial (lihat tabel dibawah ini). Tabel 2.3 Karakter Spesial karakter
Nama Blank
„
Apostrophe
*
Asterisk (symbol perkalian)
+
Plus sign
,
Comma
-
Minus sign
.
Period (decimal po int) Slash (division symbol) will be handled as\
/ :
Colon
“
Double quotation mark
;
Semicolon
<
Less than
=
Equal sign (assignment symbol or relational operator)
>
Greater than
\
Backspace (integer or word division symbol)
2.3.2 Tipe Data Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya tampungannya. Hal ini berhubungan denga penggunaan memori mikrokontroler. Berikut ini adalah tipe data pada BASCOM :
Universitas Sumatera Utara
35
Tabel 2.4 Tipe data BASCOM Tipe Data
Ukuran (byte)
Range
Bit
1/8
-
Byte
1
0 – 255
Integer
2
-32,768 - +32,767
Word
2
0 – 65535
Long
4
-214783648 - +2147483647
Single
4
-
String
hingga 254 byte
-
2.3.3 Variabel Variabel dalam sebuah pemrograman
berfungsi sebagai tempat
penyimpanan atau penampungan data sementara, misalnya menampung hasil perhitungan, menampung data hasil pembacaan register, dan lainnya. Variabel merupakan pointer yang menunjukkan pada alamat memori fisik dan mikrokontroler. Dalam BASCOM, ada beberapa aturan dalam penamaan sebuah variabel: a. Nama variabel maksimum terdiri atas 32 karakter. b. Karakter bisa berupa angka atau huruf. c. Nama variabel harus dimula dengan huruf. d. Variabel tidak boleh menggunkan kata e.
kata yang digunakan oleh BASCOM sebagai perintah, pernyataan,
internal register, dan nama operator (AND, OR, DIM, dan lain-lain) Sebelum digunakan maka variabel harus dideklarasikan terlebih dahu. Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variabel. Cara pertama adalah menggunakan pernyataan „DIM‟ diikuti nama tipe datanya. Contohnya pendeklarasian menggunkan DIM sebagai berikut: Dim nama as byte Dim tombol1 as integer
Universitas Sumatera Utara
36
Dim tombol2 as word Dim tombol3 as word Dim tombol4 as word 2.3.4 Alias Dengan menggunkan alias, variabel yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan untuk mengganti nama variabel yang baku, seperti port mikrokontroler. Dim LedBar as byte Led1 as LedBar.0 Led2 as LedBar.1 Led3 as LedBar.2 Dalam deklarasi diatas, variabel yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan untuk mengganti nama variabel yang baku, seperti port mikrokontroler. Dim LedBar as byte Led1 as LedBar.0 Led2 as LedBar.1 Led3 as LedBar.2
2.3.5 Konstanta Dalam BASCOM, selain variabel kita mengenal pula konstanta. Konstansa merupakan variabel pula, perbedaannya dengan variabel adalah nilai yang terkandung tetap. Dengan konstanta, kode program yang kita buat akan lebih mudah dibaca dan dapat mencegah kesalahan penulisan pada program kita. Misalnya, kita akan lbih mudah menulis phi dari pada menulis 3,14159867. Sama seperti variabel, agar konstanta bisa dikenal oleh program, maka harus dideklarasikan terlebih dahulu. Berikut adalah pendeklarasikan sebuah konstanta. Dim A As Const 5 Dim B1 As Const &B1001 Cara lain yang paling mudah: Const Cbyte = &HF Const Cint = -1000
Universitas Sumatera Utara
37
Const Csingle = 1.1 Const Cstring = “test”
2.3.6 Array Dengan array, kita bisa menggunakan sekumpulan variabel dengan nama dan tipe yang sama. Untuk mengakses variabel tertentu dalam array, kita harus menggunakan indeks. Indeks harus berupa angka dengan tipe data byte, integer, atau word. Artinya nilai maksimal sebuah indeks sebesar 65535. Proses pendeklarasikan sebuah array hampir sama dengan variabel, namun perbedaannya kita mengikuti jumlah elemennya. Berikut adalah contoh pemakaian array: Dim kelas(10) as byte Dim c as Integer For C = 1 To 10 a(c) = c p1 = a(c) Next Program diatas membuat sebuah array dengan nama „kelas‟ yang berisi 10 elelmen (1-10) dan kemudian seluruh elemennya diisikan dengan nilai c yang berurutan. Untuk pembacanya kita menggunakan indeks dimana elemen disimpan. Pada program diatas, elemen-elemen arraynya dikeluarkan ke Port 1 dari mikrokontroler. 2.3.7 Operasi-Operasi Dalam BASCOM Pada
bagian
ini
akan
dibahas
tentang
cara
menggabungkan,
memodifikasi, membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan menggunkan operator-operator yang tersedia di BASCOM dan
bagaimana
sebuah pernyataan terbentuk dan dihasilkan dari operator-
operator berikut: a. Operator Aritmatika Operator digunakan dalam perhitungan aritmatika meliuti + (tambah), (kurang), / (bagi), dan * (kali). b. Operator Relasi
Universitas Sumatera Utara
38
Operator berfungsi membandingkan nilai sebuah angka. Hasilnya dapat digunakan untuk membuat keputusan sesuai dengan program yang kita buat. Operator relasi meliput i: Tabel 2.5 Tabel Operator Relas
Operator
Relasi
Pernyataan
=
Sama dengan
X=Y
<>
Tidak sama dengan
X <> Y
<
Lebih kecil dari
X
>
Lebih besar dari
X>Y
<=
Lebih kecil atau sama dengan
X <= Y
>=
Lebih besar atau sama dengan
X >= Y
c. Operator Logika Operator logika
digunakan untuk
menguji sebuah
kondisi atau
memanipulasi bit dan operasi bolean. Dalam BASCOM, ada empat buah operator logika, yaitu AND, OR , NOT, dan XOR. Operator logika bisa pula digunakan untuk menguji sebuah byte dengan pola bit tertentu, sebagai contoh: Dim A As Byte A = 63 And 19 PPRINT A A = 10 or 9 PRTINT A Output 16 11
d.
Operator Fungsi Operator fungsi digunakan untuk melengkapi operator yang sederhana.
Universitas Sumatera Utara
39
2.4 Optocoupler 2.4.1 Pengertian Optocoupler Optocoupler adalah suatu piranti yang terdiri dari 2 bagian yaitu transmitter dan receiver, yaitu antara bagian cahaya dengan bagian deteksi sumber cahaya terpisah. Biasanya optocoupler digunakan sebagai saklar elektrik, yang bekerja secara otomatis. Optocoupler atau optoisolator merupakan komponen penggandeng (coupling) antara rangkaian input dengan rangkaian output yang menggunakan media cahaya (opto) sebagai penghubung. Dengan kata lain, tidak ada bagian yang konduktif antara kedua rangkaian tersebut. Optocoupler sendiri terdiri dari 2 bagian, yaitu transmitter (pengirim) dan receiver (penerima). 1. Transmiter Merupakan bagian yang terhubung dengan rangkaian input atau rangkaian kontrol. Pada bagian ini terdapat sebuah LED infra merah (IR LED) yang berfungsi untuk mengirimkan sinyal kepada receiver. Pada transmitter dibangun dari sebuah LED infra merah. Jika dibandingkan dengan menggunakan LED biasa, LED infra merah memiliki ketahanan yang lebih baik terhadap sinyal tampak. Cahaya yang dipancarkan oleh LED infra merah tidak terlihat oleh mata telanjang. 2. Receiver Merupakan bagian yang terhubung dengan rangkaian output atau rangkaian beban, dan berisi komponen penerima cahaya yang dipancarkan oleh transmitter. Komponen penerima cahaya ini dapat berupa photodioda atapun phototransistor. Pada bagian receiver dibangun dengan dasar komponen phototransistor. Phototransistor merupakan suatu transistor yang peka terhadap tenaga cahaya. Suatu sumber cahaya menghasilkan energi panas, begitu pula dengan spektrum infra merah. Karena spekrum infra mempunyai efek panas yang lebih besar dari cahaya tampak, maka phototransistor lebih peka untuk menangkap radiasi dari sinar infra merah. Jika dilihat dari penggunaannya, optocoupler biasa digunakan untuk mengisolasi common rangkaian input dengan common rangkaian output. Sehingga supply tegangan untuk masing-masing rangkaian tidak saling terbebani dan juga untuk mencegah kerusakan pada rangkaian kontrol (rangkaian input).
Universitas Sumatera Utara
40
Gambar 2.6 Bentuk fisik Sensor Optocoupler
Optocoupler merupakan gabungan dari LED infra merah dengan fototransistor yang terbungkus menjadi satu chips. Cahaya infra merah termasuk dalam gelombang elektromagnetik yang tidak tampak oleh mata telanjang. Sinar ini tidak tampak oleh mata karena mempunyai panjang gelombang berkas cahaya yang terlalu panjang bagi tanggapan mata manusia. Sinar infra merah mempunyai daerah frekuensi 1 x 1012 Hz sampai dengan 1 x 1014 GHz atau daerah frekuensi dengan panjang gelombang 1μm – 1mm. LED infra merah ini merupakan komponen elektronika yang memancarkan cahaya infra merah dengan konsumsi daya sangat kecil. Jika diberi prasikap maju, LED infra merah yang terdapat pada optocoupler akan mengeluarkan panjang gelombang sekitar 0,9 mikrometer. Proses terjadinya pancaran cahaya pada LED infra merah dalam optocoupler adalah sebagai berikut. Saat dioda menghantarkan arus, elektron lepas dari ikatannya karena memerlukan tenaga dari catu daya listrik. Setelah elektron lepas, banyak elektron yang bergabung dengan lubang yang ada di sekitarnya (memasuki lubang lain yang kosong). Pada saat masuk lubang yang lain, elektron melepaskan tenaga yang akan diradiasikan dalam bentuk cahaya, sehingga dioda akan menyala atau memancarkan cahaya pada saat dilewati arus. Cahaya infra merah yang terdapat pada optocoupler tidak perlu lensa untuk memfokuskan cahaya karena dalam satu chip mempunyai jarak yang dekat dengan penerimanya. Pada optocoupler yang bertugas sebagai penerima cahaya infra merah adalah fototransistor. Fototransistor merupakan komponen elektronika yang berfungsi
Universitas Sumatera Utara
41
sebagai detektor cahaya infra merah. Detektor cahaya ini mengubah efek cahaya menjadi sinyal listrik, oleh sebab itu fototransistor termasuk dalam golongan detektor optik. Fototransistor memiliki sambungan kolektor–basis yang besar dengan cahaya infra merah, karena cahaya ini dapat membangkitkan pasangan lubang elektron. Dengan diberi prasikap maju, cahaya yang masuk akan menimbulkan arus pada kolektor. Fototransistor memiliki bahan utama yaitu germanium atau silikon yang sama dengan bahan pembuat transistor. Tipe fototransistor juga sama dengan transistor pada umumnya yaitu PNP dan NPN. Perbedaan transistor dengan fototransistor hanya terletak pada rumahnya yang memungkinkan cahaya infra merah mengaktifkan daerah basis, sedangkan transistor biasa ditempatkan pada rumah logam yang tertutup. Cahaya infra merah termasuk dalam gelombang elektromagnetik yang tidak tampak oleh mata telanjang. Sinar ini tidak tampak oleh mata karena mempunyai panjang gelombang berkas cahaya yang terlalu panjang bagi tanggapan mata manusia. Simbol optocoupler seperti terlihat pada Gambar 2.6.
Gambar 2.7 Simbol Optocoupler
2.4.2 Prinsip Kerja dari Rangkaian Optocoupler Prinsip kerja dari rangkaian Optocoupler adalah sebagai berikut : 1. Jika antara phototransistor dan LED terhalang maka phototransistor tersebut akan off sehingga output dari kolektor akan berlogika high.
Universitas Sumatera Utara
42
2. Sebaliknya jika antara phototransistor dan LED tidak terhalang maka phototransistor dan LED tidak terhalang maka phototransistor tersebut akan on sehingga output-nya akan berlogika low.
2.5 Relay Dalam dunia elektronika, relay dikenal sebagai komponen yang dapat mengimplementasikan logika switching. Sebelum tahun 70an, relay merupakan “otak” dari rangkaian pengendali. Baru setelah itu muncul PLC yang mulai menggantikan posisi
relay.
Relay yang paling sederhana
ialah
relay
elektromekanis yang memberikan pergerakan mekanis saat mendapatkan energi listrik. Secara sederhana relay elektro-mekanis ini didefinisikan sebagai berikut : • Alat yang menggunakan gaya elektromagnetik untuk menutup (atau membuka) kontak saklar. • Saklar yang digerakkan (secara mekanis) oleh daya/energi listrik. Secara umum, relay digunakan untuk memenuhi fungsi – fungsi berikut : - Remote control : dapat menyalakan atau mematikan alat dari jarak jauh - Penguatan daya : menguatkan arus atau tegangan - Pengatur logika kontrol suatu sistem Relay terdiri dari coil dan contact, coil adalah gulungan kawat yang mendapat arus listrik, sedang contact adalah sejenis saklar yang pergerakannya tergantung dari ada tidaknya arus listrik di coil. Contact ada 2 jenis : Normally Open (kondisi awal sebelum diaktifkan open), dan Normally Closed (kondisi awal sebelum diaktifkan close). Secara sederhana berikut ini prinsip kerja dari relay : Kontak Normally Open akan membuka ketika tidak ada arus mengalir pada kumparan, tetapi tertutup secepatnya setelah kumparan menghantarkan arus atau diberi tenaga. Kontak normally Close akan tertutup apabila kumparan tidak diberi tenaga dan membuka ketika kumparan diberi daya. Masing-masing kontak biasanya digambarkan sebagai kontak yang tampak dengan kumparan tidak diberi tanaga atau daya.
Universitas Sumatera Utara
43
Gambar 2.8 Skema relay elektromekanik
Universitas Sumatera Utara