Anda di halaman 1dari 33

BAB 2

LANDASAN TEORI

2.1 Dasar Teori

Telemetri suhu dan kelembaban memberikan kemudahan dalam melakukan


pengukuran jarak jauh dengan pemantauan dari tempat yang aman dan
memungkinkan. Pengiriman informasi pada sistem telemetri ini dilakukan secara
wireless menggunakan gelombang radio.

2.2 Mikrokontroler ATMega8535

Mikrokontroler adalah pusat kerja dari suatu sistem elektronika seperti halnya
mikroprosesor sebagai otak komputer. Adapun nilai plus bagi mikrokontroler adalah
terdapatnya memori dan port input/output dalam suatu kemasan IC yang kompak.
Kemampuannya yang programmable, fitur yang lengkap seperti ADC internal,
EEPROM internal, port I/O, komunikasi serial. Juga harga yang terjangkau
memungkinkan mikrokontroler digunakan pada berbagai sistem elektronik, seperti
pada robot, automasi industri, sistem alarm, peralatan telekomunikasi, hingga sistem
keamanan. Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua
instruksi dikemas dalam kode 16 bit dan sebagian besar instruksi dalam 1 (satu) siklus
clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. Hal ini
terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda.
AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri
MCS51 berteknologi CISC (Complex Instruction Set Computing). Secara umum,
AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga
AT90Sxx, keluarga ATMega, dan AT86RFxx. Pada dasarnya, yang membeda-
bedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi
arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hamper sama. Piranti
dapat diprogram secara in-system programming (ISP) dan dapat diprogram berulang-
ulang selama 10.000 kali baca/tulis didalam sistem.

Universitas Sumatera Utara


2.2.1 Arsitektur ATMega8535

Gambar 2.1 Blok Diagram Fungsional ATMega853

Dari gambar tersebut dapat dilihat bahwa ATMega8535 memiliki bagian


sebagai berikut:

1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D
2. ADC 10 bit sebanyak 10 saluran.
3. Tiga buah Timer/Counter dengan kemampuan pembandingan.

Universitas Sumatera Utara


4. CPU yang terdiri atas 32 buah register.
5. Watchdog Timer dengan osilator internal.
6. SRAM sebesar 512 byte.
7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
8. Unit interupsi internal dan eksternal.
9. Port antarmuka SPI.
10. EEPROM sebesar 512 byte yang dapat deprogram saat operasi.
11. Antarmuka komparator analog.
12. Port USART untuk komunikasi serial.

2.2.2 Fitur ATMega8535

Kapabilitas detail dari ATMega8535 adalah sebagai berikut:

1. Sistem processor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.


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 resolusi 10 bit sebanyak 8 channel.
4. Port komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
5. Mode Sleep untuk penghematan penggunaan daya listrik.

2.2.3 Konfigurasi Pin ATMega8535

Konfigurasi pin ATMega8535 dapat dilihat pada gambar di bawah ini:

Gambar 2.2 Pin ATMega8535

Universitas Sumatera Utara


Dari gambar diatas dapat dijelaskan secara fungsional konfigurasi pin
ATMega8535, 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 dan pin masukan ADC. Setiap pinnya
menyediakan internal pull up resistor yang dapat diatur per bit. Outputnya
dapat menyalakan LED secara langsung.
4. Port B (PB0...PB7) merupakan pin I/O dan pin yang mempunyai fungsi khusus
yaitu Timer/Counter, komparator Analog dan SPI
5. Port C (PC0...PC7) merupakan port I/O dan pin yang mempunyai fungsi
khusus, yaitu komparator analog dan Timer Oscillator
6. Port D (PD0...PD1) merupakan port I/O dan pin fungsi khusus yaitu
komparator analog dan interrupt eksternal serta komunikasi serial
7. RESET merupakan pin yang digunakan untuk mereset mikrokontroler
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal
9. AVCC merupakan pin masukan untuk tegangan ADC
10. AREF merupakan pin masukan tegangan referensi untuk ADC

2.3 SHT11 Module

SHT11 Module merupakan modul sensor suhu dan kelembaban relatif yang berbasis
sensor SHT11 dari Sensirion. Modul ini dapat digunakan sebagai alat pengindra suhu
dan kelembaban dalam aplikasi pengendali suhu dan kelembaban ruangan maupun
aplikasi pemantau suhu dan kelembaban relatif ruangan.

Spesifikasi dari SHT11 ini adalah sebagai berikut:

1. Berbasis sensor suhu dan kelembaban relatif Sensirion SHT11.


2. Mengukur suhu dari -40 0 C hingga +123,8 0 C, atau dari -40 0 F hingga
+254,9 0 F dan kelembaban relatif dari 0%RH hingga 1%RH.

Universitas Sumatera Utara


3. Memiliki ketetapan (akurasi) pengukuran suhu hingga ± 0,5 0 C pada suhu
25 0 C dan ketepatan (akurasi) pengukuran kelembaban relatif hingga
± 3,5%RH .
4. Memiliki atarmuka serial synchronous 2-wire, bukan I2C.
5. Jalur antarmuka telah dilengkapi dengan rangkaian pencegah kondisi sensor
lock-up.
6. Membutuhkan catu daya +5V DC dengan konsumsi daya rendah30 µW.
7. Modul ini memiliki faktor bentuk 8 pin DIP 0,6 " sehingga memudahkan
pemasangannya.

