• Tidak ada hasil yang ditemukan

Perancangan Alat Ukur Kadar Oksigen (O2) Menggunakan Gs Oxygen KE-25 Sensor Berbasis Mikrokontroller ATMega16 dengan Tampilan PC

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Alat Ukur Kadar Oksigen (O2) Menggunakan Gs Oxygen KE-25 Sensor Berbasis Mikrokontroller ATMega16 dengan Tampilan PC"

Copied!
60
0
0

Teks penuh

(1)

LAMPIRAN

(2)
(3)

// Declare your global variables here unsigned char buflcd[16];

unsigned int nilai_ADC,nilai_ADC2,nilai,nilai1,x; float nilai_total, nilai_hasil,

nilai_rata,nilai_total2, nilai_hasil2, nilai_rata2; // Standard Input/Output functions

#include <stdio.h>

#define ADC_samp 25 // Voltage Reference: AVCC pin

#define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR))

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | ADC_VREF_TYPE;

// Delay needed for the stabilization of the ADC input voltage

delay_us(10);

// Start the AD conversion ADCSRA|=(1<<ADSC);

// Wait for the AD conversion to complete while ((ADCSRA & (1<<ADIF))==0);

ADCSRA|=(1<<ADIF); return ADCW;

}

void main(void) {

// Declare your local variables here

(4)

// Port B initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization

// Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);

// State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped

(5)

TCNT0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);

TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);

TCNT1H=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF

(6)

TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);

TCNT2=0x00; OCR2=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<TOIE0);

// External Interrupt(s) initialization // INT0: Off

// INT1: Off

MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

// USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600

UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);

UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);

UBRRH=0x00; UBRRL=0x33;

// Analog Comparator initialization // Analog Comparator: Off

(7)

// The Analog Comparator's negative input is // connected to the AIN1 pin

ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);

// ADC initialization

// ADC Clock frequency: 230,400 kHz // ADC Voltage Reference: AVCC pin ADMUX=ADC_VREF_TYPE;

ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (0<<ADPS0);

SFIOR=(0<<ACME);

// SPI initialization // SPI disabled

SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);

// TWI initialization // TWI disabled

TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);

// Alphanumeric LCD initialization // Connections are specified in the

(8)

// D7 - PORTD Bit 2 // Characters/line: 16 lcd_init(16); sprintf(buflcd,"kadar:%.2f %%",nilai_total); lcd_clear();lcd_gotoxy(0,0);lcd_puts(buflcd);

nilai=nilai_total*100; printf("%d",nilai);

delay_ms(10);

printf(“%d”,volt); //mengirim data, type data volt

printf(“A”); //mengirim karakter A

(9)

printf(“0C”); //mengirim data 0 karakter C

printf(“0D”); //mengirim data 0 karakter D

(10)

PERANCANGAN INTERFACE GUI

(11)

DAFTAR PUSTAKA

Andrianto, Heri. 1994. Pemrograman Mikrokontroller AVR Atmega16 Menggunakan Bahasa C (Codevision AVR). Revisi Kedua.

Bandung: Informatika.

Data sheet Mikrokontroler ATMega16 Data sheet IC 7805

Data sheet Gs Sensor Oxygen KE-25 Susanto. 1994. Rangkaian Elektronika.

Depok : Seri Catatan Kuliah

Sitompul, Opim S. 1995. Prinsip - Prinsip Dasar Pemrograman C. Jakarta: Ghalia Indonesia.

Situmorang, Marhaposan. 2011. Dasar-Dasar Mikrokontroller MCS-51. Medan: Usu Press.

Tooley, Mike. 2002. Rangakian Elektronik Prisip dan Aplikasi. Edisi kedua. Jakarta: Erlangga. Hal: 180-194

(12)

BAB 3

PERANCANGAN SISTEM

4.1 Diagram Blok

Diagram merupakan pernyataan hubungan yang berurutan dari suatu atau lebih komponen yang memiliki kesatuan kerja tersendiri, dan setiap blok komponen mempengaruhi komponen yang lainnya. Diagram blok merupakan salah satu cara yang paling sederhana untuk menjelaskan cara kerja dari suatu sistem .Dengan diagram blok kita dapat menganalisa cara kerja rangkaian dan merancang hardware yang akan dibuat secara umum. Dibawah ini merupakan gambar diagram blok dari rangkaian.

Gambar 3.1 Diagaram Blok Rangkaian

(13)

mikrokontroller yang telah menyediakan langsung pengkonversian analog ke digital (ADC) internal untuk menyederhanakan penyambungan sensor sebagai input kemudian data dikirim ke layar LCD dan USB-to-TTL sesuai instruksi program dimana USB-to-TTL yang berfungsi sebagai protokol komunikasi antara device yang terhubung agar dapat saling mengirim dan menerima data dengan benar. Kemudian dikirim data tersebut ke PC sebagai tampilan grafik yang bergerak setiap detiknya oksogen yang bertambah atau berkurang nya karena terkontaminasi dengan gas-gas yang lain, namun Gs oksigen hanya mendeteksi khusus pada oksigen dan tidak dengan gas yang lain.

Fungsi Tiap Blok

1. Blok Sensor Oksigen KE-25

Sebagai Sensor pengukur kadar oksigen 2. Blok LCD

Sebagai Penampil hasil pengukuran dari mikrokontroller 3. Blok mikrokontroller

Mengolah data dari sensor dan mengirim hasilnya ke LCD 4. Blok USB-TO-TTL

Mentransmisikan data serial dari mikrokontroller ke PC 5. Blok Interface PC

Sebagai penampil data hasil pengolahan mikrokontroller

4.2 Perancangan Pengendali Sistem

(14)

3.2.1 Rangkaian Power Supply

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter. Pemasangan potensio sebesar 5 KΩ untuk mengatur kontras karakter yang tampil. Berikut adalah gambar rangkaian minimum pada power supply.

Gambar 3.2.Rangkaian Skematik Power Supply 5 Volt

(15)

3.2.2 Sensor

Sensor merupakan bagian input dari sistem. Fungsi sensor adalah merubah besaran fisik suatu kondisi atau keadaan menjadi besaran listrik. Dalam rancangan miniatur ini sensor yang digunakan adalah sensor Gs Oxygen.

Gs Oxygen

Sensor yang digunakan adalah sensor gas oksigen jenis KE-25 buatan Figaro Sensor. Sensor ini memiliki 2 tipe, yaitu KE-25 dan KE-50. Elektroda dibagi menjadi anoda berupa Pb (timbal) dan katoda yang terbuat dari emas (Ag) serta elektrolit berupa asam lemah atau Alkaline. Elektroda emas merupakan sebuah padatan yang berupa selaput yang tidak berongga (non-porous membrane). Molekul oksigen masuk ke sel elektrokimia melalui selaput oksigen. Oksigen yang masuk ke dalam sensor, direduksi pada elektroda emas dengan reaksi elektrokimia. Anoda dan katoda dihubungkan dengan sebuah termistor dan resistor. Resistansi dua resistor ini mengubah arus yang terjadi akibat reaksi elektrokimia menjadi tegangan. Besar arus yang mengalir pada dua resistor dipengaruhi oleh banyak oksigen yang tertangkap oleh membran elektroda. Tegangan resistansi ini digunakan sebagai keluaran sensor oksigen.

