sistem monitoring temperatur ruangan.pdf

30
BAB 2 LANDASAN TEORI 2.1. Sistem Monitoring Temperatur Ruangan Temperatur merupakan salah satu informasi yang sangat penting dalam menentukan kondisi cuaca pada sebuah daerah. Temperatur juga merupakan salah satu kunci penting dalam dunia pertanian atau perkebunan, industri makanan, industri elektronika dan lain-lain. Pengukuran temperatur secara manual dapat dilakukan dengan termometer standar, namun tidak ada alat yang dapat mengatur agar temperatur tetap dalam kondisi stabil, apalagi temperatur harus dipantau terus menerus. Sehingga dibutuhkan alat pengukur temperatur yang disertai dengan sistem kontrolnya. Yang artinya, temperatur dalam sebuah ruangan dapat diukur secara otomatis, dan dapat juga dijaga secara otomatis pula, serta hasil data temperatur dapat ditampilkan pada display. Berikut adalah gambaran umum sistem monitoring temperatur ruangan. Gambar 2.1. Blok Diagram Monitoring Temperatur Ruangan Secara Umum Sensor suhu Pengolah sinyal Display Universitas Sumatera Utara

Upload: hamdanrizqi

Post on 01-Jan-2016

64 views

Category:

Documents


1 download

DESCRIPTION

bagus gan

TRANSCRIPT

BAB 2

LANDASAN TEORI

2.1. Sistem Monitoring Temperatur Ruangan

Temperatur merupakan salah satu informasi yang sangat penting dalam menentukan

kondisi cuaca pada sebuah daerah. Temperatur juga merupakan salah satu kunci

penting dalam dunia pertanian atau perkebunan, industri makanan, industri elektronika

dan lain-lain.

Pengukuran temperatur secara manual dapat dilakukan dengan termometer

standar, namun tidak ada alat yang dapat mengatur agar temperatur tetap dalam

kondisi stabil, apalagi temperatur harus dipantau terus menerus. Sehingga dibutuhkan

alat pengukur temperatur yang disertai dengan sistem kontrolnya. Yang artinya,

temperatur dalam sebuah ruangan dapat diukur secara otomatis, dan dapat juga dijaga

secara otomatis pula, serta hasil data temperatur dapat ditampilkan pada display.

Berikut adalah gambaran umum sistem monitoring temperatur ruangan.

Gambar 2.1. Blok Diagram Monitoring Temperatur Ruangan Secara Umum

Sensor suhu

Pengolah sinyal

Display

Universitas Sumatera Utara

Dari gambar 2.1 dapat kita ketahui bahwa salah satu komponen yang

dibutuhkan dalam pembuatan sistem monitoring temperatur ruangan adalah sensor

temperatur. Sensor temperatur berfungsi sebagai pendeteksi temperatur pada sebuah

ruangan, yang kemudian akan menjadi nilai masukan bagi pengolah sinyal. Kemudian

sinyal keluaran dari sensor temperatur tersebut akan diolah sehingga dapat

ditampilkan pada display, sehingga dibutuhkan sebuah pengolah sinyal. Salah satu

jenis pengolah sinyal yang dapat digunakan adalah mikrokontroler.

Mikrokontroler merupakan salah satu komponen elektronika yang di dalamnya

terdapat rangkaian mikroprosesor, memori (RAM atau ROM) dan I/O, rangkaian

tersebut terdapat dalam level chip atau biasa disebut single chip microcomputer. Pada

mikrokontroler telah terdapat komponen-komponen mikroprosesor dengan bus-bus

internal yang saling berhubungan. Komponen-komponen tersebut adalah RAM, ROM,

timer, komponen I/O paralel dan serial, dan interupsi kontroler.

Setelah sinyal keluaran dari sensor temperatur tersebut diolah oleh

mikrokontroler, kemudian akan ditampilkan pada sarana penampil. Baik melalui

seven, display matrix, segment, LCD (Liquid Crystal Display), maupun PC. Pada