Gambar 2.3 SHT11

2.3.1 Konversi Keluaran Sensor

Sensor yang digunakan dalam sistem kelembaban dan temperatur adalah sebuah single
chip multisensor yang berfungsi sebagai sensor kelembaban dan temperature yang
telah terkalibrasi sempurna. Sistem berdasarkan prinsip kelembaban kapasitif dan
semikonduktor. Gambar 2.4 adalah data digital yang dikeluarkan oleh sensor terhadap
nilai kelembaban.

Gambar 2.4 Grafik Hubungan Kelembaban terhadap Keluaran Digital

Universitas Sumatera Utara


Akibat dari kompensasi ketidaklinieran nilai data keluaran terhadap
kelembaban serta untuk mendapatkan ketelitian yang akurat, maka untuk
mengkonversi data keluaran yang merupakan data digital haruslah mengikuti
persamaan sebagai berikut:

RHlinear = C1 + C2 x SORH + C3 x SORH² (2.1)

Dengan nilai C1, C2 dan C3 pada tabel 2.1.

Tabel 2.1 Konstanta konversi untuk Pengukuran RH

Untuk mendapatkan nilai fisik suhu terhadap nilai keluaran sensor mengikuti
persamaan (2.2)

Temperatur = d1 + d2 x SOT (2.2)

Ket: d1, d2 : konstanta konversi nilai temperature

SOT : Data keluaran digital sensor SHT11

Nilai d1, d2 dipengaruhi tegangan power sensor yang digunakan dan jumlah bit yang
dikeluarkan oleh sensor. Nilai d1, d2 didapatkan pada tabel 2.2.

Tabel 2.2 Konstanta Konversi Pengukuran Temperatur

2.3.2 Prinsip Kerja Sensor

Universitas Sumatera Utara


SHT11 adalah sebuah single chip sensor suhu dan kelembaban relatif dengan multi
modul sensor yang outputnya telah dikalibrasi secara digital. Dibagian dalamnya
terdapat kapasitas polimer sebagai eleman untuk sensor kelembaban relatif dan sebuah
pita regangan yang digunakan sebagai sensor temperatur. Output kedua sensor
digabungkan dan dihubungkan pada ADC 14 bit dan sebuah interface serial pada satu
chip yang sama. Sensor ini mengahasilkan sinyal keluaran yang baik dengan waktu
respon yang cepat. SHT11 ini dikalibrasi pada ruangan denagn kelembaban yang teliti
menggunakan hygrometer sebagai referensinya. Koefisien kalibrasinya telah
diprogramkan kedalam OTP memory. Koefisien tersebut akan digunakan untuk
mengaklibrasi keluaran dari sensor selama proses pengukuran.

Gambar 2.5 Diagram Blok SHT11

Sistem sensor yang digunakan untuk mengukur suhu dan kelembaban adalah
SHT11 dengan sumber tegangan 5 Volt dan komunikasi bidirectonal 2-wire. Sistem
sensor ini mempunyai 1 jalur data yang digunakan untuk perintah pengalamatan dan
pembacaan data. Pengambilan data untuk masing-masing pengukuran dilakukan
dengan memberikan perintah pengalamatan oleh mikrokontroler. Kaki serial Data
yang terhubung dengan mikrokontroler memberikan perintah pengalamatan pada pin
Data SHT11 “00000101” untuk mengukur kelembaban relatif dan “00000011” untuk
pengukuran temperatur. SHT11 memberikan keluaran data kelembaban dan
temperatur pada pin Data secara bergantian sesuai dengan clock yang diberikan
mikrokontroler agar sensor dapat bekerja. Sensor SHT11 memiliki ADC (Analog to
Digital Converter) di dalamnya sehingga keluaran data SHT11 sudah terkonversi
dalam bentuk data digital dan tidak memerlukan ADC eksternal dalam pengolahan

Universitas Sumatera Utara


data pada mikrokontroler. Skema pengambilan data SHT11 dapat dilihat pada gambar
2.6 berikut ini.

Gambar 2.6 Skema Pengambilan Data SHT11

Tabel 2.3 Konfigurasi pin SHT11


Pin Name Comment

1 GND Ground

2 DATA Serial data bidirectional

3 SCK Serial clock input

4 VDD Supply 2.4-5.5V


Ralat pada sensor

Suhu Sebenarnya
Ralat pada sensor

Kelembaban Relatifnya

Gambar 2.7 Grafik Akurasi RH dan Temperatur pada berbagai tipe

Universitas Sumatera Utara


Gambar di atas menampilkan kinerja dari sensor SHT11, yaitu grafik
perbandingan akurasi RH dan Temperatur pada berbagai tipe jenis sensor. Pada sensor
SHT11 terlihat pada grafik akurasi. Temperatur untuk suhu yang diukur dari 0 - 500C,
maka ralat pada sensor sebesar ± 10C. Untuk suhu dari -10 – 600C, maka ralat pada
sensor sebesar 1,40C. Dengan demikian dari grafik didapat suhu maksimal sebesar
20,50C. Sedangkan pada grafik akurasi RH, besar kelembaban yang diukur dari 20 –
80%RH, ralat pada sensor sebesar ± 5%RH. Dari berbagai tipe sensor pada grafik
diatas terlihat hasil yang lebih baik dapat diperoleh jika menggunakan sensor SHT11
dengan resolusi dan kualitas yang lebih baik.

