• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN SISTEM DAN SISTEM KERJA RANGKAIAN

3.8 Flowchart

Mulai

Inisialisasi LCD

Inisialisasi MQ

Inisialisasi Mikrokontroller

ATMEGA 8535

Baca Sensor

Op AMP

Tebaca

Tidak

ATMEGA 8535

Sesuai batas aman

Hidupkan Indikator buzzer dan LED

Matikan Indikator buzzer dan LED Kalibrasi

Tampilkan keadaan Di LCD

END

Gambar 3.8 Flowchart

Keterangan Flowchart

1. Mulai dengan menginisiasi LCD, dimna saat power on maka LCD akan hidup dan menampilkan program yang sudah dibuat seperti tampilan nama dan NIM.

2. Inisialisasi Sensor (Sensor Warm-Up)

Pada saat power on maka rangkaian akan berada dalam kondisi warm up dengan waktu kurang lebih 3-5 menit untuk menstabilkan tegangan dan kondisi sensor.

3. Arus akan dikuatkan oleh OP/AMP untuk menghasilkan arus yang dibutuhkan oleh rangkaian.

4. Pembacaan Sensor

Pada pembacaan sensor pada LCD telah diubah ke dalam bentuk tegangan. Pada saat pembacaan LCD menunjukkan kadar CO dalam satuan ppm, maka alat berarti berfungsi. Jika pembacaan di LCD tidak ada, maka ulangi ke inisiasi LCDnya.

5. Kalibrasi sensor

Saat sesuai dengan batas aman, maka buzzer tidak akan hidup. Apabila melewati batas aman, maka indicator nya akan hidup. Indicator akan sesuai dengan tiga tahapan, yakni batas aman, sedang, dan bahaya yang ditandai dengan lampu LED dan buzzer.

BAB IV

HASIL DAN ANALISA DATA

4.1 Tempat Dan Waktu Pengujian

Pengujian pengukuran dilakukan terhadap beberapa sampel, dimana hasil pengukuran yang terbaca berupa hasil yang acak. Pengujian ini dilakukan di :

Tempat : Fakultas MIPA Tanggal : 18 Juni 2017 Waktu / Pukul : 15.00 – 16.20 WIB

Pengujian dilakukan dengan metode pengukuran langsung pada udara dan sumber gas CO yang akan diuji dengan penunjukan pada alat ukur.

4.2 Pengujian Mikrokontroller dan Port

Pengujian pada rangkaian mikrokontroler ATMega 8535 ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian power supply sebagai sumber tegangan. Kaki 10 dan 30 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 11 dan 31 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 8535 untuk menguji port port yang terdapat pada AtMega8535, program yang

lcd_gotoxy(0, 0);

lcd_putsf("Ismail Hakim");

DDRA=0xFF;

PORTA = 0xFF;

DDRB = 0xFF;

PORTB = 0xFF;

DDRC=0xFF;

PORTC = 0xFF;

DDRD = 0xFF;

PORTD = 0xFF;

}

4.3 Pengujian Power Supply

Power supply berfungsi untuk menyuplai tegangan ke alat tersebut. Tegangan yang dibutuhkan alat adalah 5 volt. Pengujian power supply dilakukan untuk mengetahui apakah tegangan yang masuk ke alat tersebut bernilai 5 volt.

Tabel 4.1 Data Hasil Uji Power Suply

Vin Vout

11,47 4,98

Gambar 4.1 Uji Power Suply 4.4 Pengujian LCD

LCD dot matriks 16 x 2 karekater dapat dihubungkan langsung dengan mikrokontroler ATMega8535, disini fungsi LCD adalah sebagai tampilah hasil pengukuran dan diberi beberapa keterangan. Pada penelitian ini LCD dihubungkan kemikrokontroler melalui PortC.0 ~ PortC.5 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 :

Gambar 4.2 Uji LCD

// program tes LCD

#include <mega8535.h>

#include <stdio.h>

#include <delay.h>

#include <alcd.h>

void main()

{ lcd_init(16);

lcd_gotoxy(0, 0);

lcd_putsf("Ismail Hakim");

lcd_gotoxy(0, 1);

lcd_putsf("142411092");

}

4.5 Pengujian Udara di Beberapa Tempat No Jenis

1 Udarabebas 104 – 115 ppm

2 Hembusan napas 116 – 132 ppm

3 Asap rokok 152 –

268 ppm

4 Asap anti nyamuk bakar

132 – 172 ppm

5 Asap sepeda motor 192 – 330 ppm

6 Asap solder 128 –

153 ppm

Gambar 4.3 Proses Pengujian

Berikut ini data dan grafik hasil pengujian alat ukur konsentrasi Karbon Monoksida (CO) di beberapa tempat dengan sumber CO yang berbeda.

Tabel 4.2 Hasil pengukuran CO di beberapa tempat

Gambar 4.4 Grafik perbandingan hasil uji CO dengan referensi

4.6 Analisa Data

Pada uji coba rangkaian ATMega 8535 terhubung dengan LCD, diperlukan pemanggilan library“#include <LiquidCrystal.h>” yang berfungsi untuk menambahkan fungsi-fungsi program menampilkan karakter pada LCD.

Kemudian “LiquidCrystal lcd(8,9,10,11,12,13);” adalah listing program untuk pengaturan letak pin-pin kaki LCD dihubungkan ke pin-pin ATMega 8535.

Penulisan pin-pin ini harus sesuai antara program dengan alat yang telah dipasang.

Selanjutnya “lcd_begin(16,2);” yaitu pengaturan jumlah baris dan kolom sesuai LCD yang digunakan. Karena yang digunakan yaitu LCD 16x2 karakter, maka penulisan pada program ini yaitu “lcd_begin(16,2);”. Apabila menggunakan LCD yang berukuran 16 x 2, maka pada program seharusnya tertulis