(16)

Anoda dan katoda dihubungkan dengan sebuah termistor dan resistor. Resistansi duaresistor ini mengubah arus yang terjadi akibat reaksi elektrokimia menjadi tegangan. Besararus yang mengalir pada dua resistor dipengaruhi oleh banyaknya oksigen yang tertangkap oleh membran elektroda. Tegangan ini digunakan sebagai keluaran sensor oksigen. Mekanisme skematik rangkaian dalam Gs Oxygen dapat dilihat dibawah ini;

Oksigen elektron/arus tegangan

Gambar 3.4. Mekanisme Skematik Rangkaian Dalam Gs Oxygen KE25 Perancangan rangkaian ini berfungsi sebagai pendeteksi kadar oksigen di udara. Sensor oksigen KE-25 tidak memerlukan catu daya untuk dapat mengukur kadar oksigen, keluaran output dari sensor KE-25 adalah tegangan analog sehingga dapat langsung dihubungkan ke ADC Mikrkontroller seperti rangkaiain dibawah ini.

Gamabar 3.5. Sistem kerja pada rangkaian dalam sensor Gs Oxygen KE-25

3.2.3 Mikrokontroler

Mikrokontroler yang digunakan dalam rancangan ini adalah tipe ATMega16, yaitu mikrokontroler tipe AVR. Mikrokontroler berfunggsi

Reaksi elektroda

(17)

mengendalikan tampilan PC dan LCD berdasarkan input yang diterima dari sensor oksigen. Dari input sensor tersebut mikrokontroler dapat mengetahui apakah kondisi oksigen dalam keadaan sedikit, atau banyak. Sehingga mikrokontroler dapat menrubah tampilan kadar oksigen yang rendah atau tinggi. Jika kadar oksigen sedikit maka mikrokontroller akan menampilkan kadar oksigen yang rendah sesuai tangkapan oksigen dari membran sensor. Dan jika oksigen banyak maka mikrokontroller akan menampilkan kadar oksigen yang tinggi di tampilan display LCD dalam bentuk persen dan di PC dalam bentuk grafik., mikrokontroler diprogram pada PORT A yaitu masukan analog. Terdapat 8 input dari sensor kepadatan sehingga memakai 8 bit dari PORT tersebut. Output yaitu tampilan kadar oksigen dalam bentuk persen di LCD dan dalam bentuk grafik di PC. yang diprogram pada PORT B dan PORT D. Sedangkan output display diprogram pada PORT C. Konfigurasi pin maupun nomor pin dapat dilihat pada gambar berikut :

(18)

Gambar 3.6. Rangkaian Skematik Sistem Minimum ATMega16

Dari gambar 3.6. Rangkaian tersebut berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Komponen utama dari rangkaian ini adalah IC Mikrokontroler ATMega16. Semua program diisikan pada memori dari IC ini sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.

Untuk men-download file heksadesimal kemikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke USB via programmer. Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak pada kaki 17, 18, 19, 20 dan 1. Apabila terjadi keterbalikan pemasangan jalur ke ISP Programmer, maka pemrograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan dapat merespon.

3.2.4 USB-TO-TTL

(19)

perkenalkan, yakni USB function yang maksudnya adalah peralatan USB yang memilki kemampuan khusus. Seperti printer, scanner, modem, dan lain-lainnya.

Saat ini keberadaan port serial RS-232 pada komputer semakin berkurang jumlahnya, jika dahulu terdapat minimal 2 buah port serial RS-232, maka sekarang jumlahnya sudah berkurang menjadi 1 buah, bahkan pada jenis komputer tertentu sudah tidak menyediakan port serial RS-232, misalnya pada komputer jenis mobile. Karena memang dilihat dari sudut teknologi, bagi beberapa pihak komunikasi data menggunakan port serial RS-232 sudah dianggap tertinggal. Hal ini wajar karena teknologi terus berkembang, dan sudah menjadi hal yang alami jika suatu teknologi baru yang lebih baik telah ditemukan maka secara otomatis teknologi lama perlahan-lahan mulai ditinggalkan. Walaupun begitu bukan berarti port serial RS-232 sudah tidak digunakan lagi, karena port serial RS-232 punya kelebihan yaitu kemudahan dalam penggunaannya, tidak memerlukan teknik pemrograman yang terlalu rumit, mudah untuk dipelajari dan karena sudah umum digunakan maka tidaklah sulit untuk mendapatkan periperal untuk merancang bangun suatu device yang menggunakan port serial RS-232. Karena itu port serial RS-232 banyak digunakan sebagai dasar untuk mempelajari teknik-teknik antar muka antara suatu device dan PC, misalnya antar muka mikrokontroler dengan PC. Dalam mempelajari teknik antar muka menggunakan komunikasi data melalui port USB bagi pemula tidaklah mudah. Hal ini dapat diatasi dengan menggunakan suatu dongle konverter port USB menjadi port serial RS-232. Dengan menggunakan konverter ini maka sebuah port USB PC seolah-olah menjadi sebuah port serial RS-232 seperti pada umumnya, walaupun sesungguhnya data ditransfer melalui sebuah port USB.

(20)

USB memiliki beberapa kelebihan diantaranya; 1. Penggunaanya mudah

Cukup dengan menancapkan peralatan USB ke konektor USB. Maka komputer akan langsung mendeteksi adanya peralatan tersebut tanpa perlu merestart komputer tersebut.

2. Mendukung 3 tipe kecepatan 3. Adanya powerdown (suspend)

4. USB men-supply daya ke peralatan USB dengan arus sebesar 500mA. 5. USB bersifat Multiplatfrom

3.3 Flowchart (Diagram Alir Program)

(21)

Mulai

Selesai Tampilan di

LCD Tampilan di PC

Inisialisasi Sistem

Pembacaan Sensor Gs Oksigen KE-25

-Pembacan Nilai ADC Mikrokontroller

Gambar 3.7. Flowchart

(22)

menjadi arus/elektron dan rangkaian resistan mengubah menjadi tegangan (V). Sensor akan memberikan output sesuai dengan kondisi oksigen yaitu jika terdapat oksigen di sensor, sensor akan memberikan dengan hasil keluaran tegangan dikirim ke mikrokontroller dan diperintah untuk menampilkan hasil kadar oksigen ke LCD dan PC, maka akan tertampil di LCD nilai kadar oksigen yang sedang di deteksi oleh sensor dan sekaligus menampilkan dilayar PC dengan tampilan grafik.

3.4 Perancangan Algoritma Program

Perancangan software adalah proses perancangan untuk pembuatan program yang nantinya akan dijalankan oleh mikrokontroler. Sebuah mikrokontroler tidak akan bekerja sebelum diberikan program.

3.5 Perancangan Interface GUI

(23)

Gambar 3.8. Tampilan awal GUI Delphi

Kemudian gambar dibawah ini adalah gambaran rangkaian keseluruhan dari alat yang telah dibuat

Gambar 3.9 Gambar Rangkaian Keseluruhan

(24)

BAB 4

PENGUJIAN ALAT DAN ANALISA