2.4 Komunikasi Serial

Pada PC / laptop standar, biasanya terdapat sebuah port untuk komunikasi serial. Pada
prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data dilakukan per
bit, sehingga lebih lambat dibandingkan komunikasi parallel seperti pada port printer
yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa contoh
penerapan komunikasi serial ialah mouse, scanner dan sistem akuisisi data yang
terhubung ke port serial COM1/COM2.

Dikenal 2 cara komunikasi data secara serial, yaitu komunikasi data serial
sinkron dan komunikasi data serial asinkron. Pada komunikasi data serial sinkron,
clock dikirimkan bersama-sama dengan data serial tetapi clock tersebut dibangkitkan
sendiri-sendiri baik pada sisi pengirim maupun pada sisi penerima. Sedangkan
komunikasi data serial asinkron. Tidak diperlukan clock karena data dikirimkan
dengan kecepatan tertentu. Baik pada pegirim maupun penerima.

Kecepatan pengiriman (baudrate) dapat dipilih bebas dalam rentang tertentu.


Baudrate yang umum dipakai adalah 300, 600, 1200, 2400, 9600, dsb (bit/detik).
Dalam komunikasi data serial, baudrate dari kedua alat yang berhubungan harus diatur
pada kecepatan yang sama. Selanjutnya, harus ditentukan panjang data (6, 7, atau 8
bit), paritas (genap, ganjil atau tanpa paritas), dan jumlah bit “Stop” (1, 1½ atau 2 bit).

Universitas Sumatera Utara


2.4.1 Karakteristik Sinyal Port Serial

Standar sinyal komunikasi serial yang banyak digunakan adalah Standar RS232 yang
dikembangkan oleh Electronic Industri Association and The telecommunication
Industry Association (EIA/TIA) yang pertama kali dipublikasikan pada tahun 1962.Ini
terjadi jauh sebelum IC TTL populer sehingga sinyal ini tidak ada hubungan sama
sekali dengan level tegangan IC TTL. Standar ini hanya menyangkut komunikasi
antara (Data Terminal Equipment – DTE) dengan alat – alat pelengkap komputer
(Data Circuit Terminating Equipment – DCE).

Standar sinyal serial RS232 memiliki ketentuan level tegangan sebagai


berikut:

1. Logika ‘1’ disebut “Mark” terletak antara -3 Volt sampai -25 Volt

2. Logika ‘0’ disebut “Space” terletak antara +3 Volt sampai +25 Volt.

3. Daerah tegangan antara -3 Volt sampai +3 Volt adalah invalid level, yaitu
tegangan yang tidak memiliki level logika pasti sehingga harus dihindari.
Demikian juga level tegangan dibawah -25 Volt dan diatas +25 Volt juga harus
dihindari karena bisa merusak line driver pada saluran RS232

Gambar dibawah adalah contoh level tegangan RS232 pada pengiriman huruf
“A” dalam format ASCII tanpa bit paritas.

Gambar 2.8 Level Tegangan RS232 pada pengiriman huruf “A” Tanpa Bit Paritas.

2.4.2 Port Komunikasi Serial

Komunikasi serial membutuhkan port sebagai saluran data. Berikut tampil port serial
DB9 yang umum digunakan sebagai port serial.

Universitas Sumatera Utara


Gambar 2.9 Port DB9 jantan

Gambar 2.10 Port DB9 betina

Untuk menghubungkan antara 2 buah PC, biasanya digunakan format null


mode, dimana pin TxD dihubungkan dengan RxD pasangan, pin Sinyal ground (5)
dihubungkan dengan SG di pasangan, dan masing masing pin DTR, DSR dan CD
dihubung singkat, dan pin RTS dan CTS dihubung singkat di setiap devais.

Gambar 2.11 Susunan Pin Konektor DB9

Berikut ini adalah tabel Fungsi Susunan Pin Konektor DB9 :

Tabel 2.4 Fungsi Susunan Konektor DB9

Pin Nama Signal Fungsi


1 DCD Data Carrier Detect, sinyal yang menyatakan bahwa
modem telah menerima sinyal carrier valid dari
modem lain.
2 RXD Sinyal data dari modem ke PC (Penerimaan).

Universitas Sumatera Utara


3 TXD Sinyal data dari PC ke modem (Pengiriman).
4 DTR Data Terminal Ready, sinyal kendali dari PC ke
modem, untuk mengaktifkan modem.
5 GND Sinyal Ground
6 DSR Data Set Ready, sinyal kendali dari modem ke PC
yang menyatkan bahwa modem siap mengirim atau
menerima data.
7 RTS Request To Send, sinyal kendali dari PC yang
menandakan bahwa PC siap menerima data
8 CTS Clear To Send, sinyal kendali dari modem yang
menandakan bahwa modem siap menerima data.
9 RI Ring Indicator, sinyal kendali ke PC, tanda bahwa
saluran telepon berdering.

Tabel 2.5 Konfigurasi pin dan nama sinyal konektor serial DB-9

Keterangan mengenai fungsi saluran RS232 pada konektor DB-9 adalah


sebagai berikut:

1. Received Line Signal Detect, dengan salauran ini DCE memebritahukan ke


DTE bahwa terminal masukan ada data masuk.
2. Received Data, digunakan DTE menerima data dari DCE
3. Transmit Data, digunakan DTE mengirimkan data ke DCE.

Universitas Sumatera Utara


