BAB II LANDASAN TEORI 2.1 Teori Umum Pressure (tekanan) adalah gaya yang diberikan pada per unit area. Bisa juga dijelaskan bahwa pressure adalah ukuran intensitas gaya yang diberikan pada suatu titik permukaan. Satuan tekanan untuk hasil pengukuran tekanan biasanya berupa psi, psf, mmHg, inHg, bar, dan atmosphere (atm). Namun satuan yang digunakan dalam hasil pengukuran tekanan ini adalah satuan psi. Besarnya tekanan udara disuatu tempat sangat bergantung pada jumlah udara diatasnya. Semakin tinggi suatu tempat maka semakin sedikit jumlah udara diatasnya, semakin sedikit berat udara yang ditahan wilayah tersebut sehingga tekanannya semakin sedikit. Berbanding terbalik dengan daerah atau dataran rendah, mereka mempunyai tekanan udara yang lebih besar. Jadi tekanan udara di suatu wilayah sangat ditentukan oleh ketinggian tempat atau wilayah tersebut dari permukaan air laut. Dalam pembahasan kali ini, tekanan yang diukur adalah tekanan diruang tertutup. Udara di dalam ruang tertutup memiliki ciri yang berbeda dengan udara di ruang terbuka (atmosfer). Ciri-ciri tersebut menyangkut volume, tekanan, dan suhu. Alat pengukur tekanan udara dalam ruang tertutup disebut manometer. Perbedaan tekanan udara di dalam dan di luar ruang ditunjukkan oleh perbedaan ketinggian permukaan zat cair tersebut. Semakin besar tekanan udara di dalam ruang, perbedaan ketinggian ini juga semakin besar.
4 Universitas Sumatera Utara
2.2 Sensor Pressure Gauge MPX5700 Pressure gauge adalah alat yang digunakan untuk mengukur tekanan fluida (gas atau liquid) dalam tabung tertutup. Satuan dari alat ukur tekanan ini berupa psi (pound per square inch), psf (pound per square foot), mmHg (millimeter of mercury), inHg (inch of mercury), bar, atm (atmosphere).
Gambar 2.1 Konfigurasi Sensor Pressure Gauge MPX5700 Gambar
2.1
merupakan
konfigurasi
sensor
pressure
gauge
seri
MPX5700DPCASE 867C-05. Sensor ini memiliki daerah ukur untuk tekanan dari 0700 kPa, dengan tingkat akurasi ±2,5%. Idealnya cocok untuk sistem Microprosessor atau Microcontroller. Untuk mengkonversi terhadap hasil pengukuran tekanan udara tertutup, sensor ini memerlukan suatu sirkuit listrik tambahan. Kelebihan dari sensor ini adalah memiliki kepekaan yang baik terhadap tekanan yang dihasilkan, masa aktif yang lama, dan membutuhkan biaya yang lebih rendah. Sensor ini juga memiliki tingkat sensitivitas yang rendah sehingga mudah dibawa kemana-mana, karena sensor ini akan bekerja jika ada tekanan udara yang diberikan. Dengan memanfaatkan prinsip kerja dari sensor MPX5700 ini, tekanan didalam ruang tertutup dapat diukur.
2.3 Mikrokontroler ATMega8535 Mikrokontroler adalah otak dari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak komputer. Namun mikrokontroler memiliki nilai tambah
5 Universitas Sumatera Utara
karena didalamnya sudah terdapat memori dan sistem input/output dalam suatu kemasan IC. Mikrokontroler AVR (Alf and Vegard’s RISC processor) standar memiliki arsitektur 8-bit, dimana semua instruksi dikemas dalam kode 16- bit dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Berbeda dengan instruksi MCS-51 yang membutuhkan 12 siklus clock karena memiliki arsitektur CISC (seperti komputer). Teknologi yang digunakan pada mikrokontroler AVR berbeda dengan mikrokontroler seri MCS-51. AVR berteknologi RISC (Reduced Instruction Set Computer), sedangkan seri MCS-51 berteknologi CISC (Complex Instruction Set Computer). Mikrokontroler AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, Keluarga ATMega, dan AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, kelengkapan periferal dan fungsi-fungsi tambahan yang dimiliki. ATMega8535 adalah mikrokontroler CMOS 8-bit daya rendah berbasis arsitektur RISC. Kebanyakan instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah. Mikrokontroler ATMega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan. Fiturfitur tersebut antara lain: -
Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D
-
ADC (Analog to Digital Converter) dengan resolusi 10-bit sebanyak 8 saluran melalui Port A
-
Tiga buah Timer atau Counter dengan kemampuan perbandingan 6 Universitas Sumatera Utara
-
CPU yang terdiri atas 32 register
-
Watchdog Timer dengan osilator internal
-
SRAM sebesar 512 byte
-
Memori Flash sebesar 8 kb dengan kemampuan Read While Write
-
Unit Interupsi Internal dan Eksternal
-
Port antarmuka SPI untuk mendownload program ke flash
-
EEPROM sebesar 512 byte yang dapat diprogram saat operasi
-
Antarmuka komparator analog
-
Port USART untuk komunikasi serial
Gambar 2.2 Blok Diagram ATMega8535
Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega8535. Selain mudah didapatkan dan lebih murah Atmega8535 juga memiliki fasilitas yang lengkap. 7 Universitas Sumatera Utara
2.3.1 Konfiigurasi PIN ATMega85535
Gambar G 2.33 Konfigurasi Pin ATM Mega8535 Berikut ini adalah susu unan pin-pinn dari ATM Mega8535:
VCC merup pakan pin yyang berfung gsi sebagai pin masukkkan catu day ya
GND meru upakan pin gground
Port A (PA A0..PA7) meerupakan pin n I/O dua arrah dan pin masukan ADC A
Port B (PB B0..PB7) m merupakan pin p I/O duaa arah dan pin fungsi khusus, yaitu Timerr/Counter, K Komparatorr Analog, daan SPI
Port C (PC C0..PC7) m merupakan pin p I/O duaa arah dan pin fungsi khusus, yaitu TWI, Komparatoor Analog, dan d Timer Oscilator O
Port D (PD D0..PD7) m merupakan pin p I/O duaa arah dan pin fungsi khusus, yaitu Kom mparator A Analog, Inteerupsi Iksternal dan komunikassi serial USART
Reset meru upakan pin yyang digunaakan untuk mereset m mikkrokontroleer
XTAL1 daan XTAL2 merupakan n pin masukkan clockk eksternal (osilator menggunak kan kristal, bbiasanya deengan frekuensi 11,05992 MHz)
8 Universitas Sumatera Utara
2.3.2 Port-P Port Pada ATMega853 A 35 Dan Fung gsinya -
Portt A
-
Merrupakan 8-b bit directionnal port I/O.. Setiap pinn nya dapat m menyediakan n inteernal pull-up p resistor (ddapat diatur per bit). Ou utput bufferr Port A dap pat mem mberi arus 20 2 mA dan dapat meng gendalikan display d LED D secara lan ngsung. Data Direction Register poort A (DDR RA) harus diisetting terleebih dahulu u DRA diisi 0 jika ingin m memfungsikan pinsebeelum Port A digunakann. Bit-bit DD pin port A yang g bersesuaiaan sebagai input, i atau diisi d 1 jika ssebagai outp put. Selaain itu, kedeelapan pin pport A juga digunakan untuk u masuukan sinyal analog bagi A/D conveerter.
-
Portt B Merrupakan 8--bit directioonal port I/O. Setiap p pinnya ddapat meny yediakan inteernal pull-up up resistor (dapat diattur per bit). Output bbuffer Port B dapat mem mberi arus 20 2 mA dann dapat men ngendalikan display LE ED secara laangsung. Data Direction n Register port B (D DDRB) haarus disettinng terlebih h dahulu DRB diisi 0 jika ingin memfungsiikan pinsebeelum Port B digunakann. Bit-bit DD pin port B yang g bersesuaiaan sebagai input, i atau diisi d 1 jika ssebagai outp put. Pinga memilikii untuk fun ngsi-fungsi alternatif kkhusus sepeerti yang pin port B jug dapat dilihat daalam tabel bberikut. Tabel 2.1 Fungsi Pin-pin Porrt B
9 Universitas Sumatera Utara
-
Portt C Merrupakan 8--bit directioonal port I/O. Setiap p pinnya ddapat meny yediakan inteernal pull-up up resistor (dapat diattur per bit). Output bbuffer Port C dapat mem mberi arus 20 2 mA dann dapat men ngendalikan display LE ED secara laangsung. Data Direction n Register port C (D DDRC) haarus disettinng terlebih h dahulu sebeelum Port C digunakann. Bit-bit DD DRC diisi 0 jika ingin memfungsiikan pinpin port C yan ng bersesuaaian sebagaai input, ataau diisi 1 jiika sebagaii output. Selaain itu, duaa pin port C (PC6 daan PC7) ju uga memilikki fungsi alternatif a sebaagai oscillator untuk tiimer/counteer 2.
-
Portt D Merrupakan 8--bit directioonal port I/O. Setiap p pinnya ddapat meny yediakan inteernal pull-up up resistor (dapat diattur per bit). Output buuffer Port D dapat mem mberi arus 20 2 mA dann dapat men ngendalikan display LE ED secara laangsung. Data Direction n Register port D (D DDRD) haarus disettinng terlebih h dahulu sebeelum Port D digunakann. Bit-bit DD DRD diisi 0 jika ingin memfungsiikan pinpin port D yan ng bersesuaaian sebagaai input, ataau diisi 1 j ika sebagaii output. Selaain itu, pin--pin port D juga memiiliki untuk fungsi-funggsi alternatif khusus sepeerti yang daapat dilihat ddalam tabell berikut. Tabel 2.2 Fungsi Pin-pin Porrt D
10 Universitas Sumatera Utara
2.4 LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) adalah satu alat untuk display berbagai character. Antaranya LCD yang mempunyai dot matrix controller HD44780. HD44780 boleh beroperasi pada 5X8 atau 5X10 dot matrix. LCD ini mempunyai beberapa ukuran mengikut bilangan character. Antaranya 16X2 atau 20X4 character. 16X2 character bermakna LCD itu mempunyai 16 character pada line dengan 2 lines. LCD ini mempunyai 16 pin.
Gambar 2.4 LCD Character 16x2 LCD adalah LCD yang tampilannya terbatas pada tampilan karakter, khususnya karakter ASCII (seperti karakter-karakter yang tercetak pada keyboard komputer). Sedangkan LCD Graphics = LCD Grafik, adalah LCD yang tampilannya tidak terbatas, bahkan dapat menampilkan foto. LCD Grafik inilah yang terus berkembang seperti layar LCD yang biasa dilihat di notebook atau laptop. Dalam pembahasan kali ini akan dikonsentrasikan pada LCD karakter. Jenis LCD karakter yang beredar di pasaran biasa dituliskan dengan bilangan matriks dari jumlah karakter yang dapat dituliskan pada LCD tersebut, yaitu jumlah kolom karakter dikali jumlah baris karakter. Sebagai contoh, LCD 16X2, artinya terdapat 16 kolom dalam 2 baris ruang karakter, yang berarti total karakter yang dapat dituliskan adalah 32 karakter.
11 Universitas Sumatera Utara
Gambar 2.5 Penunjukkan Kolom dan Baris Pada LCD 16x2 LCD Karakter dalam pengendaliannya cenderung lebih mudah dibandingkan dengan LCD Grafik. Namun ada kesamaan diantara keduanya, yaitu inisialisasi. Inisialisasi adalah prosedur awal yang perlu dilakukan dan dikondisikan kepada LCD agar LCD dapat bekerja dengan baik. Hal yang sangat penting yang ditentukan dalam proses inisialisasi adalah jenis interface (antarmuka) antara LCD dengan controller (pengendali). Pada umumnya terdapat dua jenis antarmuka yang dapat digunakan dalam pengendalian LCD karakter: Untuk dapat mengendalikan LCD karakter dengan baik, tentu perlu koneksi yang benar. Dan koneksi yang benar dapat diwujudkan dengan cara mengetahui pinpin antarmuka yang dimiliki oleh LCD karakter tersebut. LCD karakter yang beredar di pasaran memiliki 16 pin antarmuka:
Gambar 2.6 Spesifikasi LCD 16x2 Keterangan:
1. VSS = GND 2. VDD = Positif 5 Volt 3. Vo = Tegangan untuk mengatur kontras dari tampilan karakter 12 Universitas Sumatera Utara
4. RS 5. R/W 6. E = pin 4 (RS) – pin 6 (E) digunakan untuk aktivasi LCD 7. DB0 8. DB1 9. DB2 10. DB3 11. DB4 12. DB5 13. DB6 14. DB7 = pin 7 (DB0) – pin 14 (DB7) digunakan untuk komunikasi data paralel dengan pengendali 15. Anoda LED Backlight LCD 16. Katoda LED Backlight LCD
Seperti yang dipaparkan di paragraph sebelumnya, bahwa ada dua jenis antarmuka yang dapat digunakan dalam mengendalikan LCD karakter: 4 Bit, 8 Bit. Dalam 4 BitAntarmuka hanya membutuhkan empat pin data komunikasi data parallel, DB4 (pin 11) – DB7 (pin14), yang dikoneksikan dengan pengendali. Langkah-langkah inisialisasi haruslah bersesuaian dengan apa yang telah dituliskan pada datasheet LCD karakter yang digunakan. Tiap jenis antarmuka memiliki langkah inisialisasi yang unik, dan langkah-langkah pemrograman biasa dituliskan dalam bentuk diagram-alir (flowchart):
13 Universitas Sumatera Utara
Gambar 2.7 Diagram-alir 4 Bit Antarmuka
Gambar 2.8 Diagram-alir 8 Bit Antarmuka 14 Universitas Sumatera Utara
2.5 Pemrograman C Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide pada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang ditulis oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan pada komputer Digital Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX. Standar bahasa C yang asli adalah standar dari UNIX.Sistem operasi, kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak dibuat untuk komputer mikro. Untuk membuat versi-versi tersebut menjadi standar, ANSI (American National Standard Institutes) membentuk suatu komite (ANSI Committee X3J11) pada tahun 1983 yang kemudian menetapkan standar ANSI untuk bahasa C. Standar ANSI ini didasarkan kepada standar UNIX yang diperluas. Bahasa C mempunyai kemampuan lebih dibanding dengan bahasa pemrograman yang lain. Bahasa C merupakan bahasa pemrograman yang bersifat portabel, yaitu suatu program yang dibuat dengan bahasa C pada suatu komputer akan dapat dijalankan pada komputer lain dengan sedikit (atau tanpa) ada perubahan yang berarti. Bahasa C merupakan bahasa yang biasa digunakan untuk keperluan pemrograman sistem, antara lain untuk membuat: 1. Assembler 2. Interpreter 3. Compiler 15 Universitas Sumatera Utara
4. Sistem Operasi 5. Program bantu(utility) 6. Editor 7. Paket program aplikasi
2.5.1
Kelebihan dan Kelemahan Bahasa C
Bahasa C mempunyai beberapa kelebihan dibanding dengan bahasa pemrograman yang lain, yaitu: -
KelebihanBahasa C
1. C mempunyai operator yang lengkap untuk memanipulasi data. 2. Berbagai struktur data dan pengendalian proses disediakan dalam C, sehingga memungkinkan dibuat program yang terstruktur, bahkan program yang berorientasi pada objek OOP (Object Orientied Programming). 3. Dibanding dengan bahasa mesin atau rakitan (assembly), C jauh lebih mudah dipahami dan pemrogram tidak perlu tahu detail mesin komputer yang digunakan sehingga tidak menyita waktu dalam menyelesaikan masalah ke dalam bentuk program. C merupakan bahasa yang berorientasi pada permasalahan (objek), dan bukan berorientasi pada mesin. 4. Kecepatan eksekusi C mendekati kecepatan eksekusi program yang dibuat dengan bahasa tingkat rendah, namum kemudahan dalam memprogram setara dengan bahasa tingkat tinggi. 5. C memungkinkan memanipulasi data dalam bentuk bit maupun byte secara efisien. Disamping itu juga memungkinkan untuk melakukan manipulasi alamat dari suatu data yang dalam C dinamakan pointer. -
Kelemahan Bahasa C 16 Universitas Sumatera Utara
1. Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai, yang jika belum familiar akan menimbulkan masalah. 2. Para pemrogram C tingkat pemula umumnya belum pernah mengenal pointer dan tidak terbiasa menggunakannya, padahal keampuhan bahasa C justru terletak pada pointer. Namun kesulitan di atas biasanya hanya bersifat sementara saja.
2.5.2 Fungsi Penyusun Bahasa C -
Fungsi main() Pada program bahasa C, main() merupakan fungsi yang istimewa, karena
fungsi main harus selalu ada dalam program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda { di awal fungsi menyatakan awal tubuh fungsi dan sekaligus awal program, sedangkan tanda } di akhir tubuh fungsi menyatakan akhir dari tubuh fungsi sekaligus akhir eksekusi program. Jika program lebih dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi, untuk memudahkan pencarian program utama. -
Fungsi printf() Fungsi printf() merupakan fungsi yang umum digunakan untuk menampilkan
suatu keluaran program pada layar penampil (monitor). Untuk menampilkan tulisan Selamat Datang maka pernyataan yang diperlukan berupa: printf("Selamat Datang"); Pernyataan
di
atas
berupa
pemanggilan
fungsi
printf()
dengan
argumen/parameter berupa string "Selamat Datang". Dalam C suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda ("). Pernyataan dalam bahasa C 17 Universitas Sumatera Utara
selalu diakhiri dengan titik koma ( ; ), yang dipakai sebagai pemberhentian pernyataan dan bukanlah sebagai pemisah antara dua pernyataan. Contoh berikut adalah contoh program yang agak lengkap: #include main() { printf("Selamat datang di program bahasa C"); } Jika program dieksekusi maka akan menghasilkan keluaran string Selamat darang di program bahasa C. -
Praprosesor #include
Pada contoh program sebelumnya terdapat baris yang berisi #include : 1. #include merupakan salah satu jenis pengarah praprosesor yang digunakan untuk memberitahu kompiler agar dalam proses linking membaca file yang dinamakan file judul (header file), yaitu file yang diantaranya berisi deklarasi fungsi dan definisi konstanta. 2. Bahasa C menyediakan beberapa file judul yang ditandai dengan ekstensi .h. Misal, pada program di atas, #include menyatakan pada kompiler agar membaca file bernama stdio.h saat melakukan kompilasi. 3. Bentuk umum #include: #include atau #include "namafile" 4. Bentuk pertama ( #include ) mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus (direktori file include), yang merupakan default direktori file-file judul yang disediakan oleh bahasa pemrograman. 5. Bentuk kedua ( #include "namafile" ) menyatakan bahwa pencarian file dilakukan pertama kali pada direktori aktif tempat program sumber, dan 18 Universitas Sumatera Utara
seandainya tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya sesuai dengan perintah pada sistem operasi (yaitu path). 6. Kebanyakan program melibatkan file stdio.h, yaitu file judul I/O standar yang disediakan dalam C, yang diperlukan untuk program-program yang menggunakan pustaka fungsi I/O standar seperti printf().
2.5.3
Kondisi di bahasa C
Kondisi dalam bahasa C ada dua macam yaitu if dan switch pernyataan if mempunyai bentuk : if(kondisi) pernyataan; Bentuk ini menyatakan :
Jika kondisi yang di seleksi adalah benar (bernilai logika = 1), maka pernyataan yang mengikutinya akan di proses.
Sebaliknya, jika kondisi yang di seleksi tidak benar (bernilai logika = 0), maka pernyataan yang mengikutinya tidak akan di proses.
19 Universitas Sumatera Utara