4.1. Pengambilan Data

Berikut ini merupakan beberapa data penting yang perlu diambil :

4.1.1 Pengujian Rangkaian Mikrokontroler ATMega16

Pengujian pada rangkaian mikrokontroler ATMega16 ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian power supply sebagai sumber tegangan. Kaki 10 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 11 dihubungkan dengan ground. Kemudian tegangan pada kaki 10 diukur dengan menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 10 sebesar 4,9 volt. Langkah selanjutnya adalah memberikan program sederhana pada mikrokontroler ATMega 16, program yang diberikan adalah sebagai berikut:

4.1.2. Pengujian dan Analisa Sensor Oksigen KE-25

(25)

Dari data diatas dapat dilihat bahwa respon sensor oksigen terhadap kadar oksigen diskitar memiliki respon yang baik, semakin banyak oksigen yang diberikan didalam wadah, maka pembacaan sensor oksigen akan semakin tinggi.

Tabel 4.1. Data pengujian respon sensor Oksigen KE-25 di Ruangan Gas Murni

(semprotan)

Ruangan (%)

Hasil Pembacaan Lutron Digital DO Meter DO -5510 (%)

Pada pengujian sensor Oksigen di udara bebas maka dipilih beberapa lokasi terbuka sebagai sample pengujian dan pada pagi, siang dan sore hari, adapun data pada tabel berikut :

Tabel 4.2. Data pengujian sensor Oksigen KE-25 di beberapa lokasi Lokasi Kadar oksigen yang terukur (%)

pagi siang Sore Malam

(26)

4.2. Pengujian dan Analisa Interface GUI

Hasil pengukuran kadar oksigen dapat dibaca melalui LCD 16x2 karakter Sensor KE-25 yang dihubungkan dengan mikrokontroler dan hasil pembacaan pada LCD merupakan alat ukur kadar oksigen secara digital, di mana presentase kadar oksigen dapat langsung dibaca. Namun demikian, untuk keperluan penyimpanan data hasil pengukuran, pemantauan pengukuran secara terus-menerus dan realtime tidak dapat dipenuhi sekedar oleh alat ukur kadar oksigen digital, untuk keperluan ini maka sen-sor KE-25 harus diantarmuka dengan komputer pribadi atau laptop. tampilan akuisisi data secara real time pada layar laptop ditunjukkan pada gambar.

Gambar 4.1. Tampilan Interface Delphi Pengukuran kadar oksigen

4.3. Pengujian Rangkaian Interfacing LCD 2x16

(27)

pengukuran dan diberi beberapa keterangan. Pada penelitian ini LCD dihubungkan kemikrokontroler melalui PortB.0 ~ PortB.7 yang berfungsi bus data. Adapaun data yang dikirimkan oleh mikrokontroler merupakan kode ASCIIdata dalam bentuk bilangan biner, dimana data tersebut dapat diterjemahkan oleh LCD ke bentuk karakter.

Pengiriman data yang dari mikrokontroler diatur oleh pin EN, RS dan RW, Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberi tahu LCD bahwa ada data yang sedang dikirimkan. Untuk mengirim data ke LCD, maka melalui program EN harus dibuat berlogika “low” dan set (high) pada dua jalur kontrol yang lain (RS dan RW). Jalur RW adalah jalur kontrol Read/write. Ketika RW berlogika low (0), maka informasi pada bus akan dituliskan pada LCD. Ketika RW berlogika high (1), maka program melakukan pembacaan memori dari LCD. Dalam penelitian ini umumnya pin RW selalu diberikan logika low(0)

Dengan mengikuti keterangan diatas kita dapat membuat program untuk menampilkan karakter pada LCD. Program yang diisikan ke mikrokontroler untuk menampilkan karakter pada LCD adalah sebagai berikut :

#include <mega16.h>

(28)

BAB 5

KESIMPULAN DAN SARAN 5.1 Kesimpulan

Dari hasil pengujian yang telah dilakukan dapat disimpulkan bahwa :

1. Telah berhasil dibuat rancangan alat ukur kadar oksigen (O2) menggunakan

Gs Oxygen KE-25 sensor berbasis mikrokontroller Atmega16 dengan tampilan PC.

2. Pada rancangan miniatur, kadar oksigen (O2) dapat dideteksi oleh sensor Gs

oksigen KE-25 yang difokuskan mendeteksi O2 saja.

3. Pada miniatur penghitung kadar oksigen dapat dibuat sangat portable dan dapat digunakan pengguna dengan tampilan LCD dan grafik di tampilan PC.

5.2 Saran

(29)

BAB 2

LANDASAN TEORI

2.1. Oxygen

Oksigen adalah gas yang paling dibutuhkan manusia saat bernapas. Oksigen memainkan peranan penting dalam proses perombakan bahan makanan di dalam tubuh. Tanpa oksigen, manusia akan mati secara perlahan. Itulah sebabnya mengapa tabung-tabung gas oksigen selalu tersedia di rumah sakit yang ada di sekitar kita. Di saat tertentu seseorang membutuhkan oksigen dengan alat bantu agar bisa bernapas dengan baik. Bukan nitrogen, argon, maupun karbon dioksida. Jika menghirup gas karbon dioksida terus menerus tanpa oksigen yang cukup, maka seseorang bisa mati lemas secara perlahan. Udara yang kita hirup sehari-hari selama hidup di dunia ini ternyata bukanlah oksigen murni. Saat bernapas, tubuh kita mengambil udara dari alam bebas untuk digunakan untuk berbagai keperluan tubuh.

Udara yang masuk ke dalam tubuh mengandung berbagai gas seperti oksigen, karbon dioksida, argon, nitrogen, dan uap air. Namun tidak menutup kemungkinan terdapat gas lain yang tercapur di dalam udara yang dihirup manusia. Udara bebas yang digunakan oleh manusia untuk bernapas mengandung gas nitrogen sebesar 78%, mengandung gas oksigen sebesar 20%, mengandung gas argon sebesar kurang dari 1%, mengandung uap air kurang lebih sekitar 1% dan menganding karbon dioksida sebanyak kurang dari 0,1%. Gas-gas tersebut tercampur dengan baik di dalam udara yang ada di dunia ini. Jika kita lihat persentasenya maka manusia sebenarnya bernapas dengan menghirup nitrogen, karena sebagian besar gas yang dihirup manusia saat bernapas adalah gas nitrogen.

• Komposisi Kandungan Udara yang Digunakan Bernapas oleh Manusia : 1. Nitrogen - 78%

2. Oksigen - 20%

3. Argon - kurang dari 1%

(30)

Uap air yang kita hirup berbeda-beda kadarnya antara daerah yang satu dengan daerah yang lain. Ada tempat-tempat yang memiliki udara yang mengandung banyak uap air, dan ada pula tempat-tempat yang kadar air dalam udaranya sangat rendah. Air menguap dan bercampur dengan udara yang ada di sekitarnya. Sebagian uap air akan naik ke atas dan membentuk awan yang nantinya bisa menjadi hujan yang turun ke permukaan bumi.