4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan
terminalnya.
5. Signal Ground, saluran grund.
6. Ring Indicator, pada saluran ini DCE memberitahukan ke DTE bahwa sebuah
stasiun menghendaki hubungan dengannya.
7. Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh
mulai mengirim data.
8. Request To Send, dengan saluran ini DCE diminta mengirim data oleh DTE.
9. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah
siap.

Untuk dapat menggunakan port serial harus diketahui dahulu alamat dari port
serial tersebut. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2.
Base Address COM1 biasanya 1016 (3F8h) dan COM2 biasanya 760 (2F8h). Alamat
tersebut adalah alamat yang biasa digunakan, tergantung komputer yang
digunakan.Tepatnya kita bisa melihat pada peta memori tempat menyimpan alamat
tersebut, yaitu memori 0000.0400h untuk COM1 dan 0000.0402h untuk COM2.

Setelah diketahui base addressnya, maka kita dapat menentukan alamat


register-register yang digunakan untuk komunikasi port serial ini. Berikut adalah tabel
register-register yang digunakan beserta alamatnya.

Tabel 2.6 Nama – nama Register

Keterangan mengenai fungsi-fungsi register-register tersebut, adalah sebagai


berikut:

1. RX Buffer, digunakan untuk menampug dan menyimpan data dari DCE.

Universitas Sumatera Utara


2. TX Buffer, digunakan untuk menampung dan menyimpan data yang akan
dikirim ke port serial.
3. Baudrate Divisor Latch LSB, digunakan untuk menampung byte bobot
rendah untuk pembagi clock pada IC USART agar didapat baudrate yang
tepat.
4. Baudrate Divisor Latch MSB, digunakan untuk menampung byte bobot
rendah untuk pembagi clock pada IC USART sehingga total angka
pembagi adalah 4 byte yang dapat dipilih dari 0001h sampai FFFFh.

Berikut adalah tabel angka pembagi yang sering digunakan :

Tabel 2.7 Angka Pembagi

2.4.3 Kontrol Aliran (Flow Control)

Jika kecepaan pengiriman (baudrate) data dari DTE ke DCE (misal dari komputer ke
modem) lebih cepat dari pada transfer data dari DCE ke DTE (modem ke modem)
maka cepat atau lambat kehilangan data akan terjadi karena buffer pada DCE akan
mengalami overflow. Untuk itu diperlukan sistem flow control untuk mengatasi
masalah tersebut. Ada 2 macam kontrol aliran (flow control) yaitu secara hardware
dan secara software.

Kontrol aliran (flow control) secara software atau yang sering disebut dengan
Xon (karakter ASCII 17) dan Xoff (karakter ASCII 19). DCE akan mengirimkan Xoff
ke komputer untuk memberitahukan agar komputer menghentikan pengiriman data
jika buffer pada DCE telah penuh. Jika buffer telah kembali siap menerima data DCE
akan mengirimkan karakter Xon ke komputer dan komputer akan melanjutkan
pengiriman data sampai data terkirim semua. Keuntungan kontrol aliran (flow control)
ini adalah hanya diperlukan kabel sedikit karena lewat saluran TX/RX.

Universitas Sumatera Utara


Kontrol aliran (flow control) secara hardware atau sering disebut dengan
RTS/CTS menggunakan dua kabel untuk melakukan pengontrolan. Komputer akan
menset saluran Request to Send (RTS) jika akan mengirimkan data ke DCE. Jika
buffer di DE siap menerima data, maka DCE akan membalas dengan menset saluran
Clear to Send dan komputer akan mulai mengirimkan data. Jika buffer telah penuh,
maka saluran akan direset dan komputer akan menghentikan pengiriman data sampai
saluran diset kembali.

Untuk mengirim dan menerima data dari port serial, diperlukan program
(software) yang bisa dibuat dengan Delphi atau Visual Basic misalnya, atau bisa juga
menggunakan HyperTerminal yang merupakan program bawaan Windows. Tampilan
HyperTerminal dapat dilihat pada gambar dibawah.

Gambar 2.12 Tampilan HyperTerminal

Gambar 2.13 Pemilihan Port Serial

Masukkan nama koneksi lalu tekan OK, maka akan muncul kotak dialog untuk
mengatur port yang digunakan (pilih COM1 atau COM2 bergantung pada konfigurasi

Universitas Sumatera Utara


komputer yang digunakan) dan tekan tombol OK. Kemudian akan muncul kotak
dialog COM1 Properties (Gambar 2.9) yang berfungsi mengatur baudrate, jumlah bit
data, bit stop dan kontrol aliran (Flow Control). Baudrate 2400 bps, bit data dan bit
paritas None, bit stop 1 dan Flow Control None. Setelah itu HyperTerminal siap
digunakan.

Gambar 2.14 Pengaturan Port Serial

2.4.4 Koneksi Ke RS232 Port

Selain sinyal data, terdapat sinyal – sinyal protokol komunikasi serial pada komputer
dan dihubungkan keluar melalui konektor male DB9 (komputer baru) dan DB25
(komputer lama), nama sinyal – sinyal tersebut adalah:

• RD, Receive Data (RXD).


• TD, Transmit Data
• SG, Signal Ground
• DTR, Data Terminal Ready
• DSR, Data Set Ready
• CD, Carrier Detect
• RTS, Request To Send
• CTS, Clear To Send.

Konfigurasi Null Modem digunakan untuk menghubungkan dua DTE, dengan


