Perancangan Alat Kontrol Kran Air Wudhu Menggunakan Sistem Sensor Ultrasonik US-016 Berbasis ATmega8535

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

= 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