Manusia memerlukan oksigen agar proses respirasi sel terus berlangsung. Oksigen adalah gas yang sangat diperlukan oleh mahkluk hidup untuk bernapas. Hasil utama pernapasan berupa energi, hasil ini disebarkan ke seluruh bagian tubuh yang berfungsi untuk: pertumbuhan, dan kerja organ tubuh (ber-aktivitas). Zat sisa pernapasan berupa karbon dioksida dan uap air yang akan dikeluarkan dari tubuh.

Volume udara yang kita butuhkan untuk bernapas ketika istirahat berbeda ketika kita kerja keras. Volume tersebut dapat kita ketahui melalui kapasitas paru-paru.

Kapasitas paru-paru dapat diuraikan sebagai berikut:

1. Udara tidal yaitu udara yang keluar masuk paru-paru pada saat pernafasan biasa. Jumlah volume udaranya sebesar 50 ml.

2. Udara komplementer yaitu udara yang masih dapat dihirup setelah inspirasi biasa, Besar volume udaranya 1500 ml.

3. Udara suplementer yaitu udara yang masih dapat dikeluarkan setelah melakukan ekspirasi biasa. Besar volume udaranya sekitar 1500 ml. 4. Kapasitas Vital paru-paru yaitu kemampuan paru-paru untuk

melakukan respirasi sekuat-kuatnya atau merupakan jumlah udara tidal, udara komplementer dan udara suplementer. Jadi besarnya volume kapasitas vital paru-paru kurang lebih 4000 ml.

5. Kapasitas Total paru-paru yaitu seluruh udara yang dapat ditampung oleh paru-paru.

(31)

20 kali (dalam keadaan normal atau tidak melakukan aktivitas berat). Berikut perhitungan yang dilakukan Jumlah udara oksigen yang dihirup dalam sekali bernafas = 20% X 500 ml = 100 ml. Jumlah O2 yang dihirup dalam 1 menit =

100 ml X 20 kali = 2000 ml = 2 l. 1 jam = 60 menit.

1 hari = 24 jam = 24 X 60 menit = 1440 menit.

Jadi dalam sehari manusia menghirup O2 sebanyak = 2 l X 1440 = 2880 l.

2.2. Gs Oxygen Sensor

Sensor yang digunakan adalah sensor gas oksigen jenis KE buatan Figaro Sensor yang dikhususkan dirancang hanya untuk mendeteksi keberadaan gas O2

saja. Sensor jenis ini mempunyai struktur yang sama dengan baterai yang terdiri dari elektroda dan eletrolit. Sensor ini memiliki 2 tipe, yaitu KE-25 dan KE-50. Elektroda dibagi menjadi anoda berupa Pb (timbal) dan katoda yang terbuat dari emas (Ag) serta elektrolit berupa asam lemah atau alkaline. Dibawah ini adalah gambar tampilan fisik Gs Oxygen.

Gmbar 2.1 Tampilan fisik Gs Oxygen

(32)

membran elektroda. Tegangan resistansi ini digunakan sebagai keluaran sensor oksigen.

2.3. Mikrokontroller

Mikrokontroller adalah piranti elektronik berupa IC (Integrated Circuit) yang memiliki kemampuan manipulasi data (informasi) berdasarkan suatu urutan instruksi (program) yang dibuat oleh programmer. Chip tunggal yang dirancang secara spesifik untuk aplikasi-aplikasi kontrol dan bukan untuk aplikasi serbaguna. Perangkat ini seringkali digunakan untuk memenuhui seuatu kebutuhan kontrol tertentu seperti mengendalikan sebuah penggerak melalui progremmer.

Sistem Mikrokontroller

Besaran yang diraba kuantitas yang diukur dari perubahannya; misalnya, suhu, posisi, dll) dikonversi menjadi sinyal listrik yang sesuai dengan mengguanakan sensor dan Output dari sensor. Dilewatkan sebagai sinyal input pada mikrokontroller. Mikrokontroller juga dapat menerima input dari pengguna. Pillihan-pilihan yang ditetapkan pengguna ini tipikalnya meliputi nilai–nilai sasaran bagi berbagi variabel (seperti suhu ruangan yang diinginkan), nilai batas (seperti kecepatan putaran poros maksimum), atau batasan–batasan waktu (seperti waktu ‘hidup’ dan waktu ‘mati’ waktu tunda (delay), dan lain-lain. Pengoperasian mikrokontroller dikendalikan oleh rangkaian instruksi software yang dikenal oleh sebagai program kontrol. Program kontrol bekerja secara terus menerus, memeriksa input dari sensor–sensor, setting–setting pengguna, dan data waktu sebelum mengadakan perubahan pada sinyal–sinyal output yang dikirmkan ke satu atau perangkat terkontrol.

(33)

otomatis atau mengatur-sendiri. Segera setelah diset, sistem semacam ini akan terus bekerja tanpa membutuhkan intervensi operator yang terus-menerus. Output dari sebuah sistem yang mengatur sendiri diumpankan kembali ke inputnya untuk menghasilkan apa yang dikenal sebagai sistem loop-tertutup. Salah satu contoh dari sistem loop-tertutup adalah sistem kontrol pemanasan yang dirancang untuk mempertahankan suhu dan kelembahan ruanganyang konstan dalam sebuah gedung terlepas dari berbagai perubahan kondisi di luar gedung tersebut.

Dalam bahasa yang lebih sederhana, sebuah mikrokontroller harus mampu menghasilkan suatu kondisi yang spesifik pada setiap saluran yang terhubung ke port-port outputnya sebagai tanggapan atas suatu kombinasi tertentu dari kondisi-kondisi yang ada pada masing-masing saluran yang terhubung ke port-port inputnya. Mikrokontroller juga harus memiliki sebuah unit pengelolaan pusat yang mampu melaksanakan operasi-operasi aritmatika, logika, dan pewaktuan sederhana. Sinyal-sinyal port input dapat diturunkan dari sejumlah sumber, di antarnya:

a) Saklar-saklar (termasuk tombol-tombol tekan yang memberikan reaksi dalam sekejap);

b) Sensor-sensor (menghasilkan output-output yang kompatibel dengan level-logika);

c) Keyboard (baik tipe yang dikodekan maupun yang tidak dikodekan).

Sinyal-sinyal port output dapat disambungkan ke sejumlah perangkat di antaranya:

a) Saklar-saklar (termasuk tombol-tombol tekan yang memberikan reaksi dalam sekejap);

b) Sensor-sensor (menghasilkan output-output yang kompatibel dengan level-logika);

c) Keyboard (baik tipe yang dikodekan maupun yang tidak dikodekan).

(34)

penyambungan dan pemutusan namun terdapat banyak jenis perangkat lainnya yang juga banyak digunakan termasuk diantaranya berbagai jenis sensor yang menyediakan output-ouput level-logika (seperti saklar float, detektor jarak, sensor cahaya,dll).

Penting untuk diperlihatkan bahwa, untuk dapat disambungkan secara langsung ke sebuah port input mikrokontroler, suatu perangkat input harus menyediakan sinyal yang kompertibel logika. Ini disebabkan karena input-input mikrokontroler hanya dapat menerima sinyal-sinyal input digital dengan level tegangan yang sama sebagaimana pada sumber daya logika. Level pertahanan bahwa, 0 V (seringkali disebut dengan Vss dalam kasus mikrokontroller CMOS) dan catu positif (Vdd dalam kasus mikrokontroller CMOS) adalah 5V lebih kurang 5%. Level tegangan pada sekitar 0V mengindikasikan sinyal logika 0 dan tegangan pada level yang kurang lebih sama dengan catu daya positif mengindikasikan sinyal logika1.

