Anda di halaman 1dari 19

BAB 2

LANDASAN TEORI

2.1 Sensor Suhu IC LM35

Untuk mendeteksi suhu digunakan sebuah sensor suhu LM 35 yang dapat

dikalibrasikan langsung dalam , LM 35 ini difungsikan sebagai basic temperature

sensor seperti pada gambar 2.1

Gambar 2.1 LM 35 basic temperature sensor

IC LM 35 sebagai sensor suhu yang teliti dan terkemas dalam bentuk

Integrated Circuit (IC), dimana output tegangan keluaran sangat linear berpadanan

dengan perubahan suhu. Sensor ini berfungsi sebagai pengubah dari besaran fisis suhu

ke besaran tegangan yang memiliki koefisien sebesar 10 mV /C yang berarti bahwa

kenaikan suhu 1 C maka akan terjadi kenaikan tegangan sebesar 10 mV.

IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar

karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature

ruang. Jangka sensor mulai dari 55C sampai dengan 150C, IC LM35

penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan

Universitas Sumatera Utara


6

catu daya terbelah. IC LM 35 dapat dialiri arus 60 m A dari supplay sehingga panas

yang ditimbulkan sendiri sangat rendah kurang dari 0 C di dalam suhu ruangan.

Gambar 2.2 Rangkaian pengukur suhu

LM 35 ialah sensor temperatur paling banyak digunakan untuk praktek, karena

selain harganya cukup murah, linearitasnya juga lumayan bagus. LM35 tidak

membutuhkan kalibrasi eksternal yang menyediakan akurasi C pada

temperatur ruangan dan C pada kisaran -55 C to +150

C. LM35 dimaksudkan untuk beroperasi pada -55 C hingga +150 C,

sedangkan LM35C pada -40 C hingga +110 C, dan LM35D pada kisran 0-100C.

LM35D juga tersedia pada paket 8 kaki dan paket TO-220. Sensor LM35 umunya

akan naik sebesar 10mV setiap kenaikan 1C (300mV pada 30 C).

Gambar 2. 3 Bentuk Fisik LM 35

Sensor suhu LM35 berfungsi untuk mengubah besaran fisis yang berupa suhu

menjadi besaran elektri tegangan. Sensor ini memiliki parameter bahwa setiap

Universitas Sumatera Utara


7

kenaikan 1C tegangan keluarannya naik sebesar 10mV dengan batas maksimal

keluaran sensor adalah 1,5V pada suhu 150C.

Pada perancangan kita tentukan keluaran ADC mencapai full scale pada saat

suhu 100C, sehingga tegangan keluaran tranduser (10mV/C x 100C) = 1V.

Pengukuran secara langsung saat suhu ruang, keluaran LM35 adalah 0,3V

(300mV). Tengan ini diolah dengan mengunakan rangkaian pengkondisi sinyal agar

sesuai dangan tahapan masukan ADC. LM35 memiliki kelibihan kelebihan sebagai

berikut:

1. Di kalibrasi langsung dalam celsius

2. Memiliki faktor skala linear + 10.0 mV/C

3. Memiliki ketetapan 0,5C pada suhu 25C

4. Jangkauan maksimal suhu antara -55C sampai 150C

5. Cocok untuk applikasi jarak jauh

6. Harganya cukup murah

7. Bekerja pada tegangan catu daya 4 sampai 30Volt

8. Memiliki arus drain kurang dari 60 uAmp

9. Pemanasan sendiri yang lambat ( low self-heating)

10. 0,08C diudara diam

11. Ketidak linearanya hanya sekitar C

12. Memiliki Impedansi keluaran yang kecil yaitu 0,1 watt untuk beban 1 mAmp.

Sensor suhu tipe LM35 merupakan IC sensor temperatur yang akurat yang

tegangan keluarannya linear dalam satuan celcius. Jadi LM35 memilik kelebihan

Universitas Sumatera Utara


8

dibandingkan sensor temperatur linear dalam satuan kelvin, karena tidak memerlukan

pembagian dengan konstanta tegangan yang besar dan keluarannya untuk

mendapatkan nilai dalam satuan celcius yang tepat. LM35 memiliki impedansi

keluaran yang rendah, keluaran yang linear, dan sifat ketepatan dalam pengujian

membuat proses interface untuk membaca atau mengotrol sirkuit lebuh mudah. Pin

V+ dari LM35 dihubungkan kecatu daya, pin GND dihubungkan ke Ground dan pin

Vout- yang menghasilkan tegangan analog hasil pengindera suhu dihubungkan ke vin

(+) dan ADC 0840.

2.2 Mikrokontroler ATMega8535

Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

microkomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru.

Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor

yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi

secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah

(dibandingkan microprocessor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk

memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat

bantu dan mainan yang lebih canggi serta dalam bidang pendidikan.

Tidak seperti sistem komputer, yang mampu menangani berbagai macam

program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya),

Mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan

