Pengujian Rangkaian Sensor Koduktivitas

Berdasarkan keterangan di atas maka kita sudah dapat membuat progam untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai berikut: include mega8a.h include alcd.h void mainvoid { PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x00; lcd_init16; while 1 { Place your code here lcd_gotoxy0,0; lcd_putsftes LCD; } } Program di atas akan menampilkan kata “tes LCD” di baris pertama pada display LCD 16x2

4.4 Pengujian Rangkaian Sensor Koduktivitas

Pengujian dilakukan dengan membedakan hasil keluaran dari ADC air dan bensin, kemudian perbedaan tersebut dimasukan kedalam program. agar ketika pompa hidup, bensin tidak ikut terkuras. Pengujian yang saya lakukan pada sensor konduktivitas, pada kondisi awal ketika diberi tegangan masukan sebesar 5 Volt sensor memberikan nilai tegangan ADC pada bensin sebesar 1023 bit. Akan Universitas Sumatera Utara tetapi apabila terdeteksi air maka nilai tegangan ADC turun. Ini disebabkan apabila kutub positif pada sensor ketemu ground pada saat terdeteksi air maka nilai tegangan ADC turun. Pengujian pada sensor ini dapat kita lihat pada tabel 4.2. Pengujian pada sensor konduktivitas dapat kita lihat pada gambar dibawah ini: Gambar 4.4 Tampilan pengujian Sensor Koduktivitas Tabel 4.2 Perbandingan Nilai ADC Air dengan Bensin Sensor Nilai ADC Air bit Nilai ADC Bensin bit 1. 643 1023 2. 623 1023 3. 615 1023 4. 611 1023 5. 609 1023 6. 617 1023 Adapun program yang diisikan ke mikrokontroller untuk menampilkan volume air yang terdeteksi sensor konduktivitas adalah sebagai berikut: include mega8.h include stdlib.h include delay.h Universitas Sumatera Utara define pompa PORTD.2 int data[6]; int n,counter; char buff[30]; int volume; unsigned int tinggi_air=0; include alcd.h include stdio.h define ADC_VREF_TYPE 0REFS1 | 0REFS0 | 0ADLAR unsigned int read_adcunsigned char adc_input { ADMUX=adc_input | ADC_VREF_TYPE; delay_us10; ADCSRA|=1ADSC; while ADCSRA 1ADIF==0; ADCSRA|=1ADIF; return ADCW; } void mainvoid { DDRB=0DDB7 | 0DDB6 | 0DDB5 | 0DDB4 | 0DDB3 | 0DDB2 | 0DDB1 | 0DDB0; PORTB=0PORTB7 | 0PORTB6 | 0PORTB5 | 0PORTB4 | 0PORTB3 | 0PORTB2 | 0PORTB1 | 0PORTB0; DDRC=0DDC6 | 0DDC5 | 0DDC4 | 0DDC3 | 0DDC2 | 0DDC1 | 0DDC0; Universitas Sumatera Utara DDRD=0DDD7 | 0DDD6 | 0DDD5 | 0DDD4 | 0DDD3 | 1DDD2 | 0DDD1 | 0DDD0; PORTD=0PORTD7 | 0PORTD6 | 0PORTD5 | 0PORTD4 | 0PORTD3 | 0PORTD2 | 0PORTD1 | 0PORTD0; TCCR0=0CS02 | 0CS01 | 0CS00; TCNT0=0x00; lcd_init16; while 1 { Place your code here awal: counter++; for n=0;n6;n++ { data[n]=read_adcn; if data[n]500{data[n]=0;} else {data[n]=1;} } tinggi_air=data[0]+data[1]+data[2]+data[3]+data[4]+dat a[5]; if tinggi_air6{tinggi_air=6;} volume=3.145.255.25tinggi_air; if volume=500{pompa=1;} else if tinggi_air=0{pompa=0;} lcd_clear; itoavolume,buff; lcd_gotoxy0,0; Universitas Sumatera Utara lcd_putsf Volume air; lcd_gotoxy0,1; lcd_putsfVolume = ; lcd_putsbuff; lcd_gotoxy13,1; lcd_putsfcm3; printfD; putsbuff; printf; delay_ms600; } }

4.5 Pengujian Rangkaian Relay, Driver Relay Dan Pompa