Perangkat-perangkat input lainnya dapat meraba besaran-besaran analog (seperti misalnya kecepatan) namun memanfaatkan suatu kode digital untuk mempresentasikan nilai besaran-besaran tersebut sebagai input ke suatu sistem mikrokontroller. Beberapa mikrokontroller menyediakan perangkat pengkonversi analog ke digital (ADC) internal untuk menyederhanakan penyambungan sensor-sensor analog sebagai perangkat input.

Perangkat-perangkat output digunakan untuk mengkomunikasikan informasi atau tindakan-tindakan dari sebuah sistem komputer kepada dunia luar. Pada sistem personal computer, perangkat output yang paling umum adalah perangkat tampilan atau display dll. Sebagaimana perangkat input, sistem mikrokontroller seringkali menggunakan perangkat perangkat output yang jauh lebih sederhana. Perangkat ini bisa jadi tidak hanya sekedar LED, pembangkit suatu piezeolektrik, relay, dan motor. Untuk dapat tersambung langsung ke port output sebuah mikrokontroller, perrangkat output harus karena mampu untuk menerima sinyal kompertibel-logika.

(35)

kompatibel-logika (yaitu ketika sinyal-sinyal tersebut berada di luar jangkauan sinyal-sinyal yang dapat disambungkan secara langsung kepada mikrokontroller) sejumlah rangkaian anatrmuka dibutuhkan sebagai tambahan akan dibutuhkan untuk menggeser level tegangan atau menyediakan level penggerak arus tambahan. Sebagai contoh, tersedia sejumlah rangkaian antarmuka yang umum digunakan (relay solid-state) yang akan memungkinkan mikrokontroller untuk berhubungan dengan suatu beban yang tersambung ke sumber a.c. setelah itu adalah mungkin bagi sebuah mikrokontroller kecil ( yang bekerja hanya dengan sumber d.c. 5V ) untuk mengontrol suatu sistem pemanasan terpusat yang beroperasi dengan sumber a.c. 240V.

Pemrograman Mikrokontroller AVR

Pemrograman mikrokontroller AVR dapat menggunakan low level language (assembly) dan high language (C, Basic, Pascal, java dll) tergantung compiler yang digunakan. Bahasa assembler mikrokontroller AVR memiliki kesamaan instruksi, sehingga jika pemrograman satu jenis mikrokontroller AVR sudah dikuasai, maka dengan mudah akan menguasai pemrograman keseluruhan mikrokontroller jenis AVR. Namun bahasa assembler relatif lebih sulit dipelajari daripada bahasa C, untuk pembuatan satu proyek yang besar akan memakan waktu yang sangat lama. Serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki keunggulan dibanding bahasa assembler yaitu indepedent terhadap hardware serta lebih mudah untuk menangani project yang besar. Basaha C mempunyai keuntungan-keungtungan yang dipunyai oleh bahasa mein (asemmbly). Hampir semua opersi yang dapat dilakukan oleh bahasa mesin, dapat dilakukan dengan bahsa C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C sendiri sebanarnya terletak diantara bahasa pemrograman tingkat tinggi dan assembly.

2.4 Mikrokontroler Atmega16

(36)

memory 16Kbyte EEPROM 512 byte dan SRAM 1Kbyte, sluran I/O sebanyak 32 buah yaitu port A, B, C dan D. CPU yang terdiri dari 32 register, unit interupsi intrnal dan eksternal, port USART untuk komunikasi serial, fitur peripheral dengan 3 buah timer/counter dengan kemampuan pembandingan dua (2) buah timer/counter 8 bit dengan prescaler terpisah dan mode compare dan satu (1) buah timer/counter 16 bit dengan precaler terpisah mode campare, dan mode capture, real time counter dengan oscillator tersendiri, 4 chanel PWM, 8 channel 10 bit-ADC, 8 singel-ended channel, 7 differential channel hanya pada kemasan TQFP, 2 differential channel dengan programmable gain 1x, 10x, atau 200x, antarmuka SPI, on-chip analog comparator.

Konfigurasi Pin AVR Atmega16

Gambar berikut ini merupakan susunan kaki standart 40 pin DIP mikrokontroller AVR Atmega16.

Gambar 2.2 Tampilan Fisik Atmega16

(37)

yaitu PORTxn dan PINxn. Port I/O pada mikrokontroller AVR dapat dikonfigurasi sebagai input atau ouput dengan mengubah isi I/O register. Bit data DDxn dalam register DDRx (data derictoin register) menentukan arah pin.

Arsitektur AVR mepunyai dua memori utama yaitu memori data dan memori program selain itu, Atmega16 memiliki meliki memori EPROM untuk menyimpan data. Atmega16 memiliki 16Kbyte on-chip in-system reproggrammable flash memory untuk mennyimpan program. Karena instruktur Atmega16 memiliki 16 atau 32 bit. Flash diatur dalam 18K x 16 bit. Untuk keamanan program, memori program, flash dibagi menjadi dua bagian yaitu bagian program bot dan aplikasi. Boot loader adalah program kecil yang bekerja pada saat up time yang dapat memasukkan ke program aplikasi ke dalam mikroposessor.

Memori AVR Atmega16 terbagi menjadi 3 bagian yaitu 32 buah register umum,64 buah register I/O dan 1Kbyte SRAM internal. General purpose register menempati data alamat terbawah yaitu S00 sampai S1F. Sedangkan memory I/O menempati 64 alamatnnya berikutnya mulai dari $20 hingga $5F. Memory I/O merupakan register yang khusus digunakan mengatur fungsi yang khusus terhadap berbagai pheriperal mikrokontroller seperti control register, timer atau counter fungsi I/O dan sebagainya.1024 alamat memory berikutnya mulai alamat $45F digunakan untuk SRAM internal. Atmega 16 terdiri dari 512 byte memori data EEPROM 8 bit, data dapat ditulis atau dibacadari memori, ini ketika catu daya yang dimatikan, data yang terakhir ditulis pada memori EEPROM masi tersimpan pada memori ini, atau kata lain EEPROM bersifat nonvolatile alamat EEPROM dari $000 hingga $1FF.

2.5 Codvision AVR

(38)

program tersebut. Salah satu compiler program yang umum digunakan sekarang ini adalah CodeVision AVR yang menggunakan bahasa pemrograman C. CodeVision AVR mempunyai suatu keunggulan dari compiler lain, yaitu adanya codewizard, fasilitas ini memudahkan kita dalam inisialisasi mikrokontroler yang akan kita gunakan. Dibawah ini adalah gambar Tampilan Software Code VisionAVR

Gambar 2.3 Tampilan Software CodeVisionAVR

Program Codvision AVR

(39)

Vision Programmer Cable dapat diintegrasik dengan Code Vision AVR, terlebih dahulu harus dilakukan konfigurasi sebagai berikut :