pengerjaan tugas akhir ini, penulis akan menggunakan tampilan pada LCD dan PC.

2.2. Komponen-komponen Dasar

Rancangan yang penulis buat menggunakan beberapa komponen-komponen

elektronika, untuk memudahkan memahami fungsi dan karakteristik dari masing

masing komponen maka penulis mencoba untuk membahasnya disini.

Universitas Sumatera Utara

2.2.1 Relay

Relay adalah sebuah saklar yang dikendalikan oleh arus. Relay memiliki sebuah

kumparan tegangan-rendah yang dililitkan pada sebuah inti. Terdapat sebuah armatur

besi yang akan tertarik menuju inti apabila arus mengalir melewati kumparan.

Armatur ini terpasang pada sebuah tuas berpegas. Ketika armatur tertarik menuju ini,

kontak jalur bersama akan berubah posisinya dari kontak normal-tertutup ke kontak

normal-terbuka.

Gambar 2.2 Ilustrasi dari Sebuah Relay

Sebuah relay yang tipikal dari jenis ini dapat diaktifkan dalam waktu sekitar 10

ms.Sebagian besar relay modern ditempatkan di dalam sebuah kemasan yang

sepenuhnya tertutup rapat.

Gambar 2.3 Contoh Sebuah Relay Miniature

Kontak-kontak Ke rangkaian

yang dikontrol

Universitas Sumatera Utara

Kebanyakan di antaranya memiliki kontak-kontak jenis SPDT, namun

terdapat juga beberapa versi DPDT. Relay-relay yang berukuran lebih besar dapat

menyambungkan arus hingga 10 A pada tegangan 250 V AC. Tegangan

maksimum untuk pensaklaran DC selalu jauh lebih rendah, seringkali bahkan hanya

setengah, dari tegangan maksimum untuk AC. Terdapat juga relay-relay miniatur

yang cocok untuk ditancapkan pada papan-papan rangkaian.

2.3 Perangkat Keras

Perangkat keras merupakan bentuk fisik dari alat pengukur suhu dan kelembaban yang

terdiri dari power supply, sistem minimum ATmega8535, LCD interface, LCD

display.

2.3.1 Rangkaian Sistem Minimum AVR 8535

Sistem minimum (sismin) mikrokontroler adalah rangkaian elektronik minimum yang

diperlukan untuk beroperasinya IC mikrokontroler. Sismin ini kemudian bisa

dihubungkan dengan rangkaian lain untuk menjalankan fungsi tertentu. Di keluarga

mikrokontroler AVR, seri 8535 adalah salah satu seri yang sangat banyak digunakan.

Untuk membuat rangkaian sismin Atmel AVR 8535 diperlukan beberapa komponen

yaitu:

Universitas Sumatera Utara

1. IC mikrokontroler ATmega8535

2. 1 XTAL 4 MHz atau 8 MHz (XTAL1)

3. 3 kapasitor kertas yaitu dua 22 pF (C2 dan C3) serta 100 nF (C4)

4. 1 kapasitor elektrolit 4.7 uF (C12) 2 resistor yaitu 100 ohm (R1) dan 10

Kohm (R3)

5. 1 tombol reset pushbutton (PB1)

Selain itu tentunya diperlukan power suply yang bisa memberikan

tegangan 5V DC. Rangkaian sistem minimum ini sudah siap untuk menerima sinyal

analog (fasilitas ADC) di port A. Gambar rangkaiannya adalah sebagai berikut.

Gambar 2.4 Sistem Minimum AVR ATmega8535

Universitas Sumatera Utara

2.3.2 Arsitektur Mikrokontroler AVR

Mikrokontroler adalah suatu chip yang dapat digunakan sebagai pengontrol utama

sistem elektronika,misalnya sistem pengukur suhu digital, sistem keamanan rumah,

dan lain-lain. Hal ini dikarenakan di dalam chip tersebut sudah ada unit pemroses,