diagram perkabelan dapat dilihat pada gambar 2.15. Dalam hal ini hanya
membutuhkan tiga kabel antara DTE, yaitu TxD, RxD dan Gnd. Cara kerjanya yaitu,

Universitas Sumatera Utara


bagaimana membuat komputer agar mengira dia berkomunikasi dengan modem DCE
bukan dengan komputer lainnya.

Gambar 2.15 Diagram Pengkabelan Konfigurasi Null Modem

Pada gambar di atas terlihat bahwa kaki DTR (Data Terminal Ready)
dihubungkan ke DSR (Data Set Ready) dan juga ke CD (Carrier Detect) pada masing-
masing komputer, sehingga pada saat sinyal DTR diaktifkan maka sinyal DSR dan
CD juga ikut aktif (konsep Modem Semu atau Virtual Modem). Karena komputer
dalam hal ini melakukan pengiriman data dengan kecepatan yang sama, maka kontrol
aliran (flow kontrol) belum dibutuhkan sehigga RTS (Request To Sent) pada masing-
masing komputer saling dihubungkan. Sedangkan untuk pengujian port serial bisa
digunakan konfigurasi Loopback sebagaimana ditunjukkan pada gambar 2.16 berikut.

Gambar 2.16 Pengkabelan pada Konfigurasi Loopback Plud

Konvertor level untuk saat ini tersedia dalam bentuk IC, contoh adalah ICL232
dari Harris semikonduktor, MAX232 dari Maxim.

Universitas Sumatera Utara


Gambar 2.17 IC MAX232

2.5 Modul LCD (Liquid Crystal Display)

LCD yang digunakan adalah jenis LCD M1632, yang merupakan modul LCD dengan
tampilan 16 x 2 baris dengan konsumsi daya rendah. Modul tersebut dilengkapi
dengan desain mikrokontroler yang didesain khusus untuk mengendalikan LCD.
Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD
memiliki CGROM, CGRAM, dan DDRAM. Berikut bagian-bagian dari LCD M1632.

1. DDRAM (Display data Random Accsee Memory) merupakan memori tempat


karakter yang ditampilkan berada. Contoh untuk karakter ‘L’ atau 4CH yang
ditulis pada alamat 00, karakter tersebut akan tampil pada baris pertama dan
kolom pertama dari LCD. Apabila karakter tersebut ditulis pada alamat 40,
maka karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD.

2. CDRAM (Character Generator Random Acces Memory) merupakan memori


untuk mengga,barkan pola sebuah karakter dimana bentuk dari karakter dapat
diubah-ubah sesuai keinginan. Namun, memori akan hilang saat power supply
tidak aktif sehingga pola karakter akan hilang.

3. CGROM (Character Generator Read Only Memory) merupakan memori


untuk menggambarkan pola sebuah karakter dimana pola tersebut sudah
ditentukan secara permanent dari HD44780 sehingga pengguna tidak dapat
mengubahnya lagi. Namun, oleh karena ROM bersifat permanent, pola
karakter tersebut tidak akan hilang walaupun power supply tidak aktif.

2.5.1 Konfigurasi Pin LCD

Universitas Sumatera Utara


Untuk keperluan antarmuka suatu komponen elektronik dengan mikrokontroler, perlu
diketahui fungsi dari setiap kaki pada LCD.

Gambar 2.18 Modul LCD karakter 2x16

Dari gambar diatas dapat dijelasakan fungsi dari setiap kaki pada LCD,
sebagai berikut:

1. Kaki 1 (GND)
Kaki ini dihubungkan dengan tegangan +5 Volt yang merupakan tegangan
untuk sumber daya dari HD44780 (khusus untuk modul M1632 keluaran
hitachi, kaki ini adalah VCC)

2. Kaki 2 (VCC)
Kaki ini dihubungkan dengan tegangan 0 volt (ground) dan modul LCD
(khusus untuk modul M1632 keluaran hitachi, kaki ini adalah GND)

3. Kaki 3 (VEE/VLCD)
Tegangan pengatur kontras LCD, kaki ini terhubung pada V5. Kontras
mencapai nilai maksimum pada saat kondisi kaki ini pada tegangan 0 volt.

4. Kaki 4 (RS)
Register Select, kaki pemilih register yang akan diakses. Untuk akses ke
register data, logika dari kaki ini adalah 1 dan untuk akses ke register perintah,
logika dari kaki ini adalah 0.

5. Kaki 5 (R/W)
Logika 1 pada kaki ini menunjukkan bahwa modul LCD sedang pada mode
pembacaan dan logika 0 menunjukkan bahwa modul LCD sedang pada mode
penulisan. Untuk aplikasi yang tidak memerlukan pembacaan data pada modul
LCD, kaki ini dapat dihubungkan langsung ke ground.

6. Kaki 6 (E)

Universitas Sumatera Utara


Enable Clock LCD, kaki ini mengaktifkan clock LCD. Logika 1 pada kaki ini
diberikan pada saat penulisan atau pembacaan data.

7. Kaki 7-14 (D0-D7)


Data bus, kedelapan kaki modul LCD ini adalah bagian dimana aliran data
sebanyak 4 bit atau 8 bit mengalir saat proses penulisan maupun pembacaan
data.

8. Kaki 15 (Anoda)
Berfungsi untuk tegangan positif dari backlight modul LCD sekitar 4,5 volt
(hanya terdapat untuk M1632 yang memiliki backlight).