lainnya terletak pada perbandingan RAM dan ROM-nya. 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

Universitas Sumatera Utara


9

perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan Pada

mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program

control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM

digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-

register yang digunakan pada Microcontroller yang bersangkutan.

Mikrokontroler saat ini sudah dikenal dan digunakan secara luas pada dunia

industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan

berbagai versi mikrokontroller yang dapat dibeli dengan harga yang relatif murah. Hal

ini dikarenakan produksi massal yang dilakukan oleh para produsen chip seperti

Atmel, Maxim, dan Microchip. Mikrokontroler saat ini merupakan chip utama pada

hamper setiap peralatan elektronika canggih. Alat-alat canggih pun sekarang ini pun

sangat bergantung pada kemampuan mikrokontroler tersebut. Mikrokontroler AVR

memiliki arsitektur RISC 8 bit,dimana 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. Tentu saja itu

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 membedakan

masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur

dan instruksi yang digunakan, mereka bisa dikatakan hampir sama.

Kapabilitas detail dari ATMega8535 adalah sebagai berikut :

Universitas Sumatera Utara


10

1. Sistem mikroprosesor 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 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.

Konfigurasi pin ATMega8535 bisa dilihat pada gambar 2.4 dibawah ini.

Gambar 2. 4 Pin ATMega8535

Universitas Sumatera Utara


11

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 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 Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu

pada lokasi $60 sampai dengan $25F.

Data yang dipakai dalam mikrokontroler ATmega8535 dipresentasikan dalam

sistem bilangan biner, desimal, dan bilangan heksadesimal. Data yang terdapat di

mikrokontroler dapat diolah dengan berbagai operasi aritmatik (penjumlahan,

pengurangan, dan perkalian) maupun operasi nalar (AND, OR, dan EOR /eksklusif

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

Universitas Sumatera Utara


12

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

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.1Struktur 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.

Universitas Sumatera Utara


13

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

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

pertama dari LCD

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

c. 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.4 Perangkat Lunak

2.4.1. Bahasa BASIC Menggunakan BASCOM-8051

. Bahasa yang digunakan untuk memprogram IC ATMega8535 yang digunakan

didalam pembuatan alat ini adalah Bahasa BASCOM-8051.

BASCOM-8051 adalah program BASIC compiler berbasis Windows untuk

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

Universitas Sumatera Utara


14

BASCOM-8051 merupakan bahasa pemrograman tingkat tinggi ayng menggunakan

bahasa BASIC yang dikembangkan dan dikeluarkan oleh MCS Elektronik sebagai

perusahaan yang mempunyai hak paten atas software tersebut. Berikut dijelaskan

spesifikasi dari BASCOM 8051:

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

Tabel 2.1 Karakter Spesial

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)

Universitas Sumatera Utara


15

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

Tabel 2.2 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 variable:

a. Nama variabel maksimum terdiri atas 32 karakter.

b. Karakter biasa berupa angka atau huruf.

c. Nama variabel harus dimulai dengan huruf.

Universitas Sumatera Utara


16

d. Variabel tidak boleh menggunakan kata-kata yang digunkan 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:

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.

Universitas Sumatera Utara


17

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

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

Universitas Sumatera Utara


18

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

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.

Universitas Sumatera Utara


19

2.5 Software Downloader

Untuk mengeksekusi program-program yang telah dimasukkan kedalam IC

mikrokontroller dibutuhkan sebuah software yang berfungsi untuk mengkompile

program-program yang telah dimasukkan. Software yang digunakan untuk

mengkompile program-program yang dimasukkan tersebut digunakan software ISP-

Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti

gambar di bawah ini

Gambar 2.5 ISP- Flash Programmer

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil

file dan kemudian dengan menekan write untuk mengisikan program kedalam IC

mikrokontroller.

Universitas Sumatera Utara


20

2.6 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 meliputi:

Tabel 2.3 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 X <= Y
dengan
>= Lebih besar atau sama X >= Y
dengan

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.

Universitas Sumatera Utara


21

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.7 Aplikasi BASCOM dengan LCD

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.

Antar muka antara LCD dengan AT89S52 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

Universitas Sumatera Utara


22

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:

a. Dim x As Byte

Pernyataan di atas merupakan pendeklarasian variable x dengan ukuran byte.

b. Config LCD = 16*2

Oleh karena itu, konfigurasi yang dapat kita lakukan adalah mendeklarasikannya

dilisting program yang kita buat seperti dikontrolkan di atas.

c. CLS

Perintah CLS berfungsi membersihkan atau mengosongkan tampilan LCD.

d. Lowerline

Perintah berfungsi memindahkan kursor ke baris bawah. Karena LCD yang

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

Universitas Sumatera Utara


23

e. 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:

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

g. Lcdhex x

Perintah berfungsi mengirim isi sebuah variabel ke LCD dalam format

hexadecimal. Jika kita menjalankan program, maka hasilnya 64.

Universitas Sumatera Utara

Anda mungkin juga menyukai