memori ROM (Read Only Memori), RAM (Random Access Memory), Input-Output,

dan fasilitas pendukunng lainnya.

Mikrokontroler AVR memiliki arsitektur RISC 8 bit, di mana semua instruksi

dikemas dalam kode 16-bit (16-bit word) dan sebagian besar instruksi dieksekusi

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 Instruksi Set Computing),

sehingga eksekusi instruksi dapat berlangsung sangat cepat dan efisien.

Sedangkan seri MCS51 berteknoli CISC (Complex Instruktion Set

Computing). Secara umum, AVR dapat dikelompokan menjadi 4 kelas, yaitu keluarga

ATtiny, keluarga AT90SXX, keluarga ATmega, dan AT86RFxx. Pada dasarnya yang

membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari

segi arsitektur dan instruksi yang digunakan, mereka bias dikatakan hampir sama.

Mikrokontroler AVR sudah menggunakan konsep arsitektur Harvard yang

memisahkan memori dan bus untuk data dan program, serta sudah menerapkan single

level pipelining. Blok sistem mikrokontroler AVR adalah sebagai berikut:

Universitas Sumatera Utara

Gambar 2.11 Skematik Blok Sistem Mikrokontroller AVR

Gambar 2.5 Skematik Blok Sistem Mikrontroler AVR

Salah satu seri mikrokontroler AVR yang banyak menjadi andalan saat ini

adalah tipe ATtiny2313 dan ATmega8535. Seri ATtiny2313 banyak digunakan untuk

sistem yang relatif sederhana dan berukuran kecil. Berikut adalah feature-feature

mikrokontroler seri ATtiny2313.

Universitas Sumatera Utara

1. Kapasitas memori Flash 2 Kbytes untuk program

2. Kapasitas memori EEPROM 128 bytes untuk data

3. Maksimal 18 pin I/O

4. 8 interrupt

5. 8-bit timer

6. Analog komparator

7. On-chip oscillator

8. Fasilitas In System Programming (ISP)

Sedangkan ATmega8535 banyak digunakan untuk sistem yang kompleks,

memiliki input sinyal analog, dan membutuhkan memori yang relatif lebih besar.

Berikut adalah feature-feature mikrokontroler seri ATmega8535.

2.3.3 Penjelasan Fungsi PIN Mikrokontroller AVR

IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada

dasarnya fungsi kaki yang ada pada IC memiliki persamaan. Gambar salah satu

bentuk IC seri mikrokontroler AVR ATmega8535 dapat dilihat berikut.

Gambar 2.6 Pin Atmega 8535

Universitas Sumatera Utara

1. Memori Flash 8 Kbytes untuk program dengan kemampuan Read While

Write2. Memori EEPROM 512 bytes untuk data yang dapat diprogram saat

operasi 3. Memori SRAM 512 bytes untuk data 4. CPU yang terdiri dari 32

buah register 5. Tiga buah Timer / Counter dengan kemampuan

pembandingan 6.. Watchdog Timer dengan osilator internal7. ADC (Analog

to Digital converter) 10 bit sebanyak 8 saluran 8. Port USART untuk komunikasi

serial9. Antar muka komparator analog 10. Saluran I/O sebanyak 32 buah,

yaitu Port A, Port B, Port C, dan Port D.11. Port antarmuka SPI12. Unit interupsi

internal dan eksternal

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 converter.

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.

Universitas Sumatera Utara

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 juga memiliki

untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel

berikut.

Port Pin Fungsi Khusus

PB0 T0 = timer/counter 0 external counter input PB1 T1 = timer/counter 0 external counter input PB2 AIN0 = analog comparator positive input PB3 AIN1 = analog comparator negative input PB4 SS = SPI slave select input PB5 MOSI = SPI bus master output / slave input PB6 MISO = SPI bus master input / slave output PB7 SCK = SPI bus serial clock