9. Kaki 16 (Katoda)
Tegangan negatif backlight modul LCD sebesar 0 volt (hanya untuk M1632
yang memiliki backlight).

Display karakter pada LCD diatur oleh pin EN, RS dan R/W, dimana: Jalur
EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa data
sedang dikirimkan. Untuk mengirimkan data ke LCD, maka melalui program EN
harus dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW.
Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu untuk
sejumlah waktu tertentu (sesuai dengan datasheet dari LCD tersebut) dan berikutnya
set EN ke logika low “0” lagi.

Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan
dianggap sebagai sebuah perintah atau instruksi khusus (seperti clear screen,
posisikursor, dll). Ketika RS berlogika high “1”, data yang dikirim adalah data text
yang akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan huruf
“1” pada layer LCD maka RS harus diset logika high “1”, jalur R/W adalah jalur
control Read/Write. Ketika RW berlogika low (0), maka informasi pada bus data akan
dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan
melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin R/W
selalu diberi logika low “0”. Pada akhirnya, bus data terdiri dari 4 atau 8 jalur

Universitas Sumatera Utara


(bergantung pada mode operasi yang dipilih oleh user). Pada kasus bus data 8 bit, jalur
diacukan sebagai DB0 s/d DB7.

Beberapa perintah dasar yang harus dipahami adalah inisialisasi LCD


Character:

1. Function Set berfungsi untuk mengatur interface lebar data, jumlah dari baris
dan ukuran font karakter

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 1 DL N F X X

Dimana:

X : Don’t care

DL : Mengatur lebar data


DL=1, Lebar data interface 8 bit ( DB7 s/d DB0)
DL=0, Lebar data interface 4 bit ( DB7 s/d DB4)
Ketika menggunakan lebar data 4 bit, data harus dikirimkan dua kali
N: Pengaktivan baris
N=0, 1 baris
N=1, 2 baris
F: Penentuan ukuran font karakter
F=0, 5x7
F=1, 5x8

2. Entry Mode Set berfungsi untuk mengatur increment/ decrement dan mode geser

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 1 I/D S

Universitas Sumatera Utara


Dimana:
I/D: Increment/ decrement dari alamat DDRAM dengan 1 ketika kode karakter
dituliskan ke DDRAM.
I/D = “0”, decrement
I/D= “1”, increment
S: Geser keseluruhan display kekanan dan kekiri
S=1, geser kekiri atau kekanan bergantung pada I/D
S=0, display tidak bergeser

3. Display On/ Off Cursor berfungsi untuk mengatur status display ON atau OFF,
cursor ON/ OFF dan fungsi Cursor Blink

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 1 D C B

Dimana:

D : Mengatur display
D = 1, Display is ON
D = 0, Display is OFF

Pada kasus ini data display masih tetap berada di DDRAM, dan dapat ditampilkan
kembali secara langsung dengan mengatur D=1.

C : Menampilkan kursor
C = 1, kursor ditampilkan
C = 0, kursor tidak ditampilkan
B : Karakter ditunjukkan dengan kursor yang berkedip
B=1, kursor blink

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 0 0 1

Universitas Sumatera Utara


4. Clear Display berfungsi sebagi perintah untuk menghapus layar
5. Geser Kursor dan Display berfungsi untuk menggeser posisi kursor atau display ke
kanan atau kekiri tanpa menulis atau baca data display. Fungsi ini digunakan untuk
koreksi atau pencarian display.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 1 S/C R/L X X

Catatan : x = Dont care

S/C R/L Note

0 0 Shift cursor position to the left

0 1 Shift cursor position to the right

1 0 Shift the entire display to the left

1 1 Shift the entire display to the right

2.5.2 Posisi Kursor

Modul LCD terdiri dari sejumlah memori yang digunakan untuk display. Semua text
yang kita tuliskan ke modul LCd adalah disimpan didalam memori ini, dan modul
LCD secara berurutan membaca memori ini untuk menampilkan text ke modul LCD
itu sendiri.

Gambar 2.19 Peta Memori LCD

Universitas Sumatera Utara


Pada peta memori tersebut, daerah yang berwarna biru (00 s/d 0F dan 40 s/d
4F) adalah display yang tampak. Sebagaimana yang dilihat, jumlahnya sebanyak 16
karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori
yang bersesuaian dengan posisi dari layar. Demikianlah karakter pertama di sudut kiri
atas adalah menempati alamah 00h. Posisi karakter berikutnya adalah alamat 01h dan
seterusnya.

Akan tetapi, karakter pertama dari baris 2 sebagaimana yang ditunjukkan pada
peta memori adalah pada alamat 40h. Demikianlah kita perlu untuk mengirim sebuah
perintah ke LCD untuk mangatur letak posisi kursor pada baris dan kolom tertentu.
Instruksi Set Posisi Kursor adalah 80h. Untuk ini kita perlu menambahkan alamat
lokasi dimana kita berharap untuk menempatkan kursor. Sebagai contoh, kita ingin
menampilkan kata ”World” pada baris ke dua pada posisi kolom ke sepuluh. Sesuai
peta memori, posisi karakter pada kolom 11 dari baris ke dua, mempunyai alamat
4Ah, sehingga sebelum kita tulis kata ”World” pada LCD, kita harus mengirim
instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah
dengan alamat 80h+4Ah =0Cah. Sehingga dengan mengirim perintah Cah ke LCD,
akan menempatkan kursor pada baris kedua dan kolom ke 11 dari DDRAM.