• Jalankan software Code Vision AVR.

• Pilih menu setting. Programmer.

• Pilih tipe programmer.

• Lalu klik tombol OK.

Catatan: Proses ini hanya dapat dilakukan pada saat ada project yang telah dibuat atau dibuka.

Bahasa Pemrograman CodeVisionAVR

Akar dari bahasa C adalah bahasa BCPL yang dikembangkan. 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 4. Sistem Operasi

(40)

7. Paket program aplikasi

Beberapa program paket yang beredar seperti dBase dibuat dengan menggunakan bahasa C, bahkan sistem operasi UNIX juga dibuat dengan menggunakan bahasa C. Dalam beberapa literatur, bahasa C digolongkan sebagai bahasa tingkat menengah (medium level language). Penggolongan ini bukan berarti bahasa C kurang ampuh atau lebih sulit dibandingkan dengan bahasa tingkat tinggi (high level language - seperti Pascal, Basic, Fortran, Java, dan lain-lain), namun untuk menegaskan bahwa bahasa C bukanlah bahasa yang berorientasi pada pada mesin yang merupakan ciri dari bahasa tingkat rendah (low level language), yaitu bahasa mesin dan assembly. Pada kenyataannya, bahasa C mengkombinasikan elemen dalam bahasa tingkat tinggi dan bahasa tingkat rendah, yaitu kemudahan dalam membuat program yang ditawarkan pada bahasa tingkat tinggi dan kecepatan eksekusi dari bahasa tingkat rendah.

2.5 Bahasa C

(41)

Gambar 2.4 Tampilan Software Bahasa C

Bahasa C merupakan pengembangan dari bahasa pemrograman B. Kepopuleran C ini pada mulanya tidak dilepaskan dari kepopuleran dari sistem operasi UNIX yang meupakan induk dan aplikasi utama pertamanya. Dalam waktu yang singkat Ctelah menggantikan pemrograman assembler dalam lingkungan UNIX. Tetapi selanjutnya C berkembang ke arah status yang mandiri dan digunakan dalam perusahaan – perusahaan lainyang mengembangkan kompiler – kompiler C untuk lingkunngan nonUNIX. Hingga awal tahun 80-an berbagai versi C untuk mikrokomputer telah banyak banyak beredar di perngkat lunak.

2.5.1 Kerangka Dasar Bahasa Pemrograman C

Bahasa pemrograman C sama seperti bahasa pemrograman lainnya yang memiliki kerangka dasar. Kerangka Dasar Bahasa C adalah sebagai berikut:

• Fungsi main ( )

Fungsi main merupakan fungsi utama yang wajib ada pada saat kita membuat program dengan bahasa C. Dalam sebuah project hanya boleh ada 1 buah fungsi main() saja. Namun dalam bahasa C, tidak membatasi hanya boleh 1 fungsi saja, melainkan kita juga diperbolehkan untuk membuat fungsi-fungsi lain selain fungsi main ( ) yang bisa mempermudah kita dalam membuat sebuah program.

• Deklarasi variabel

(42)

variabel ini biasanya sekaligus dengan mencantumkan tipe data dari variabel tersebut.

• Perintah (statement)

Perintah merupakan deretan program yang kita buat dalam sebuah project.

• Akses library

Digunakan untuk mengakses library apa saja yang kita perlukan dalam pembuatan sebuah program.

• Komentar

Komentar merupakan sebuah kalimat yang biasanya dicantumkan oleh seorang programer sebagai sebuah catatan kecil yang mana komentar ini tidak akan ikut di compile atau diproses.

2.5.2 Kelebihan dan Kekurangan Bahasa Pemrograman C

Bahasa C mempunyai beberapa kelebihan dibanding dengan bahasa pemrograman yang lain, yaitu:

Kelebihan

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.

(43)

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.

Kekurangan

Adapun kelemahan --atau lebih tepatnya kesulitan bahasa pemrograman C terutama yang dirasakan oleh pemrogram pemula diantaranya adalah:

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.

2.6 LCD (Liquid Crystal Display)

Berikut adalah tampilan bentuk fisik LCD yang digunakan pada perancangan alat,

Gambar 2.5. Bentuk Fisik LCD

(44)

Gambar dibawah ini adalah gambar tampilan knfigurasi pin LCD 16 Karakter x 2 Baris.

Gambar 2.6. Konfigurasi Pin LCD 16 Karakter x 2 Baris

Dengan gambar diatas dapt digunakan untuk keperluan antar muka suatu komponen elektronika dengan mikrokontroler perlu diketahui fungsi dari setiap pin yang ada pada komponen tersebut. Adapun konfigurasi pin LCD sebagai berikut:

a. Pin 1 (VSS) : Ground voltage b. Pin 2 (VCC) : +5V

c. Pin 3 (VEE) : Contrast Voltage d. Pin 4 (RS) : Register Select,

0; intruction register 1; data register

e. Pin 5 (R/W) : Read/Write to choose write or read mode 0; write mode

1; read f. Pin 6 (E) : Enable

0; start to lacht data to LCD character 1; disable

(45)

k. Pin 11 (D4) : Data bit ke-4 l. Pin 12 (D5) : Data bit ke-5 m. Pin 13 (D6) : Data bit ke-6 n. Pin 14 (D7) : Data bit ke-7 (MSB) o. Pin 15 (BPL) : Back plane light p. Pin 16 (GND) : Ground Voltage

(46)

BAB 1 PENDAHULUAN

1.1. Latar Belakang

Pada era modern sekarang ini perkembangan teknologi transportasi semakin hari semakin pesat dan maju baik dari sisi kualitas maupun kuantitas, sehingga membuat para pengguna transportasi kendaraan bebas memilih alat transportasi yang sesuai dengan kondisi dan kebutuhan. Salah satunya adalah sarana transportasi darat, seperti mobil, sepeda motor, serta angkutan darat lainnya. Salah satu penyebab dari banyaknya transpostasi ini adalah polusi yang tersebar luas di udara.

Beberapa waktu lalu telah terjadi kebakaran dan menyebabkan pencemaran diudara yang harusnya tidak kita hirup karena bukan udara segar namun, terpaksa harus dilakukan penghirupan udara yang tidak segar. Ada banyak upaya yang dilakukan untuk menghindari pencemaran udara ini, salah satunya adalah dengan menggunakan masker sebagai penutup hidung agar udara yang menngganggu tidak masuk didalam saluran pernafasan.

Alat yang dibuat dalam skripsi ini digunakan untuk menghitung kadar oksigen agar dapat diketahui berapa banyak atau berapa persen kadar oksigen yang ada diudara saat kondisi kondisi yang diinginkan dan tempat yang diinginkan. Untuk mengetahui kadar oxygen yang baik atau tidaknya untuk dihirup, maka dibuatlah suatu alat ukur kadar oxygen yang mampu menghitung dan menapilkan nilai oxygen di layar LCD dan PC.

Sistem kontrolnya menggunakan mikrokontroler ATMega16 beserta perangkat lunak pemrogramannya, sedangkan sensor Gs Oxygen berfungsi untuk mendeteksi kadar oksigen yang berada diluar ataupun di dalam ruangan. Dari sensor tersebut dapat diperoleh data yang kemudian dikirim ke mikrokontroler ATMega16 untuk diproses. Maka dari semua uraian di atas penulis tertarik untuk mengambil judul :