Tabel 2.1 Konfigurasi Pin Port B Atmega 8535

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 fungsi alternatif sebagai oscillator untuk timer/counter 2.

Universitas Sumatera Utara

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 yang bersesuaian

sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga

memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam

tabel berikut.

Port Pin Fungsi Khusus

PD0 RDX (UART input line) PD1 TDX (UART output line) PD2 INT0 ( external interrupt 0 input ) PD3 INT1 ( external interrupt 1 input ) PD4 OC1B (Timer/Counter1 output compareB match output) PD5 OC1A (Timer/Counter1 output compareA match output) PD6 ICP (Timer/Counter1 input capture pin) PD7 OC2 (Timer/Counter2 output compare match output)

Tabel 2.2 Konfigurasi Pin Port D ATmega8535

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.

Universitas Sumatera Utara

6. XTAL1

XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock

operating circuit.

7. XTAL2

XTAL2 adalah output dari inverting oscillator 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 operasionalisasi

ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

10. AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika

board memiliki anlaog ground yang terpisah.

2.3.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

Universitas Sumatera Utara

space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register

khusus untuk menangani I/O dan control terhadap mikrokontroller menempati 64

alamat berikutnya, yaitu mulai dari $20 hingga $5F.

Register tersebut merupakan register yang khusus digunakan untuk mengatur

fungsi terhadap berbagai peripheral mikrokontroller, seperti control register,

timer/conter, fungsi-fungsi I/O, dan sebagainya. Register khusus alamat memori

secara lengkap dapat dilihat pada tabel . Alamat memori berikutnya digunakan untuk

SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F.

Memori program yang terletak dalam Flash PEROM tersusun dalam word atau

2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit. AVR ATmega8535

memiliki 4 KByteX16-bit Flash PEROM dengan alamat mulai dari $000 sampai

$FFF. AVR tersebut memiliki 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 $000

sampai $1FF.

2.3.5 Modul LCD (Liquid Crystal Display) M1632

M1632 merupakan modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris

dengan setiap karakternya dibentuk oleh 8 baris pixel dan 5 kolom pixel (1 baris pixel

terakhir adalah kursor). HD44780 ini sudah tersedia dalam Modul M1632 yang

dikeluarkan oleh Hitachi, Hyundai dan modul-modul M1632 lainnya.

Universitas Sumatera Utara

HD44780 sebetulnya merupakan mikrokontroler yang dirancang khusus untuk

mengendalikan LCD dan mempunyai kemampuan untuk mengatur proses scanning

pada layar LCD yang terbentuk oleh 16 COM dan 40 SEG sehingga mikrokontroler

/perangkat yang mengakses modul LCD ini tidak perlu lagi mengatur proses scanning

pada layar LCD. Mikrokontroler atau perangkat tersebut hanya mengirimkan data-data

yang merupakan karakter yang akan ditampilkan pada LCD atau perintah yang

mengatur proses tampilan pada LCD saja.

2.3.6 Kaki-kaki Modul M1632

Untuk keperluan antarmuka suatu komponen elektronik dengan mikrokontroler, perlu

diketahui fungsi dari setiap kaki yang ada pada komponen tersebut.

1. Kaki 1 (GND)

Kaki ini berhubungan 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 berhubungan 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.

Universitas Sumatera Utara

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)

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).

Universitas Sumatera Utara

2.3.7 Akses ke Register

Seperti telah dijelaskan sebelumnya, HD44780 yang menjadi pengendali modul

M1632 mempunyai dua buah register, yaitu register data dan register perintah. Berikut

ini akan dijelaskan bagaimana proses terjadinya penulisan maupun pembacaan data

dari kedua register ini.

1. Penulisan Data ke Register Perintah

Penulisan data ke register perintah digunakan untuk memberikan perintah-

perintah pada Modul M1632 sesuai dengan data-data yang dikirimkan ke

register tersebut. Gambar 2.3 menunjukkan proses penulisan data ke register