Set alamat memori DDRAM:

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 1 A A A A A A A

Dimana:

A : Alamat RAM yang akan dipilih, sehingga alamat RAM LCD adalah 000 0000 s/d
111 1111b atau oo s/d 7Fh.

2.6 Modul TLP dan RLP


Komunikasi data secara wireless (tanpa kabel) seringkali dijumpai akhir-akhir ini
dalam aplikasi kompuer, PDA, ponsel, dll. Berbagai macam teknologi digunakan
sebagai sarana komunikasi nirkabel seperti RF, Infra Red. Bluetoothh, Wireless LAN,
dsb. Demikian juga dalam proyek ini pun juga akan menggunakan modul RF untuk

Universitas Sumatera Utara


komunikasi data secara wireless dengan komputer. Modul RF (Radio Frekuensi) yang
digunakan adalah TLP433.92A (Pemancar) dan RLP433.92A (Penerima).

Modul RF buatan LAIPAC ini sering sekali digunakan sebagai alat untuk
komunikasi data secara wireless menggunakan media gelombang radio. Biasanya
kedua modul ini dihubungkan dengan mikrokontroler atau peralatan digital yang
lainnya. Masukan data untuk modul TLP adalah serial dengan level TTL (Transistor-
transistor Logic). Jangkauan komunikasi maksimum dari pasangan modul RF ini
adalah 100 meter tanpa halangan dan 30 meter di dalam gedung. Ukuran ini dapat
dipengaruhi oleh faktor antena, kebisingan, dan tegangan kerja dari pemancar.
Panjang antena yang digunakan adalah 17 cm, dan terbuat dari kawat besi.

RLP 433.92A

TLP433.92A

Gambar 2.20 Bentuk Fisik Modul RF Tampak Depan

Tabel 2.8 Susunan kaki Modul TLP dan RLP

a. Modul Pemancar RF TLP-433

Universitas Sumatera Utara


Modul TLP433 ini menggunakan modulasi ASK (Amplitudor Shift keying), dimana
frekuensi kerja dari modul ini adalah 433 MHz. Modul ini berfungsi untuk
mengirimkan data secara serial ke modul penerima RLP433.

b. Modul Penerima RF RLP-433

Modul RLP433 ini sama halnya dengan modul TLP yang menggunakan modulasi
ASK (Amplifier Shift Keying) dengan frekuensi kerja dari modul ini adalah 433 MHz.
Modul ini berfungsi untuk menerima data yang dikirim secara serial dari modul
pemancar TLP433.

2.7 Perangkat Lunak


2.7.1 Instruksi-instruksi ATMega8535
Beberapa instruksi yang sering digunakan dalam pemrograman IC mikrokontroler
ATMega8535 antara lain adalah:

2.7.1.1 Karakter dalam BASCOM

Dalam program BASCOM, karakter dasarnya terdiri atas karakter alphabet (A-Z dan
a-z), karakter numeric (0-9), dan karakter special (lihat tabel 2.9).

Tabel 2.9 Karakter Spesial

karakter Nama

Blank

‘ Apostrophe

* Asterisk (symbol perkalian)

+ Plus sign

, Comma

- Minus sign

Universitas Sumatera Utara


. Period (decimal point)

/ 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.7.1.2 Tipe Data

Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya
tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler. Tabel
2.10 berikut adalah tipe data pada BASCOM berikut keterangannya.

Tabel 2.10 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 -

Universitas Sumatera Utara


2.7.1.3 Variabel

Variabel dalam sebuah pemrograman berfungsi sebagai tempat penyimpanan data 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 variable:

1. Nama variabel maksimum terdiri atas 32 karakter.


2. Karakter biasa berupa angka atau huruf.
3. Nama variabel harus dimulai dengan huruf.
4. Variabel tidak boleh menggunakan kata-kata yang digunkan oleh BASCOM
seagai perintah, pernyataan, internal register, dan nama operator (AND, OR,
DIM, dan lain-lain).

Sebelum digunakan, maka variable harus dideklarasikan terlebih dahulu.


Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variable (data).
Cara pertama adalah menggunakan pernyataan ‘DIM’ (dimensi) diikuti nama tipe
datanya. Contoh pendeklarasian menggunakan DIM sebagai berikut:

Dim nama as byte

Dim tombol1 as integer

Dim tombol2 as word

Dim tombol3 as word

Dim tombol4 as word

Dim Kas as string*10

2.7.1.4 Alias
Dengan menggunakan alias, variable yang sama dapat diberikan nama yang lain.
Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan
untuk mengganti nama variable yang telah baku, seperti port mikrokontroler.

Universitas Sumatera Utara


LEDBAR alias PortA.1

Tombol1 alias PinB.1

Tombol2 alias PinB.2

Dengan deklarasi seperti diatas, perubahan pada tombol akan mengubah


kondisi PortA.1. Selain mengganti nama port, kita dapat pula menggunakan alias
untuk mengakses bit tertentu dari sebuah variable yang telah dideklarasikan.

Dim LedBar as byte

Led1 as LedBar.0

Led2 as LedBar.1

Led3 as LedBar.2

2.7.1.5 Konstanta

Dalam BASCOM, selain variabel kita mengenal pula konstanta. Konstanta


