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