perintah menggunakan mode 4 bit interface. Kondisi RS berlogika 0

menunjukkan akses data ke register perintah. RW berlogika 0 menunjukkan

proses penulisan data akan dilakukan. Nibble tinggi (bit7 sampai bit 4) terlebih

dahulu dikirimkan dengan diawali pulsa logika 1 pada E Clock, kemudian

nibble rendah (bit 3 sampai bit 0) dikirimkan dengan diawalai pulsa logika 1

pada E Clock lagi.

Gambar 2.7 Timing Penulisan Data ke Register Perintah Mode 4 Bit Interface

Universitas Sumatera Utara

Built In Routine

Kirim_Perintah EQU 433H

............................

Lcall Kirim_Perintah

2. Pembacaan Data dari Register Perintah

Proses pembacaan data dari register perintah ini digunakan untuk membaca

status sibuk M1632 dan addres counter saja. RS diatur pada logika 0 untuk

akses ke register perintah dan R/W diatur pada logika 1 yang menunjukkan

proses pembacaan data. Empat bit nibble tinggi dibaca dengan diawali pulsa

logika 1 pada E Clock dan kemudian 4 bit nibble rendah dibaca dengan

diawali pulsa logika 1 pada E clock.

Gambar 2.8 Timing Diagram Pembacaan Register Perintah Mode 4Bit Interface

Universitas Sumatera Utara

3. Penulisan Data ke Register Data

Penulisan data ke register data digunakan dalam proses penulisan data karakter

yang akan ditampilkan ke LCD (DDRAM) atau proses penulisan data pola

karakter ke CGRAM.

Proses diawali dengan adanya logika 1 pada RS yang menunjukkan

akses ke register data. Kondisi R/W diatur pada logika 0 yang menunjukkan

proses penulisan data. Data 4 bit nibble tinggi (bit 7 hingga bit 4) dikirim

dengan diawali dngan pulsa logika 1 pada sinyal E Clock dan kemudian diikuti

4 bit bit nibble rendah (bit 3 hingga bit 0) yang jugan diawali pulsa logika 1

pada sinyal E Clock.

Gambar 2.9 Timing Diagram Penulisan Data ke Register Mode 4 Bit Interface

4. Pembacaan Data ke Register Data

Pembacaan data dari rd dilakukan untuk membaca kembali data yang tampil

pada LCD. Proses dilakukan dengan mengatur RS pada logika 1 yang

Universitas Sumatera Utara

menunjukkan adanya akses ke rd . Kondisi R/W diatur pada logika tinggi yang

menunjukkan adanya proses pembacaan data. Data 4 bit nibble (bit 7 hingga

bit 4) dibaca dengan diawali adanya pulsa logika 1 pada E Clock dan

dilanjutkan dengan data 4 bit nibble rendah (bit 3 hingga bit 0) yang juga

diawali dengan pulsa logika 1 pada E Clock.

Gambar 2.10 Timing Diagram Pembacaan Data dari Register Data Mode 4 Bit

2.3.8 Struktur Memori LCD

Modul LCD M1632 memiliki beberapa jenis memori yang digunakan untuk

menyimpan atau memproses data-data yang akan ditampilkan pada layar LCD. Setiap

jenis memori mempunyai fungsi-fungsi tersendiri.

1. DDRAM

DDRAM merupakan memori tempat karakter yang ditampilkan berada.

Contohnya, karakter “A” atau 41h yang ditulis pada alamat 00 akan tampil

pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut

dituis di alamat 40h, karakter tersebut akan tampil pada baris kedua kolom

pertama dari LCD.

Universitas Sumatera Utara

2. CGRAM

CGRAM adalah memori untuk menggambarkan pola sebuah karakter dan

bentuk karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi memori

akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang.

3. CGROM

CGROM adalah memori untuk menggambarkan pola sebuah karakter dan pola

tersebut sudah ditentukan secara permanen dari HD44780 sehingga pengguna