meruupakan variabel pula. Perbedaannya dengan variable biasa adalah nilai yang
dikandung tetap. Dengan konstanta, kode program yang kita buat akan lebih mudah
dibaca dan dapat mencegah kesalahan penulisan pada program kita. Misalnya, kita
akan lebih mudah menulis phi daripada menulis 3,14159867. Sama seperti variable,
agar konstanta bisa dikenali oleh program, maka harus dideklarasikan terlebih dahulu.
Berikut adalah cara pendeklarasian sebuah konstanta.

Dim A As Const 5

Dim B1 As Const &B1001

Cara lain yang paling Mudah:

Const Cbyte = &HF

Const Cint = -1000

Const Csingle = 1.1

Const Cstring = “test”

Universitas Sumatera Utara


2.7.1.6 Array

Dengan array, kita dapat menggunakan sekumpulan variable dengan nama dan tipe
yang sama. Untuk mengakses variable tertentu dalam array, kita harus menggunakan
indeks. Indeks harus berupa angka dengan tipe data byte, integer, atau word. Artinya,
nilai maksimum sebuah indeks sebesar 65535.

Proses pendeklarasian sebuah array variabel sama dengan variabel, namun


perbedaannya kita pun mengikutkan jumlah elemennya. Berikut adalah contoh
pemakaian array:

Dim kelas(10) as byte

Dim c as Integer

For C = 1 To 10

a© = c

PortA.1 = a©

Next

Program diatas membuat sebuah array dengan nama ‘kelas’ yang berisi 10
elemen (1-10) dan kemudian seluruh elemennya diisikan dengan nilai c yang
berurutan. Untuk membacanya, kita menggunakan indeks dimana elemen disimpan.
Pada program diatas, elemen-elemen arraynya dikeluarkan ke PortA.1 dari
mikrokontroler.

2.7.1.7 Operasi-operasi Dalam BASCOM


Pada bagian ini akan dibahas tentang cara menggabungkan, memodifikasi,
membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan
menggunakan operator-operator yang tersedia di BASCOM dan bagaimana sebuah
pernyataan terbentuk dan dihasilkan dari operator-operator berikut:

a. Operator Aritmatika

Universitas Sumatera Utara


Operator digunakan dalam perhitungan. Operator aritmatika meliputi +
(tambah), - (kurang), / (bagi), dan * (kali).

b. Operator Relasi
Operator berfungsi membandingkan nilai sebuah angka. Hasilnya dapat
digunakan untuk membuat keputusan sesuai dengan program yang kita buat.
Operator relasi meliput i:

Tabel 2.11 Operator Relasi

Operator Relasi Pernyataan

= Sama dengan X=Y

<> Tidak sama dengan X <> Y

< Lebih kecil dari X<Y

> Lebih besar dari X>Y

<= Lebih kecil atau sama dengan X <= Y

>= Lebih besar atau sama dengan X >= Y

c. Operator Logika
Operator 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

Print A

A = 10 or 9

Print A

Output

Universitas Sumatera Utara


16

11

d. Operator Fungsi
Operasi fungsi digunakan untuk melengkapi operator yang sederhana.

2.8 Pengaksesan Port Serial Pada Visual Basic

Untuk pengaksesan port serial kita dapat mengaksesnya secara langsung melalui
register USART atau menggunakan control MSComm yang telah disediakan Visual
Basic.

2.8.1 Pengaksesan Secara Langsung Melalui Register USART

Saluran yang digunakan USART untuk komunikasi baik untuk pengiriman maupun
penerimaan data adalah saluran RxD dan saluran TxD serta saluran – saluran untuk
control, yaitu saluran DCD, DSR, RTS, CTS, DTR, CTS, DTR, dan RI. Saluran-
saluran ini ada yang sebagai output dan ada yang sebagai input. Kecuali saluran RxD,
saluran–saluran ini dapat diakses secara langsung melalui register USART. Berikut
adalah table alamat dan lokasi bit saluran tersebut pada register USART.

Tabel 2.12 Alamat dan lokasi bit pada register USART

Nama Pin Nomor pin pada DB-9 COM1 COM2 Bit Arah
TxD 3 3FBh 2FBh 6 Output
DTR 4 3FCh 2FCh 0 Output
RTS 7 3FEh 2FCh 1 Output
CTS 8 3FEh 2FEh 4 Input
DSR 6 3FEh 2FEh 5 Input
RI 9 3FEh 2FEh 6 Input
DCD 1 3FEh 2FEh 7 Input

Universitas Sumatera Utara


Untuk dapat mengaksesnya, kita dapat menggunakan fungsi Port_Out dan
fungsi Port_In yang terdapat pada Port_IO.DLL dan untuk menset atau mengclearkan
bit-bit tertentu kita dapat menggunakan prosedur Set_Bit atau prosedur Clear_Bit.

Berikut adalah contoh penggunaannya, dengan menset bit DTR, yaitu


membuat saluran DTR berlogika low yang dalam port serial IBM PC kompatibel
bertegangan +12V. Alamat register pengontrol DTR adalah 3FCh untuk COM1 pada
bit 0. Perintahnya adalah sebagai berikut.

Set_Bit (&H3FC, 0)

Untuk mengclearkannya, yaitu membuat saluran DTR berlogika high yang


dalam port serial IBM PC kompatibel bertegangan -12V, dan menggunakan perintah:

Clear_Bit (&H3FC, 0)

Universitas Sumatera Utara