(47)

1.2. Rumusan Masalah

1. Bagaimana merancang rangkaian agar sensor Gs oxygen dapat mengirim data ke Mikrokontroler ATMega16.

2. Bagaimana menentukan mekanisme dan sistem kerja dari alat ukur kadar oksigen.

3. Bagaimana menentukan pengukuran pada Gs Oxygen menjadi stabil dan layak untuk dipergunakan.

1.3. Batasan Masalah

Untuk membatasi masalah-masalah yang ada, maka penulis membatasi ruang lingkup masalah sebagai berikut:

1. Sistem menggunakan sensor Gs Oxygen yang dikhususkan sebagasi sensor yang mendeteksi gas O2 sebagai pendeteksi kadar Oxygen.

2. Sistem dikontrol oleh sebuah mikrokontroler AVR yang di program dengan bahasa C (CV - AVR).

3. Alat yang digunakan untuk menghitung kadar oksigen disuatu tempat. 4. Program GUI tidak di bahas, hanya sebagai sarana menampilkan grafik.

1.4. Tujuan Penelitian

Tujuan penelitian ini yaitu membuat suatu perangkat alat ukur kadar oksigen yang mampu menghitung kadar oksigen dan mampu menampilkan kadar oksigen di LCD dan PC agar manusia dapat menanam pohon dan menjaga penghijauan disekitarnya.

1.5. Manfaat Penelitian

1. Dapat mengetahui kadar oksigen yang berada disekitar yang kita inginkan. 2. Dapat menghitung dan menampilkan kadar oksigen disuatu tempat di dalam

maupun d iluar ruangan dengan tampilan di LCD dan PC.

1.6. Metodologi Penelitian

(48)

1.7. Sistematika Penulisan

Untuk memberikan gambaran pada mengenai skripsi ini, secara singkat dapat diuraikan sistematika penulisan sebagai :

BAB 1. PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, tujuan penulisan, batasan masalah, serta sistematika penulisan.

BAB 2. LANDASAN TEORI

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian. Teori pendukung itu antara lain tentang mikrokontroler Atmega16 (hardware dan software), bahasa program yang digunakan, Gs Oxygen sebagai alat pendeteksi, pemrograman dalam mikrokontroller dan catu daya.

BAB 3. PERANCANGAN DAN PEMBUATAN

Analisa rangkaian dan sistem kerja, dalam bab ini dibahas tentang sistem kerja per-blok diagram dan sistem kerja keseluruhan.

BAB 4. PENGUJIAN DAN ANALISA

Pada bab ini akan dibahas pengujian rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktifkan rangkaian, penjelasan mengenai program yang diisikan ke mikrokontroler Atmega16 dan Gs Oxygen.

BAB 5. KESIMPULAN DAN SARAN

(49)

PERANCANGAN ALAT UKUR KADAR OKSIGEN (O2) MENGGUNAKAN Gs OXYGEN KE-25 SENSOR BERBASIS MIKROKONTROLLER ATMega16

DENGAN TAMPILAN PC ABSTRAK

Telah dirancang Alat Ukur Kadar Oksigen (O2) Menggunakan Gs Oxygen

KE-25 Sensor Berbasis Mikrokontroller ATMega16 dengan Tampilan PC. Alat ukur ini menghitung kadar oksigen yang sehat dihirup oleh tubuh manusia. Oleh karena itu dibutuhkan suatu perangkat dan sistem yang mampu menghitung kadar oksigen diluar maupun di dalam ruangan. Pada penelitian ini dirancang suatu sistem dengan perangkat alat ukur penghitung kadar oksigen. Dimana sensor Gs Oxygen berfungsi untuk mendeteksi kadar oksigen, kemudian data yang diperoleh dari sensor akan dikirim ke mikrokontroler ATMega16 untuk diproses sehingga mikro akan mengeksekusi berapa perssen besar kadar oksigen yang dideteksi pada tempat yang ditentukan oleh pengguna. Kemudian hasil eksekusi akan ditampilkan dilayar LCD dan PC.

(50)

DESIGN TOOLS TO MEASURE THE CONCENTRATION OF OXYGEN ( O2 )

Gs USING OXYGEN SENSOR TO - 25 ATmega16 BASED ON

MICROCONTROLLER WITH A VIEW PC

ABSTRACT

It has been designed Measuring Levels of Oxygen ( O2 ) Using Gs Oxygen Sensor TO - 25 Microcontroller Based ATmega16 with PC display . This measure calculates the amount of oxygen inhaled by the human body healthy . Therefore it takes a device and a system capable of calculating the levels of oxygen outside and indoors . In this study , designed a system with a timer device measuring instrument oxygen levels . Where Gs Oxygen sensor function to detect levels of oxygen , and then the data obtained from the sensors will be sent to the microcontroller ATmega16 to be processed so that the micro will execute great perssen how oxygen levels were detected in the place specified by the user . Then the execution results are displayed on the screen LCD and PC .

Keywords : Gs Oxygen , ATmega16 microcontroller , LCD and PC.

(51)

PERANCANGAN ALAT UKUR KADAR OKSIGEN (O

2

)

MENGGUNAKAN Gs OXYGEN KE-25 SENSOR BERBASIS

MIKROKONTROLLER ATMega16 DENGAN TAMPILAN PC

SKRIPSI

JULI SUHARTIKA

140821028

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETUAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(52)

PERANCANGAN ALAT UKUR KADAR OKSIGEN (O

2

)

MENGGUNAKAN Gs OXYGEN KE-25 SENSOR BERBASIS

MIKROKONTROLLER ATMega16 DENGAN TAMPILAN PC

SKRIPSI

Diajukan

Untuk Melengkapi Tugas dan Memenuhi Syarat Mencapai Gelar Sarjana Sains

JULI SUHARTIKA

140821028

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETUAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(53)

PERSETUJUAN

Judul : Perancangan Alat Ukur Kadar Oksigen (O2) Menggunakan

Gs Oxygen KE-25 Sensor Berbasis Mikrokontroller ATMega16 dengan Tampilan PC

Kategori : Skripsi

Nama : Juli Suhartika

Nomor Induk Mahasiswa : 140821028

Program Studi : Sarjana (S1) Fisika Instrumentasi Departemen : Fisika

Fakultas : Matematika dan Ilmu Pengetahuan Alama (FMIPA) Universitas Sumatera Utara

Disetujui di Medan, 27 Juli 2016

Diketahui/Disetujui oleh

Departemen Fisika FMIPA USU

Ketua Pembimbing

Dr. Marhaposan Situmorang Dr Bisman Perangin-Angin M.Eng.Sc

NIP.195510301980031003 NIP. 195609181985031002

(54)

PERNYATAAN

PERANCANGAN ALAT UKUR KADAR OKSIGEN (O2) MENGGUNAKAN Gs OXYGEN KE-25 SENSOR BERBASIS MIKROKONTROLLER ATMega16

DENGAN TAMPILAN PC SKRIPSI