tidak dapat mengubah lagi. Oleh karena ROM bersifat permanen, pola karakter

tersebut tidak akan hilang walaupun power suplly tidak aktif.

2.3.9 Sensor Suhu LM35

Sensor adalah piranti yang menghasilkan sinyal keluaran yang sebanding dengan

parameter yang diindra (Sensing). Pengukuran temperatur merupakan hal yang sangat

penting. Pendeteksian temperature dapat dilakukan dengan menggunakan sensor

temperature. Ada beberapa jenis sensor temperatur yang dapat digunakan pada

pengukutan temperatur, yakni : termokopel,termistor. Sensor temperature yang sering

di gunakan adalah sensor LM35 karna keakuratannya dibandingkan dengan sensor

lain.

LM35 adalah sensor temperature semiconductor-juncion yang tegangan

outputnya sebanding dengan temperature dalam derajat celcius ( °C). LM35 memiliki

kelebihan dibandingkan sensor suhu berpresisi Kelvin, dimana pemakai tidak perlu

mengambil tegangan konstan yang besar untuk mendapatkan celcius yang tepat.

LM35 memiliki keadaan default yaitu akurasi ±1/4 °C pada temperature ruang dan

±3/4°C pada range maksimum – sampai + 150°C.

Universitas Sumatera Utara

LM35 memiliki faktor skala linier +10.0 mV/°C, ini berarti untuk kenaikan

satu derajat Celsius pada suhu sekitar tegangan output akan naik 10 mV. Tegangan

kerja dari LM35 adalah 4 sampai 30 Volt dengan kuat arus sebesar 60 µA.

Adapun beberapa kelebihan dari LM35 dari sensor temperature lain adalah:

1. Hasil pengkuran lebih akurat disbanding dengan menggunakan termistor.

2. Rangkaian sensor tertutup dan tidak bergantung (tidak terpengaruh) pada

Oksidasi

3. LM35 menghasilkan tegangan keluaran lebih besar dbanding dengan

thermocouple dan tegangan keluaran tidak perlu diperbesar.

2.4. Perangkat Lunak

Perangkat lunak merupakan program yang meliputi bahasa pemrograman BASCOM-

8051 untuk pemrograman mikrokontroler Atmega8535 dan Eagle untuk perancangan

gambar skematik dari rangkaian.

2.4.1. Bahasa BASIC Menggunakan BASCOM-8051

BASCOM-8051 adalah program BASIC compiler berbasis Windows untuk

mikrokontroler keluarga 8051 seperti AT89C51, AT89C2051, dan yang lainnya.

BASCOM-8051 merupakan pemrograman dengan bahasa tingkat tinggi BASIC yang

dikembangkan dan dikeluarkan oleh MCS Elektronik.

Kita akan membahas penggunaan karakter, tipe data, variable, konstanta,

operasi-operasi aritmatika dan logika, array, dan control program.

Universitas Sumatera Utara

2.4.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.4).

karakter Nama

Blank ‘ Apostrophe * Asterisk (symbol perkalian) + Plus sign , Comma - Minus sign . 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)

Tabel 2.3 Karakter Spesial

2.4.1.1. Tipe Data

Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya

tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler.

Berikut adalah tipe data pada BASCOM berikut keterangannya.

Universitas Sumatera Utara

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.4.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 variabel:

1. Nama variable maksimum terdiri atas 32 karakter.

2. Karakter biasa berupa angka atau huruf.

3. Nama variable harus dimulai dengan huruf.

4. Variabel tidak boleh menggunakan kata-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 dahulu.

Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variabel. Cara

pertama adalah menggunakan pernyataan ‘DIM’ diikuti nama tipe datanya. Contoh

pendeklarasian menggunakan DIM sebagai berikut:

Universitas Sumatera Utara

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.4.1.4. Alias

Dengan menggunakan alias, variabel yang sama dapat diberikan nama yang lain.

Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan

untuk mengganti nama variabel yang telah baku, seperti port mikrokontroler.

