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

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 temperatur C. LM35 ruangan dan C pada kisaran -55 C C to pada +150

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

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

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

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 registerregister 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 datadata 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 Bit Byte Integer Word Long Single String Ukuran (byte) 1/8 1 2 2 4 4 hingga byte Range

0 255 -32,768 - +32,767 0 65535 -214783648 +2147483647 254 -

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 ISPFlash 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 Sama dengan Tidak sama dengan Lebih kecil dari Lebih besar dari Lebih kecil atau dengan Lebih besar atau dengan

sama sama

Pernyataan X=Y X <> Y X<Y X>Y X <= Y 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.

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