“lcd_begin(16,2);”.

Dalam penggunaan sensor gas CO yaitu MQ-7, kita harus melakukan pemanasan alat (warm up) yang bertujuan untuk menstabilkan pembacaan sensor.Waktu yang dibutuhkan berkisar 3-5 menit sebelum penggunaan alat.

Dari data pengujian kadar CO di beberapa tempat dan sumber gas CO yang telah kita lakukan, kita dapat melihat beberapa sumber gas CO yang berbahaya. Salah satu sumber gas CO yang berbahaya yaitu asap kendaraan bermotor dan asap rokok, yang mana dalam kesehariannya banyak kita jumpai.

Alat pengukur kadar CO sangat berguna dalam kehidupan modern ini, dengan banyaknya sumber- sumber polutan CO kita jumpai. Dalam ruang public umum banyak kita jumpai perokok yang tidak mengetahui bahaya asap rokok yang dihasilkan dengan kadar CO yang sangat tinggi. Dengan adanya alat pengukur CO ini, kita dapat menekan jumlah sumber polutan CO terutama di ruang publik.

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan pengujian dan pembahasa mengenai alat ukur konsentrasi Karbon Monoksida COdengan sensor MQ-7 dapat disimpulkan bahwa:

1. Sistem alat ukur kadar Karbon Monoksida CO memerlukan tegangan yang stabil. Sehingga harus membutuhkan waktu yang relatif lebih lama untuk mencapai kestabilan. Prinsip kerja dari alat ini adalah MQ-7 sebagai sensor gas CO akan menerima signal analog dan mengubahnya dengan ADC menjadi signal digital, kemudian LCD akan menampilkan hasil dari pengukuran kadar CO dalam satuan ppm.

2. Dari pengujian yang telah dilakukan, didapat hasil dari pendeteksian gas CO di udara bebas dan asap rokoksebesar 115 ppm dan 268 ppm, dimana status udara bebas aman sedangkan asap rokok berbahaya.

3. ATMega 8535 sebagai basisnya memiliki sistem pemrosesan sinyal yang baik sehingga memerlukan rangkaian kompensasi untuk mengatasi gangguan sensor terhadap tempratur dan kelembaban udara.Dalam pemrograman ATMega 8535 menggunakan bahasa C dan aplikasi AVR sebagai software pembantu.

5.2 Saran

1. Diharapkan sebelum melakukan pengujian kadar konsentrasi CO, sebaiknya alat dipanaskan terutama sensor MQ-7 untuk menstabilkan pembacaan dari sensor.

Dan Untuk mendapatkan hasil pengujian yang lebih akurat kita dapat mengubah kepekaan dari sensor atau mengganti dengan sensor yang lebih akurat.

2. Setelah melakukan pengujian kita dapat mengetahui sumber polutan CO yang berbahaya, kemudian diharapkan dapat mencegah dan mengurangi sumber polutan tersebut.

3. Alat ini masih dapat dikembangkan dalam fungsi dan spesifikasinya dengan menambah beberapa komponen atau menggantinya sesuai kebutuhan kita.

DAFTAR PUSTAKA

Bejo, A. 2008. C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroller ATMega8535. Edisi I. Yogyakarta : Graha Ilmu

Bishop, Owen.2004. Dasar-dasar Elektronika.Terjemahan.Jakarta: Erlangga.

Endra, Pirowarno.1998.Mikroprocessor dan Interfacing. Edisi 1, Yogyakarta : Penerbit Andi.

Ikrham, Y.2016 Sensor Asap MQ-7. Malang : Universitas Brawijaya.

Malvino. 1985. Prinsip – prinsip elektronika, Edisi III, Jilid 1. Jakarta :Gramedia Pustaka Umum.

Sasmito, Agus. 2005. Standardisasi Gas Buang Pada Kendaraan Bermotor.

Semarang : Polines.

Yatsun, Roby. 2017. Rancang Bangun Miniatur Sistem Kendali Dan Tangki Pemanas Berbasis ATMega 8535 Dan Interface Labview. Medan : Winda http://www.delta-electronic.com/

Diakses pada : 14 Januari 2017 Pukul : 20.18 WIB.

http://robotbego.blogspot.com/2010/02/mikrokontroler-atmega8535.html Diakses pada : 15 Januari 2017

Pukul : 10.25 WIB.

LAMPIRAN

Listing Program

/*******************************************************

This program was created by the CodeWizardAVR V3.27 Automatic Program Generator

© Copyright 1998-2016 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com AVR Core Clock frequency: 1.000000 MHz Memory model : Small

// Declare your global variables here // 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 unsigned char buff[33];

unsigned char MQ;

// Input/Output Ports initialization // Port A initialization

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

DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// 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: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

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

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC7) | (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 // Mode: Normal top=0xFF

// OC0 output: Disconnected

TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);

TCNT0=0x00;

OCR0=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; // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF

// OC2 output: Disconnected ASSR=0<<AS2;

TCCR2=(0<<WGM20) | (0<<COM21) | (0<<COM20) | (0<<WGM21) | (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<<OCIE0) | (0<<TOIE0);

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

// INT1: Off // INT2: Off

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

MCUCSR=(0<<ISC2);

// USART initialization // USART disabled

UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN)

| (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

// Analog Comparator initialization // Analog Comparator: Off

// The Analog Comparator's positive input is // connected to the AIN0 pin

// 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: 125.000 kHz // ADC Voltage Reference: AVCC pin // ADC High Speed Mode: Off

// ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE;

ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE)

| (0<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);

SFIOR=(1<<ADHSM) | (0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);

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

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:

// RS - PORTC Bit 0

Dokumen terkait