LEDBAR alias P1

Tombol1 alias P0.1

Tombol2 alias P0.2

Dengan deklarasi seperti diatas, perubahan pada tombol akan mengubah

kondisi P0.1. Selain mengganti nama port, kita dapat pula menggunakan alias untuk

mengakses bit tertentu dari sebuah variabel yang telah dideklarasikan.

Dim LedBar as byte

Led1 as LedBar.0

Led2 as LedBar.1

Led3 as LedBar.2

2.4.1.5. Konstanta

Dalam BASCOM, selain variabel kita mengenal pula constant. Konstanta meruupakan

variabel pula. Perbedaannya dengan variabel 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

Universitas Sumatera Utara

menulis phi daripada menulis 3,14159867. Sama seperti variabel, agar konstanta bias

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”

2.4.1.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 maksimum sebuah indeks sebesar 65535.

Proses pendeklarasian sebuah array hampir 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) = c

p1 = a(c)

Next

Universitas Sumatera Utara

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 Port 1 dari

mikrokontroler.

2.4.2. 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

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:

Universitas Sumatera Utara

Tabel 2.5 Tabel 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 bias 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

Operasi fungsi digunakan untuk melengkapi operator yang sederhana.

2.4.3. Aplikasi dengan LCD (liquid crystal display)

Salah satu kelebihan yang dimiliki oleh compiler BASCOM adalah program yang

menyediakan rutin-rutin khusus untuk menampilkan karakter menggunakan LCD.

Bahkan, kita pun dapat membuat karakter special dengan fasilitas LCD designer.

Universitas Sumatera Utara

Antar muka antara LCD dengan ATmega8535 menggunakan mode

antarmuka 4 bit. Selain lebih menghemat I/O, mode demikianpun mempermudah

proses pembuatan PCB-nya. Program berikut akan menjalankan beberapa perintah

yang berkenaan dengan LCD.

$regfile = “8052.dat”

$crystal = 12000000

dim x as byte

config LCD = 16*2

Cursor off

do

X = 100

Cls

Lcd “namaku Satih”

Lowerline

Lcd “Nilaiku selalu”; x

Wait 1 Cls Lcd “<<<< Hebat >>>>” For x=1 to 16 Shiftlcd left next For x=1 to 32 Shiftlcd right Waitms 200 next x = 100 cls lcd hex x loop

Penjelasan programnya sebagai berikut:

1. Dim x As Byte

Pernyataan di atas merupakan pendeklarasian variable x dengan ukuran byte.

2. Config LCD = 16*2

Universitas Sumatera Utara

Oleh karena itu, konfigurasi yang dapat kita lakukan adalah mendeklarasikannya

dilisting program yang kita buat seperti dikontrolkan di atas.

3. CLS

Perintah CLS berfungsi membersihkan atau mengosongkan tampilan LCD.

4. Lowerline

Perintah berfungsi memindahkan kursor ke baris bawah. Karena LCD yang

digunakan adalah LCD 2x16, maka LCD memiliki 2 baris dan kolom.

5. X = 100

Lcd “namaku Satih”

Lowerline

Lcd “Nilaiku selalu”; x

Ketika kita menjalankan perintah di atas, maka keluarannya adalah:

Namaku Satih

Nilaiku selalu 100

Contoh di atas menunjukkan bahwa kita dapat menampilkan isi sebuah variabel

menggunakan LCD hanya dengan menulis.

6. ShiftLCD left/right

Perintah digunakan untuk menggeser tampilan LCD ke kiri atau ke kanan

sebanyak 1 langkah. Perintah berguna untuk menampilkan kalimat yang panjang

dan mebuat animasi di LCD.

Universitas Sumatera Utara

7. Lcdhex x

Perintah berfungsi mengirim isi sebuah variabel ke LCD dalam format

hexadecimal. Jika kita menjalankan program, maka hasilnya 64.

Universitas Sumatera Utara