Saya mengakui bahwa Skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya

Medan, Juli 2016

(55)

PERANCANGAN ALAT UKUR KADAR OKSIGEN (O2) MENGGUNAKAN Gs OXYGEN KE-25 SENSOR BERBASIS MIKROKONTROLLER ATMega16

DENGAN TAMPILAN PC ABSTRAK

Telah dirancang Alat Ukur Kadar Oksigen (O2) Menggunakan Gs Oxygen

KE-25 Sensor Berbasis Mikrokontroller ATMega16 dengan Tampilan PC. Alat ukur ini menghitung kadar oksigen yang sehat dihirup oleh tubuh manusia. Oleh karena itu dibutuhkan suatu perangkat dan sistem yang mampu menghitung kadar oksigen diluar maupun di dalam ruangan. Pada penelitian ini dirancang suatu sistem dengan perangkat alat ukur penghitung kadar oksigen. Dimana sensor Gs Oxygen berfungsi untuk mendeteksi kadar oksigen, kemudian data yang diperoleh dari sensor akan dikirim ke mikrokontroler ATMega16 untuk diproses sehingga mikro akan mengeksekusi berapa perssen besar kadar oksigen yang dideteksi pada tempat yang ditentukan oleh pengguna. Kemudian hasil eksekusi akan ditampilkan dilayar LCD dan PC.

(56)

DESIGN TOOLS TO MEASURE THE CONCENTRATION OF OXYGEN ( O2 )

Gs USING OXYGEN SENSOR TO - 25 ATmega16 BASED ON

MICROCONTROLLER WITH A VIEW PC

ABSTRACT

It has been designed Measuring Levels of Oxygen ( O2 ) Using Gs Oxygen Sensor TO - 25 Microcontroller Based ATmega16 with PC display . This measure calculates the amount of oxygen inhaled by the human body healthy . Therefore it takes a device and a system capable of calculating the levels of oxygen outside and indoors . In this study , designed a system with a timer device measuring instrument oxygen levels . Where Gs Oxygen sensor function to detect levels of oxygen , and then the data obtained from the sensors will be sent to the microcontroller ATmega16 to be processed so that the micro will execute great perssen how oxygen levels were detected in the place specified by the user . Then the execution results are displayed on the screen LCD and PC .

Keywords : Gs Oxygen , ATmega16 microcontroller , LCD and PC.

(57)

DAFTAR ISI

Halaman

Persetujuan ... ...i

Pernyataan……….ii

Penghargaan ... iii

Abstrak ... iv

Abstract...v

Daftar Isi...vi

Daftar Gambar ... viii

Daftar Tabel ... ix

1.5 Manfaat Penelitian ... ...3

BAB II LANDASAN TEORI 2.1 Oxygen ... 5

2.2 Gs Oxygen Sensor...……… ... ….7

2.3 Mikrokontroller…….. ... 8

2.4 Mikrokontroler ATMega16 ... 12

2.5 Code Vision AVR ... 14

2.6 Bahasa C ... 17

2.6 LCD (Liquid Crystal Display) ... 20

BAB III PERANCANGAN DAN SISTEM KERJA RANGKAIAN 3.1 Diagram Block ... 23

3.2 Perancangan Pengendali Sistem ... 25

3.2.1 RangkaianPower Supply…………. ... 25

3.2.2 Sensor ... 27

3.2.3 Mikrokontroler...29

3.2.4 USB-TO-TTL... ... ...30

3.3 Flowchart... ... ...32

3.4 Perancangan Algoritma Program... ... 33

(58)

BAB IV PENGUJIAN ALAT DAN ANLAISA

4.1 Pengambilan Data...34

4.1.1 Pengujian Rangkaian Mikrokontroller ATMega16...34

4.1.2 Pengujian dan Analisa Sensor Oksigen KE-25...35

4.2 Pengujian dan Analisa Sensor Interface GUI...37

4.3 Pengujian Rangkaian Interfacing LCD 2x16...38

BAB V PENUTUP 5.1 Kesimpulan ... 40

5.2 Saran ... 40 DAFTAR PUSTAKA

(59)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Tampilan Fisik Gs Oxygen 7

Gambar 2.2 Tampilan Fisik Atmega16 13

Gambar 2.3 Tampilan Software CodeVisionAVR 15

Gambar 2.4 Tampilan Software Bahasa C 18

Gambar 2.5 Bentuk Fisik LCD 20

Gambar 2.6 Konfigurasi Pin LCD 16 Karakter x 2 Baris 21

Gambar 3.1 Diagaram Blok Rangkaian 23

Gambar 3.2 Rangkaian Skematik Power Supply 25

Gambar 3.3 Skematik Rangkaian Dalam Gs Oxygen KE-25 27 Gambar 3.4 Mekanisme Skematik Rangkaian Dalam Gs Oxygen KE-25 27 Gambar 3.5 Sistem Kerja Pada Rangkaian Dalam Gs Oxygen KE-25 28 Gambar 3.6 Rangkaian Skematik Sistem Minimum ATmega16 29

Gambar 3.7 Flowchart 32

Gambar 3.8 Tampilan awal GUI Delphi 34

Gambar 3.9 Gambar Rangkain Keseluruhan 34

(60)

DAFTAR TABEL

Halaman

Gambar

Gambar 3.1 Diagaram Blok Rangkaian
Gambar 3.2.Rangkaian Skematik Power Supply 5 Volt
Gambar 3.3. Skematik Rangkaian Dalam Gs Oxygen KE-25
Gambar 3.4. Mekanisme Skematik Rangkaian Dalam Gs Oxygen KE25
+7

Referensi

Dokumen terkait

Ruang Wakil Rektor I, Ruang Wakil Rektor II, Ruang Kepala BUPK (Biro Umum Perencanaan dan Keuangan) dan Ruang BAKK. (Biro Akademik Kemahasiswaan dan

mengembalikan kepercayaan publik kepada partai politik adalah konsistensi kader dan partai politik untuk tidak melakukan korupsi dengan 41,7%, pro dengan rakyat 24,1%,

menurut keperluan modal Perseroan, dengan persetujuan Rapat Umum Pemegang Saham para pemegang saham yang namanya tercatat dalam --- Daftar Pemegang Saham mempunyai hak

Analisis kebutuhan ini didasarkan pada hasil analisis sebelumnya yang merekomendasikan untuk dilakukannya upaya perbaikan sistem lama dengan sistem baru yang lebih baik,

Pada bagian ini akan dijelaskan mengenai alur sistem pengiriman SMS Gateway. Pengiriman pesan melalui SMS ini ditujukan kepada masyarakat sekitar bantaran sungai agar

ANALISIS : perintah ps – eH untuk menampilkan hubungan proses parent dan child.setelah mengetikan perintah ps – eH kemudian enter maka proses child muncul dibawah proses parent

Penghapusan adalah tindakan menghapus barang milik daerah dari daftar barang dengan menerbitkan surat keputusan dari pejabat yang berwenang untuk membebaskan

Potensi awal dihitung dengan persamaan 9 bila diketahui jumlah m lebih dari 1. Sedangkan untuk m sama dengan 1, dihitung dengan persamaan seperti pada 10. Sedangkan