BAB II LANDASAN TEORI
2.1 LPG (liquefied Petroleum Gas) LPG adalah bahan bakar gas cair yang tidak berwarna dan berbau. Tanpa hembusan angin. LPG akan menghambur secara perlahan dalam udara. Agar kebocoran gas dapat terdeteksi, Pertamina telah memberikan zat khusus dalam gas LPG yang disebut Mercaptane. Baunya yang khas dan menusuk dapat segera tercium oleh manusia. Diharapkan segera tanggap terhadap kebocoran pada peralatan LPG. Elpiji, dari peralatan singkatan bahasa inggris, LPG (liquefied petroleum gas) yang berarti “gas minyak bumi yang dicairkan” merupakan campuran dari berbagai unsur hidrokarbon yang berasal dari gas alam dengan menambah tekanan dan menurunkan suhunya sehingga gas berubah menjadi cair. Komponennya didominasi propane (C3H8) dan butane (C4H10). Elpiji juga mengandung hidrokarbon ringan lainnya dalam jumlah kecil, misalkan etana (C2H6) dan petana (C5H12). Dalam kondisi atmosfer, elpiji akan berbentuk gas. Volume elpiji dalam bentuk cair lebih kecil dibandingkan dalam bentuk gas untuk berat yang sama, karena itu elpiji dipasarkan dalam bentuk cair dalam tabung-tabung logam bertekanan. Untuk memungkinkan terjadinya ekspansi panas (thermal expansion) dari cairan yang dikandungnya, tabung elpiji tidak diisi secara penuh, hanya sekitar 80-85% dari kapasitasnya. Rasio antar volume gas bila menguap dengan gas dalam keadaan cair bervariasi tergantung komposisi, tekanan dan temperature, tetapi biasanya sekitar 250:1.
5
Tekanan dimana elpiji berbentuk cair dinamakan tekanan uapnya. Juga bervariasi tergantung komposisinya dan temperature sebagai contoh dibutuhkan tekanan sekitar 220 kPa (2.2 bar) bagi butane murni pada 20⁰C (68⁰F) agar mencair dan sekitar 2.2 Mpa (22 bar) bagi propana murni pada 55⁰C (131⁰F). Menurut spesifikasinya, elpiji dibagi menjadi tiga jenis yaitu elpiji campuran, elpiji propane, dan elpiji butane. Spesifikasi masing-masing elpiji tercantum dalam keputusan Direktur Jendral Minyak dan Gas Bumi Nomor : 25K/36/DDJM/1990. Elpiji yang dipasarkan Pertamina adalah elpiji campuran. 2.1.1. Sifat khas LPG Perlu diketahui gas LPG bersifat Flammable (mudah terbakar). Dalam batas Flammabality, LPG adalah sumber api yang terbuka, sehingga letup (percikan api) yang sekecil apapun dapat segera menyambar gas LPG. Maka pastikan bahwa bau gas LPG telah hilang sama sekali, walaupun membutuhkan waktu yang agak lama. Hal ini karena sifat gas LPG yang sangat lamban berputar di udara. 2.1.2 Sifat umum LPG Sebagai bahan bakar, gas LPG mudah terbakar apabila terjadi persenyawaan di udara. Untuk mencegah hal-hal
yang tidak diinginkan perlu
diketahui beberapa sifat umumnya antara lain : Tekanan gas LPG cukup besar, sehingga bila terjadi kebocoran LPG akan membentuk gas secara cepat, memuai dan sangat mudah terbakar. LPG menghabur di udara secara perlahan sehingga sukar mengetahuinya secara dini.
6
Berat jenis LPG lebih besar dari pada udara sehingga cenderung bergerak ke bawah. LPG tidak mengandung racun. Daya pemanasannya cukup tinggi, namun tidak meninggalkan debu dan abu (sisa pembakaran). Cara penggunaanya cukup mudah dan praktis. 2.1.3 Bahaya LPG Salah satu resiko pengunaan elpiji adalah terjadinya kebocoran pada tabung atau instalasi gas, sehingga bila tekena api dapat menyebabkan kebakaran. Pada awalnya, gas elpiji tidak berbau tapi bila demikian akan sulit dideteksi apabila terjadi kebocoran pada tabung gas. Menyadari hal itu pertamina menambahkan gas mecaptan yang baunya khas dan menusuk hidung, langkah itu sangat berguna untuk mendeteksi bila terjadi kebocoran tabung gas. Tekanan elpiji cukup besar (tekanan uap sekitar 120 psig), sehingga kebocoran elpiji akan membentuk gas secara cepat dan merubah volumenya menjadi lebih besar. 2.2 Arduino Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328. Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer
7
dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya.
Gambar 2.1 Arduino Uno R3 Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru sebagai berikut :
Pinout 1.0 : ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi
8
dengan tegangan 5V dan dengan Arduino Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya.
Sirkit RESET yang lebih kuat.
Atmega 16U2 menggantikan 8U2.
“Uno” berarti satu dalam bahasa Italia dan dinamai untuk menandakan keluaran (produk) Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 akan menjadi referensi untuk versi-versi Arduino selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board Arduino USB dan model referensi untuk papan Arduino, untuk suatu perbandingan dengan versi sebelumnya, lihat indeks dari board Arduino. Tabel 2.1 Konfigurasi Arduino Uno Konfigurasi Mikrokontroler
ATmega 328
Tengangan Pengoperasian
5V
Tegangan Input
7-12 V
Batas Tegangan Input
6-20 V
Jumlah Pin I/O
14 ( 6 diantaranya menyediakan keluaran PWM)
Jumlah Pin Input Analog
6
Arus DC Tiap Pin I/O
40 mA
Arus DC Untuk Pin 3.3V
50 mA
Memori Flas
32KB (ATmega328), sekitar 0.5KB digunakan oleh bootloader
SRAM
2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
Kecepatan Waktu
16 Mhz
9
2.2.1 Daya (Power) Arduino UNO dapat disuplai melalui koneksi USB atau dengan sebuah power suplai eksternal. Sumber daya dipilih secara otomatis. Suplai eksternal (non-USB) dapat diperoleh dari sebuah adaptor AC ke DC atau battery. Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board. Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor POWER. Board Arduino UNO dapat beroperasi pada sebuah suplai eksternal 6 sampai 20 Volt. Jika disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5 Volt dan board Arduino UNO bisa menjadi tidak stabil. Jika menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino UNO. Range yang direkomendasikan adalah 7 sampai 12 Volt. Pin-pin dayanya adalah sebagai berikut :
VIN. Tegangan input ke Arduino board ketika board sedang menggunakan sumber suplai eksternal (seperti 5 Volt dari koneksi USB atau sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika penyuplaian tegangan melalui power jack, aksesnya melalui pin ini.
5V. Pin output ini merupakan tegangan 5 Volt yang diatur dari regulator pada board. Board dapat disuplai dengan salah satu suplai dari DC power jack (7-12V), USB connector (5V), atau pin VIN dari board (7-12). Penyuplaian tegangan melalui pin 5V atau 3,3V membypass regulator, dan dapat membahayakan board. Hal itu tidak dianjurkan.
10
3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus maksimum yang dapat dilalui adalah 50 mA.
GND. Pin ground berfungsi sebagai jalur ground pada arduino.
2.2.2 Memori ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega 328 juga mempunyai 2 KB SRAM dan 1 KB EEPROM. 2.2.3 Input Dan Output Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Fungsifungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsifungsi spesial antara lain :
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih jelasnya.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi analogWrite().
11
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.
LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6 input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial :
TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI dengan menggunakan Wire library.
Memiliki sepasang pin lainnya pada board:
AREF. Referensi tegangan untuk input analog. Digunakan dengan analogReference().
Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara khusus, digunakan untuk menambahkan sebuah tombol reset untuk melindungi yang memblock sesuatu pada board.
2.2.4 Komunikasi Arduino UNO mempunyai sejumlah fasilitas untuk komunikasi dengan sebuah komputer, Arduino lainnya atau mikrokontroler lainnya. Atmega 328 menyediakan serial komunikasi UART TTL (5V), yang tersedia pada pin digital 0 (RX) dan 1 (TX). Sebuah Atmega 16U2 pada channel board serial komunikasinya
12
melalui USB dan muncul sebagai sebuah port virtual ke software pada komputer. Firmware 16U2 menggunakan driver USB COM standar, dan tidak ada driver eksternal yang dibutuhkan. Bagaimanapun, pada Windows, sebuah file inf pasti dibutuhkan.
Software
Arduino
mencakup
sebuah
serial
monitor
yang
memungkinkan data tekstual terkirim ke dan dari board Arduino. LED RX dan TX pada board akan menyala ketika data sedang ditransmit melalui chip USB-toserial dan koneksi USB pada komputer (tapi tidak untuk komunikasi serial pada pin 0 dan 1). Sebuah software serial library memungkinkan untuk komunikasi serial pada beberapa pin digital UNO. Atmega328 juga mensupport komunikasi I2C (TWI) dan SPI. Software Arduino mencakup sebuah wire library untuk memudahkan menggunakan bus I2C, lihat dokumentasi untuk lebih jelas. Untuk komunikasi SPI, menggunakan SPI library. 2.2.5 Programing Arduino UNO dapat diprogram dengan software Arduino (download). Pilih “Arduino Uno dari menu Tools > Board(termasuk mikrokontroler pada board). ATmega328 pada Arduino Uno hadir dengan sebuah bootloader yang memungkinkan kita untuk mengupload kode baru ke ATmega328 tanpa menggunakan pemrogram hardware eksternal. ATmega328 berkomunikasi menggunakan protokol STK500 asli (referensi, file C header) Kita juga dapat membypass bootloader dan program mikrokontroler melalui kepala/header ICSP (In-Circuit Serial Programming). Sumber kode firmware ATmega16U2 (atau 8U2 pada board revisi 1 dan revisi 2) tersedia. ATmega16U2/8U2 diload dengan sebuah bootloader DFU, yang dapat diaktifkan dengan :
13
Pada board Revisi 1: Dengan menghubungkan jumper solder pada belakang board (dekat peta Italy) dan kemudian mereset 8U2.
Pada board Revisi 2 atau setelahnya: Ada sebuah resistor yang menarik garis HWB 8U2/16U2 ke ground, dengan itu dapat lebih mudah untuk meletakkan ke dalam mode DFU. Kita dapat menggunakan software Atmel’s FLIP (Windows) atau pemrogram DFU (Mac OS X dan Linux) untuk meload sebuah firmware baru. Atau kita dapat menggunakan header ISP dengan sebuah pemrogram eksternal (mengoverwrite bootloader DFU). Lihat tutorial user-contributed ini untuk informasi selengkapnya.
2.2.6 Reset (Software) Dari pada mengharuskan sebuah penekanan fisik dari tombol reset sebelum sebuah penguploadan, Arduino Uno didesain pada sebuah cara yang memungkinkannya untuk direset dengan software yang sedang berjalan pada pada komputer yang sedang terhubung. Salah satu garis kontrol aliran hardware (DTR) dari ATmega8U2/16U2 di hubungkan ke garis reset dari ATmega328 melalui sebuah kapasitor 100 nanofarad. Ketika saluran ini dipaksakan (diambil rendah), garis reset jatuh cukup panjang untuk mereset chip. Software Arduino menggunakan kemampuan ini untuk memungkinkan kita untuk mengupload kode dengan mudah menekan tombol upload di software Arduino. Ini berarti bahwa bootloader dapat mempunyai sebuah batas waktu yang lebih singkat, sebagai penurunan dari DTR yang dapat menjadi koordinasi yang baik dengan memulai penguploadan. Pengaturan ini mempunyai implikasi. Ketika Arduino Uno dihubungkan ke sebuah komputer lain yang sedang running menggunakan OS Mac X atau Linux, Arduino Uno mereset setiap kali sebuah koneksi dibuat dari
14
software (melalui USB). Untuk berikutnya, setengah-detik atau lebih, bootloader sedang berjalan pada Arduino UNO. Ketika Arduino UNO diprogram untuk mengabaikan data yang cacat/salah (contohnya apa saja selain sebuah penguploadan kode baru) untuk menahan beberapa bit pertama dari data yang dikirim ke board setelah sebuah koneksi dibuka. Jika sebuah sketch sedang berjalan pada board menerima satu kali konfigurasi atau data lain ketika sketch pertama mulai, memastikan bahwa software yang berkomunikasi menunggu satu detik setelah membuka koneksi dan sebelum mengirim data ini. Arduino Uno berisikan sebuah jejak yang dapat dihapus untuk mencegah reset otomatis. Pad pada salah satu sisi dari jejak dapat disolder bersama untuk mengaktifkan kembali. Pad itu diberi label “RESET-RN” Kita juga dapat menonaktifkan reset otomatis dengan menghubungkan sebuah resistor 110 ohm dari tegangan 5V ke garis reset; lihat thread forum ini untuk lebih jelasnya. 2.2.7 USB Arduino UNO mempunyai sebuah sebuah sekring reset yang memproteksi port USB komputer dari hubungan pendek dan arus lebih. Walaupun sebagian besar komputer menyediakan proteksi internal sendiri, sekring menyediakan sebuah proteksi tambahan. Jika lebih dari 500 mA diterima port USB, sekring secara otomatis akan memutuskan koneksi sampai hubungan pendek atau kelebihan beban hilang. 2.2.8 Karakteristik Fisik Panjang dan lebar maksimum dari PCB Arduino UNO masing-masingnya adalah 2.7 dan 2.1 inci, dengan konektor USB dan power jack yang memperluas dimensinya. Empat lubang sekrup memungkinkan board untuk dipasangkan ke
15
sebuah permukaan atau kotak. Sebagai catatan, bahwa jarak antara pin digital 7 dan 8 adalah 160 mil. (0.16"), bukan sebuah kelipatan genap dari jarak 100 mil dari pin lainnya. 2.2.9 Mikrokontroller Mikrokontroller merupakan sebuah processor yang digunakan untuk kepentingan kontrol. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu computer pribadi dan computer main frame, mikrokontroller dibangun dari elemen – elemen dasar yang sama. Seperti umumnya computer, mikrokontroller adalah alat yang mengerjakan instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu system terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan computer untuk melakukan tugas yang lebih kompleks yang di inginkan oleh programmer. Beberapa fitur yang umumnya ada di dalam mikrokontroller adalah sebagai berikut :
RAM (Random Access Memory) RAM digunakan oleh mikrokontroller untuk tempat penyimpanan variable. Memori ini bersifat volatile yang berarti akan kehilangan semua datanya jika tidak mendapatkan catu daya.
ROM (Read Only Memory) Rom seringkali disebut sebagai kode memori karena berfungsi untuk tepat penyimpanan program yang akan diberikan oleh user.
Register Merupakan tempat penyimpanan nila-nilai yang akan digunakan dalam proses yang telah disediakan oleh mikrokontroller.
16
Special Function Register Merupakan register khusus yang berfungsi untuk mengatur jalannya mikrokontroller. Register ini terletak pada RAM
Input dan Output Pin Pin Input adalah bagian yang berfungsi sebagai penerima signal dari luar, pin ini dapat dihubungkan ke berbagai media inputan seperti keypad, sensor, dan sebagainya. Pin output adalah bagian yang berfungsi untuk mengeluarkan signal dari proses algoritma mikrokontroller.
Interrupt Interrupt bagian dari mikrokontroller yang berfungsi sebagai bagian yang dapat melakukan interupsi, sehingga ketika program utama sedang berjalan, program utama tersebut dapat diinterupsi dan menjalankan program interupsi terlebih dahulu. Beberapa interrupt pada umumnya adalah sebagai berikut : Interrupt eksternal Interrupt akan terjadi bila ada inputan dari pin interrupt. Interrupt timer Interrupt akan terjadi bila waktu tertentu telah tercapai. Interrupt serial Interrup yang terjadi ketika ada penerimaan data dari komunikasi serial.
2.2.10 Fitur AVR ATmega 328 ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang dimana setiap proses
17
eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroller ini memiliki beberapa fitur antara lain :
130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.
32x8-bit register serba guna.
Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanent karena EEPROM tetap data menyimpan data meskipun catu daya dimatikan.
Memiliki SRAM (Static Random Access Memory) sebesar 2KB
Memiliki pin I/O digital sebanyak 14pin 6 diantaranya PIFM (Pulse Width Modulation) output
Master/Slave SPI Serial interface
Mikrokontroller ATmega 328 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga memaksimalkan kerja dan parallelism. Instruksi-Instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari memori program. Konsep inilah yang memungkinkan instruksi –instruksi dapat dieksekusi dalam setiap satu siklus clock.
18
32x8-bit register serba guna digunakan untuk mendukung operasi pada ALU (Arithmatic Logic Unit) yang dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tak langsung untuk mengambil data pada ruang memori data. Ketiga register pointer 16-bit ini disebut dengan register X (gabungan R26 dan R27), register Y (gabungan R28 dan R29), dan register Z (gabungan R30 dan R31). Hampir semua instruksi AVR memiliki format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau 32-bit. Selain register serba guna di atas, terdapat I/O sebesar 64 byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai register control timer/ Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainya. Register-register ini menempati memori pada alamat 0x20h-0x5Fh. Berikut ini adalah tampilan architecture AVR.
Gambar 2.2 Blok diagram AVR
19
Dan gambar 2.3 memperlihatkan blok diagram AVR ATmega 328
Gambar 2.3 Blok diagram AVR ATmega 328 20
2.2.11 Konfigurasi Pin ATmega 328 Berikut adalah gambar pemetaan pin ATmega 328
Gambar 2.4 Konfigurasi pin ATmega 328
21
Dan dari pemetaan pin ATmega328 berikut fungsi-fungsi pin dari setiap port pada table 2.2.
Tabel 2.2 Fungsi pin port B
Tabel 2.3 Fungsi pin port C
22
Tabel 2.4 Fungsi pin port D
2.3 Sensor Pengertian umum sensor secara umum didefinisikan sebagai alat yang mampu menangkap fenomena fisika atau kimia kemudian mengubahnya menjadi sinyal elektrik baik arus listrik ataupun tegangan. Fenomena fisik yang mampu menstimulus sensor untuk menghasilkan sinyal elektrik meliputi temperatur, tekanan, gaya, medan magnet cahaya, pergerakan dan sebagainya. Sementara fenomena kimia dapat berupa konsentrasi dari bahan kimia baik cairan maupun gas.Dengan definisi seperti ini maka sensor merupakan alat elektronik yang begitu banyak dipakai dalam kehidupan manusia saat ini. Bagaimana tekanan jari kita pada key board komputer, remote televisi, lantai lift yang kita tuju, menghasilkan perubahan pada layar computer atau televisi, serta gerakan pada lift adalah contoh mudah sensor secara luas. Atau sensor temperatur yang banyak digunakan dalam mengontrol temperatur ruangan pada AC. Demikian pula sensor pengukur cairan
23
oksigen ataupun gas lainnya yang sering digunakan dirumah sakit. Hampir seluruh kehidupan sehari – hari saat ini tidak ada yang tidak melibatkan sensor. Tidak mengherankan jika sensor (atau juga ada yang menyebutnya dengan transducer) banyak disebut juga sebagai panca indera-nya alat elektronik modern. 2.3.1 Gas Sensor MQ-2 Sensor gas MQ-2 merupakan sensor yang dapat digunakan untuk mendeteksi keberadaan gas LPG melalui keberadaan senyawa propane dan butane yang memang terdapat dalam gas LPG.
Gambar 2.5 Sensor gas MQ-2
Sensor ini memiliki sensitifitas yang tinggi dan waktu respon yang cepat dalam mendeteksi gas LPG. Sensor gas MQ-2 sendiri dapat mendeteksi gas sebagai berikut : LPG, Iso butana, propana, methane, alkohol, hidrogen. Pada percobaan ini dapat dideteksi keberadaan gas iso butana menggunakan korek api gas. Sensor terdiri dari tabung keramik mikro berbahan AL2O3, lapisan sensitif SnO2 (Tin Dioxide), elektroda pengukur dan kawat pemanas yang dibungkus dalam jaris besi dan plastik. Ketika molekul gas menyentuh permukaan lapisan
24
sensitif SnO2 , maka satuan resistansi dari kawat pemanas (heater) akan mengecil sesuai dengan konsentrasi gas. Sebaliknya, jika konsentrasi gas menurun akan menyebabkan semakin tingginya resistansi kawat pemanas (heater) sehingga tegangan keluarannya akan menurun. Dengan demikian perubahan konsentrasi gas dapat mengubah nilai resistansi sensor dan juga akan mempengaruhi tegangan keluarannya juga, hal inilah yang dijadikan acuan bagi pendeteksian gas LPG. 2.3.2 Prinsip Kerja Pada dasarnya prinsip kerja dari sensor tersebut adalah mendeteksi keberadaan gas-gas yang dianggap mewakili LPG, i-butane, propane, metana, alkohol, hidrogen, asap. Sensor MQ2 mempunyai tingkat sensitifitas yang tinggi terhadap gas tersebut. Jika sensor tersebut mendeteksi keberadaan gas-gas tersebut diudara dengan tingkat konsentrasi tertentu, maka sensor akan menganggap terdapat kebocoran gas di udara. Ketika sensor mendeteksi keberadaan gas-gas tersebut maka resistansi elektrik sensor akan turun. Dengan memanfaatkan prinsip kerja dari sensor MQ2 ini, maka dapat mendeteksi adanya kebocoram gas di suatu ruangan. Sensor ini dapat mendeteksi secara akurat gas dengan merasakan unsure yang terkena untuk satu sisi suatu keramik substrate. Didalamnya mempunyai sejumlah suatu penyerap keramik untuk perlindungan melawan terhadap debu atau gas yang tidak diketahui. Gambar 2.6 menunjukkan rangkaian sensor MQ-2.
Gambar 2.6 Rangkaian sensor gas MQ-2
25
Heater (H) pada sensor ini berfungsi sebagai pemicu sensor untuk dapat mendeteksi target gas yang diharapkan setelah di beri tegangan 5V. Sehingga dua element logam (A dan B) akan bekerja. Dan di antara dua element logam tersebut, terdapat ruang yang jarakya telah ditentukan. Apabila ada sensor mendeteksi gas, maka kerapatan ruang yang terdapat antara logam A dan B akan membesar / mengecil. Saat tahanan semakin kecil, maka arus akan mengalir dari A ke B sehinga output tegangan sensor akan besar.
Gambar 2.7 Grafik sensitifitas sensor terhadap gas Grafik yang ditunjukkan di atas adalah karakteristik sensitivitas sensor MQ-2. Ordinat berarti ketahanan ransum dari sensor (Rs/Ro), absis adalah konsentrasi gas. Rs berarti ketahanan dalam gas yang berbeda, Ro berarti resistensi dari sensor di Hidrogen 1000ppm. Semua tes berada di bawah kondisi uji standar.
26
2.3.3 Karakteristik Dalam pengunaan sensor MQ2 memiliki karakteristik sebagai berikut :
Tegangan konstan 5 V
Memiliki kepekaan yang tinggi untuk gas yang mudah terbakar dan asap
Sensitivitas yang tinggi untuk LPG, Propane , hydrogen
Konsentrasi 200-10000 ppm
2.2.4 Struktur dan Konfigurasi
Gambar 2.8 Struktur dan bagian-bagian sensor MQ-2 Struktur dan konfigurasi MQ-2 sensor gas menunjukkan di atas, sensor disusun oleh tabung Al203 mikro keramik, Dioksida Tin (Sn02) lapisan sensitif, mengukur elektroda dan pemanas yang tetap menjadi kerak yang dibuat oleh jaring plastik dan stainless steel. Pemanas menyediakan kondisi kerja yang diperlukan untuk pekerjaan komponen sensitif. MQ-2 memiliki 6 pin, 4 dari mereka yang digunakan untuk mengambil sinyal, dan 2 pin lainnya adalah untuk memberikan pemanasan saat sensor bekerja.
27
2.4 LCD (liquid Crystal Display) Adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama. LCD (liquid crystal display) bisa memunculkan gambar atau dikarenakan terdapat banyak sekali titik cahaya (piksel) yang terdiri dari satu buah kristal cair sebagai titik cahaya. Walau disebut sebagai titik cahaya, namun kristal cair ini tidak memancarkan cahaya sendiri. Sumber cahaya di dalam sebuah perangkat LCD (liquid crystal display) adalah lampu neon berwarna putih di bagian belakang susunan kristal cair tadi. Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna diteruskan sedangkan warna lainnya tersaring.
Gambar 2.9 LCD 16x2 Dan Gambar 2.9 adalah bagian belakang LCD dengan modul I²C
Gambar 2.10 I²C interface backpack module
28
2.4.1 Fungsi Dan Konfigurasi Pin Fungsi pin yang terdapat pada LCD 16x2 dapat dilihat pada table berikut Tabel 2.5 Fungsi pin LCD 16x2
Sedangkan untuk konfigurasi pin dari LCD dapat dilihat pada gambar 2.9 berikut ini:
Gambar 2.11 Konfigurasi pin LCD 16x2 2.4.2 Karakteristik Modul LCD 16x2 memiliki karakteristik sebagai berikut : • Terdapat 16 x 2 karakter huruf yang bisa ditampilkan. • Setiap huruf terdiri dari 5x7 dot-matrix cursor. • Terdapat 192 macam karakter. 29
• Terdapat 80 x 8 bit display RAM (maksimal 80 karakter). • Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit. • Dibangun dengan osilator lokal. • Satu sumber tegangan 5 volt. • Otomatis reset saat tegangan dihidupkan. • Bekerja pada suhu 0°C sampai 55°C. 2.4.3 Spesifikasi Untuk LCD 16x2 yang di lengkapi dengan module I²C/TWI yang di desain untuk meminimalkan penggunaan pin pada saat menggunakan display LCD 16x2. Normalnya sebuah LCD 16x2 akan membutuhkan sekurang-kurangnya 8 pin untuk dapat diaktifkan. Namun LCD 16x2 jenis ini hanya membutuhkan 2 pin saja. Adapun spesifikasinya sebagai berikut :
I²C Address :0x27
Back lit (Blue with with char color)
Supply voltage : 5 V
Dimensi : 82x35x18 mm
Berat : 40 gram
Interface : I²C
2.4.4 I²C/TWI Connector I²C (Inter Integreated Circuit) adalah standart komunikasi serial dua arah menggunakan dua saluran yang didesain khusus untuk mengirim maupun menerima data. Sistem I²C/TWI terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I²C dengan pengontrolnya serta pull up resistor yang digunakan untuk transfer data antar perangkat. I²C/TWI
30
juga merupakan transmisi serial setengah duplex oleh karena itu aliran data dapat diarahkan pada satu waktu. Tingkat transfer data mengacu pada sinyal clock pada SCL Bus 1/16th slave. informasi data antara I2C dengan pengontrolnya. Piranti yang
dihubungkan
dengan
sistem
I²C
Bus
dapat
dioperasikan
sebagai Master dan Slave. Master adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clock. Slave adalah piranti yang dialamati master.
Gambar 2.12 Konfigurasi fisik I²C/TWI 2.4.5 Konfigurasi Pin I²C Module Untuk Interface module I²C/TWI saya menggunakan IC seri PCA8574 yang dihubungkan dengan LCD16x2. Adapun konfigurasi pin dapat dilihat pada table 2.6
Gambar 2.13 Konfigurasi pin IC PCA8574 dengan LCD 16x2
31
Sedangkan table 2.6 menerangkan konfigurasi pin IC PCA8574 Tabel 2.6 Keterangan konfigurasi pin IC PCA8574 dengan LCD 16x2
2.4.6 Schematic I²C/TWI dengan LCD 16x2 Berikut schematic untuk memfungsikan LCD yang telah teritegrasi dengan I²C/TWI serial board module sehingga menghasilkan 2 pin keluaran saja yang nantinya dihubungkan dengan arduino.
Gambar 2.14 Schematic I²C/TWI dengan LCD 16x2
32
2.4.7 Sinyal Dasar I²C/TWI Sinyal dasar I²C meliputi sinyal START, STOP dan ACK (Acknowledge). SCL (Serial Clock) merupakan sinyal untuk ‘mendorong’ data di SDA (Serial Data), dalam keadaan tidak ada transfer data SDA (Serial Data) ,dan SCL (Serial Clock) harus dalam keadaan ‘1’. Data di SDA (Serial Data) boleh berubah hanya pada saat SCL (Serial Clock) =’0’ seperti digambarkan dalam diagram waktu Gambar 2.14, isi SDA (Serial Data) diambil peralatan I²C pada saat SCL (Serial Clock) berubah dari ‘1’ menjadi ‘0’. Jika terjadi perubahan SDA (Serial Data) pada saat SCL (Serial Clock) = ‘1’.
Gambar 2.15 Diagram sinyal waktu SDA dan SCL Sinyal START menandakan master akan mulai mengirim data, sinyal ini terlihat di bagian kiri Gambar 2.16 berupa perubahan tegangan SDA (Serial Data) dari ‘1’ menjadi ‘’ pada saat SCL (Serial Clock) =’1’.
Gambar 2.16 Arah pembacaan dan penulisan bit control “ START CONDITION”
33
Pada gambar 2.17 menunjukkan diagram pada kondisi start
Gambar 2.17 Diagram kondisi START Sinyal STOP menandakan master akan mengakhiri komunikasi data, sinyal ini terlihat di bagian kanan Gambar 2.18 berupa perubahan tegangan SDA (Serial Data) dari ‘’ menjadi ‘1’ pada saat SCL (Serial Clock) =’1’.
Gambar 2.18 SDA rendah untuk ‘1’ SCL kondisi STOP
34
Sinyal ACK (Sinyal Acknowledge) . merupakan sinyal balasan dari slave setelah menerima data 1 byte. Pada kondisi ini, slave “menarik” SDA menjadi low selama satu sinyal clock. Sinyal ACK (Sinyal Acknowledge) ini dapat dilihat pada Gambar 2.19, dimana pengiriman sinyal ini menandakan bahwa slave telah menerima 1 byte data.
Gambar 2.19 ACK Sinyal Sedangkan pada gambar 2.20 menunjukkan alur multiple bit satu arah.
Gambar 2.20 Multiple bit satu arah tanpa start berulang Dan pada gambar 2.21 menunjukkan diagram transfer data I²C/TWI
Gambar 2.21 Diagram transfer data I²C/TWI
35
2.4.8 Cara Kerja I²C/TWI Cara kerja I²C/TWI Bus dapat dibedakan menjadi format pengalamatan 7 bit dan format pengalamatan 10 bit. Inisiatif komunikasi transfer data pada I²C Bus selalu dimulai dari pengiriman sinyal START oleh master yang kemudian diikuti oleh address byte ( 7 bit address + 1 bit pengarah data ), dan dilanjutkan dengan pengiriman data untuk mode pengalamatan 7 bit. Seperti ditunjukkan pada gambar 2.22.
Gambar 2.22 Format data I²C mode pengamatan 7 bit 2.4.9 Interface Komunikasi I²C/TWI dengan Arduino Pada LCD 16x2 yang dilengkapi dengan I²C/TWI sistem komunikasi hanya memerlukan 4 kabel yang dihubungkan dengan pin arduino.
Gambar 2.23 Komunikasi 4 kabel I²C Keterangan kabel untuk I²C module : 36
Hitam : Ground Merah : 5V Putih : Analog pin 4 Kuning : Analog pin 5 Pada papan arduino secara umum SDA (Serial Data) pada input analog pin 4 dan SCl (Serial Clock) pada input analog pin 5. Pada modul I²C/TWI juga dilengkapi dengan potensiometer yang dapat digunakan untuk menyesuaikan kontras cahaya dengan memutar searah jarum jam untuk mendapatkan tampilan yang diinginkan. 2.4.10 Bahasa Perintah I²C/TWI dengan Arduino Dalam pengaplikasiannya dengan arduino perintah yang digunakan meliputi LiquidCrystal() begin() clear() setCursor() write() print() perintah bahasa ini yangdigunakan agar LCD dapat beroperasi dan terintegrasi dengan device lain dalam perangkat yang di gunakan. 2.5 LED (Light emitting diode) Dioda cahaya atau lebih dikenal dengan sebutan LED (light emitting diode) adalah suatu semikonduktor yang memancarkan cahaya monokromatik yang tidak koheran ketika diberi tegangan maju. Sebuah LED (light emitting diode) adalah sejenis diode semikonduktor istimewa. Seperti sebuah diode
37
normal, LED (light emitting diode) terdiri dari sebuah chip bahan semikonduktor yang diisi penuh, atau did op dengan ketidakmurnian untuk menciptakan sebuah struktur yang disebut p-n junction. Pembawa muatan electron dan lubang mengalir ke junction dari elektroda dengan voltase berbeda. Ketika electron bertemu dengan lubang, dia jatuh ke tingkat energi yang lebih rendah dan melepas energy dalam bentuk photon. Tak seperti lampu pijar dan neon, LED (light emitting diode) mempunyai kecenderungan polarisasi. Chip LED (light emitting diode) mempunyai kutub positif dan negatife (p-n) dan hanya akan menyala bila diberikan arus maju. Hal ini dikarenkan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak kearah sebaliknya. Bila LED (light emitting diode) diberikan arus terbalik, hanya akan ada sedikit arus yang melewati chip LED (light emitting diode). Ini menyebabkan chip LED (light emitting diode) tidak akan mengeluarkan emisi cahaya. Chip LED (light emitting diode) pada umumnya mempunyai tegangan rusak yang negative rendah, bila diberikan tegangan beberapa volt kea rah terbalik, biasanya sifat isolator searah LED (light emitting diode) akan rusak menyebabkan arus dapat mengalir kearah sebaliknya. Karakteristik chip LED (light emitting diode) pada umumnya adalah sama dengan karakteristik diode yang hanya memerlukan tegangan tertentu untuk dapat beroperasi. Namun bila diberikan tegangan yang terlalu besar , LED (light emitting diode) akan rusak walaupun tegangan yang diberikan adalah tegangan maju. Tegangan yang diperlukan sebuah diode untuk dapat beroperasi adalah tegangan maju.
38
Gambar 2.24 Bar LED 10 pin 2.5.1 Prinsip Kerja Tidak seperti lampu pijar atau neon, LED (light emitting diode) mempunyai nilai polarisasi. Kaki positif dan negative. Tegangan yang diberikan pun tidak boleh terlalu besar, kisaran tegangannya sekitar 2 volt sampai dengan 3 volt dan maksimum arus antara kisaran 10mA sampai dengan 20mA pada tiaptiap LED (light emitting diode).
Gambar 2.25 Prinsip kerja LED 39
2.5.2 Bagian-bagian LED Berikut merupakan bagian atau struktur dari sebuah LED :
Gambar 2.26 Struktur dan bagian-bagian LED 2.6 Buzzer Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker.
Gambar 2.27 Buzzer
40
2.6.1 Struktur
Gambar 2.28 Struktur buzzer Buzzer terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara. Frekuensi suara yang di keluarkan oleh buzzer yaitu antara 1-5 KHz. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm). 2.7 Potensiometer Potensiometer adalah resistor tiga terminal dengan sambungan geser yang membentuk pembagi tegangan dapat disetel. Jika hanya dua terminal yang digunakan potensiometer berperan sebagai resistor variabel atau Rheostat. Potensiometer biasanya digunakan untuk mengendalikan peranti elektronik seperti
41
pengendali suara pada penguat. Potensiometer yang dioperasikan oleh suatu mekanisme dapat digunakan sebagai transduser, misalnya sebagai sensor joystick.
Gambar 2.29 Potensiometer Dan jarang digunakan untuk mengendalikan daya tinggi secara langsung. hanya digunakan untuk menyetel taraf isyarat analog. 2.8 Aplikasi Program Arduino IDE (Integreted Developmet Enviroment) Ketika kita membuka program arduino IDE (Integreted Development Enviroment) akan terlihat serupa dengan tampilan gambar 2.30 di bawah ini. Jika kita menggunakan Window atau Linux, akan terlihat perbedaan, tetapi pada dasarnya IDE (Integreated Development Enviroment) akan sama tidak peduli Operasi Sistemnya apa yang di gunakan.
42
Gambar 2.30 Tampilan program IDE (Integreated Development Enviroment) IDE terpisah dari toolbar, The Code ada di tengah dan The Serial Output ada dibawah terdiri dari tujuh tombol diantaranya : 1. Verify / compile Digunakan untuk mengecek atau memeriksa apakah code sudah benar sebelum dikirim pada arduino. 2. Stop Berfungsi untuk menghentikan serial monitor dari pengoperasiannya.
43
3. New Berfungsi untuk membuat tampilan lembar kerja atau sketch baru untuk memasukkan kode. 4. Open Menampilkan list lembar kerja yang telah disimpan. 5. Save Menyimpan lembar kerja atau sketch. 6. Upload Mengirim lembar kerja pada papan arduino. 7. Serial Monitor Menampilkan hasil data-data yang telah dikirim dari arduino.
Gambar 2.31 Tampilan toolbar program IDE Untuk memulai serial Monitor, tekan tombol serial monitor dan untuk menghentikan tekan tombol stop. Pada linux, Arduino akan me-reset sendiri ketika
meng-klik tombol Serial Monitor.
Untuk Mengoperasikan
atau
menggabungkan Arduino pada PC (Personal Computer), kita dapat menggunakan program-program seperti Processing, Flash, MaxMSP, Visual Basic, dan lain-lain. 2.7.1 Menu Pada Window Program IDE (Integreated Developmnt Enviroment) Kita dapat melihat beberapa menu untuk mengakses diantaranya adalah : 1. Menu Help
44
Pada menu ini dapat membantu kita menemukan informasi lebih lagi tentang IDE (Integreated Development Enviromet ). Getting Started Enviroment Trouleshooting Reference Fin in reference About Arduino Visit Arduino.cc Frequently Asked Question 2. Menu Tools Pada menu ini terdapat peralatan untuk mengisi lembar kerja dari mulai mengedit kode kode agar terlihat lebih rapi, memilih tipe papan Arduino, memilih serial port dan lain-lain diantaranya : Auto format Archive Sketch Fix Encoding dan Reload Serial Monitor Burn Bootloader Serial Port Board 3. Menu Sketch Pada menu ini kita dapat menambahkan file kerja, mengeksekusi program yang kita buat, mengimport Library didalam meni ini antara lain :
45
Verify / Compile Add File Stop Import Library Show Sketch Folder 4. Menu Edit Pada menu ini kita dapat melakukan pengeditan pada lembar kerja, menu Edit ini berisi diantaranya : Undo Addition Cut Copy Copy From Forum Copy as HTML Find Nex Find Decrease Indent Increase Indent Comment / uncomment 5. Menu File Pada menu ini kita dapat mengakses atau membuat lembar kerja baru, menyimpan atau mengirim program ke papan Arduino, didalam menu file terdapat : New Open
46
Sketch book Example Close Save Quit Preference Print Page setup Upload to I/O Board Save As 2.8.2 Referensi Bahasa Program IDE (Integreated Development Enviroment) Bahasa program Arduino dapat dibedakan menjadi tiga bagian : Sturktur, Value/nilai, dan fungsi. 1. Strcture
Setup
Loop
2. Control Structure
If…else
If
For
Switch case
White
Do…white
Break
47
Continue
Return
Goto
3. Further Syntax
; (semicolon)
{} (rurly brace)
// (single line comment)
/**/ (multi-line comment)
#define
#include
4. Arithmetic Operators
= (assignment operator)
+ (additional)
- (subtraction)
‘* (multiplication)
/ (division)
% (modulo)
5. Comparason Operators
== (equal to)
!= (notequal to)
< (less than)
> (grather than)
<= (less than or equal to)
>= (greather than or equal to)
48
6. Boolean Operators
&& (and)
|| (or)
! (not)
7. Pointer Access Operators
‘* (dereference operator)
& (reference operator)
8. Bitwise Operators
& (bitwise and)
| (bitwise or)
^ (bitwise xot)
~ (bitwise not)
<< (bitshift left)
9. Compund Operators
++ (increment)
‘— (decrement)
+= (compound additional)
_= (compound subtraction)
/= (compound division)
&= (compound bitwise and)
|= (compound bitwise or)
10. Contants
High | low
Input | output
49
True | false
Interger constants
Floating point contants
11. Data Type
Void
Boolean
Char
Unsigned char
Byte
Int
Unsigned int
Word
Long
Unsigned long
Float
Double
String- char array
String- object
Array
12. Conversion
Char
Byte
Int
Word 50
Long
Float
13. Variable Scope & Qualifiers
Variable scope
Static
Volatile
Const
14. Untilities
Sizeof
15. Analog I/O
analogReference
AnalogRead
AnalogWrite – PWM
16. Digital I/O
PinMode
digitalWrite
DigitalRead
17. Advanced I/O
Tone
Notone
Shiftout
Pulsein
18. Time
Milis
51
Micros
Delay
Delaymicroseconds
19. Math
Min
Max
Abs
Constrain
Map
Pow
Sqrt
20. Trigonometry
Sin
Cos
Tan
21. Random Numbers
Randomseed
Random
22. Bits and bytes
lowBytes
highByte
bitRead
bitWrite
bitset
52
bitClear
bit
23. External Interrupst
AttachInterrupt
DetachInterrupt
24. Interrupst
Interrupts
noInterrupts
25. Communication
Serial
53