Lcd.setCursor0,0; Lcd.putsf“lcd tes”;
} Program di atas akan menampilkan
kata “lcd tes” di baris pertama pada display LCD 2x16. Pengujian ini untuk mengetahui LCD dapat bekerja dengan
baik atau tidak. Pengujian LCD dengan cara memprogram mikrokontroler sesuai dengan program diatas kemudian untuk pin pada LCD dan juga pin mikrokontoler
disesuaikan didalam program.
4.3 Pengujian Sensor MQ-6
Pengujian sensor MQ-6 ini dilakukan dengan cara mengukur output sensor ketika terdeteksi gas LPG kemudian membaca tegangan pada multimeter dan juga pada
mikrokontroler. Pengujian ini dilakukan untuk mengetahui komunikasi sensor dan mikrokontroler terhubung dengan baik atau tidak. Pengujian di lakukan
dengan memprogram mikrokontroler sebagai berikut. while a==0
{ sensor=read_adc0;
itoasensor,buff; lcd_gotoxy0,0;
lcd_putsfbit=; lcd_putsbuff;
Universitas Sumatera Utara
}
4.4 Pengujian Bluetooth HC05
Komunikasi modul HC 05 yang digunakan dengan pengiriman serial RXD dan TXD, langsung dihubungkan ke mikrokontroler atmega8 yaitu pada PORTD.0
dan PORTD.1, pada port tesebut sudah tersedia pengiriman serial dan sudah ada librarynya user tinggal menggunakannya saja.
Pengujian rangkian Bluetooth ini dengan menggunakan Bluetooth terminal pada android, berikut program yang akan diplash dimikrokontroler:
include mega8.h include delay.h
include stdlib.h include stdio.h
void mainvoid {
UCSRA=0RXC | 0TXC | 0UDRE | 0FE | 0DOR | 0UPE | 0U2X | 0MPCM;
UCSRB=0RXCIE | 0TXCIE | 0UDRIE | 1RXEN | 1TXEN | 0UCSZ2 | 0RXB8 | 0TXB8;
UCSRC=1URSEL | 0UMSEL | 0UPM1 | 0UPM0 | 0USBS | 1UCSZ1 | 1UCSZ0 | 0UCPOL;
UBRRH=0x00; UBRRL=0x33
while 1 {
Universitas Sumatera Utara
Printf“tes serial”; }
} Setelah diflash konekan Bluetooth ke android, kemudian buka bluetooth
terminal, maka pada monitor akan terprint tulisan “tes serial”.
4.5 Pengujian Menyeluruh
Pengujian keseluruhan alat ini bertujuan untuk mengetahui sistem berjalan dengan baik. Pengujian ini dilakukan dengan memprogram mikrokontroler dengan
program sebagai berikut. include mega8.h
include stdlib.h include delay.h
define buzzer PORTB.5 Alphanumeric LCD functions
include alcd.h int data,persen;
float gas; char buff[20];
Standard InputOutput functions include stdio.h
Voltage Reference: AREF pin define ADC_VREF_TYPE 0REFS1 | 0REFS0 | 0ADLAR
Read the AD conversion result
Universitas Sumatera Utara
unsigned int read_adcunsigned char adc_input {
ADMUX=adc_input | ADC_VREF_TYPE; Delay needed for the stabilization of the ADC input voltage
delay_us10; Start the AD conversion
ADCSRA|=1ADSC; Wait for the AD conversion to complete
while ADCSRA 1ADIF==0; ADCSRA|=1ADIF;
return ADCW; }
void mainvoid {
Declare your local variables here
InputOutput Ports initialization Port B initialization
Function: Bit7=In Bit6=In Bit5=Out Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=0DDB7 | 0DDB6 | 1DDB5 | 0DDB4 | 0DDB3 |
0DDB2 | 0DDB1 | 0DDB0; State: Bit7=T Bit6=T Bit5=0 Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTB=0PORTB7 | 0PORTB6 | 0PORTB5 | 0PORTB4 | 0PORTB3 | 0PORTB2 | 0PORTB1 | 0PORTB0;
Port C initialization
Universitas Sumatera Utara
Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=0DDC6 | 0DDC5 | 0DDC4 | 0DDC3 | 0DDC2 |
0DDC1 | 0DDC0; State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTC=0PORTC6 | 0PORTC5 | 0PORTC4 | 0PORTC3 | 0PORTC2 | 0PORTC1 | 0PORTC0;
Port D initialization Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRD=0DDD7 | 0DDD6 | 0DDD5 | 0DDD4 | 0DDD3 | 0DDD2 | 0DDD1 | 0DDD0;
State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=0PORTD7 | 0PORTD6 | 0PORTD5 | 0PORTD4 |
0PORTD3 | 0PORTD2 | 0PORTD1 | 0PORTD0;
USART initialization Communication Parameters: 8 Data, 1 Stop, No Parity
USART Receiver: On USART Transmitter: On
USART Mode: Asynchronous USART Baud Rate: 9600
UCSRA=0RXC | 0TXC | 0UDRE | 0FE | 0DOR | 0UPE | 0U2X | 0MPCM;
UCSRB=0RXCIE | 0TXCIE | 0UDRIE | 1RXEN | 1TXEN | 0UCSZ2 | 0RXB8 | 0TXB8;
Universitas Sumatera Utara
UCSRC=1URSEL | 0UMSEL | 0UPM1 | 0UPM0 | 0USBS | 1UCSZ1 | 1UCSZ0 | 0UCPOL;
UBRRH=0x00; UBRRL=0x33;
ADC initialization ADC Clock frequency: 1000.000 kHz
ADC Voltage Reference: AREF pin ADMUX=ADC_VREF_TYPE;
ADCSRA=1ADEN | 0ADSC | 0ADFR | 0ADIF | 0ADIE | 0ADPS2 | 1ADPS1 | 1ADPS0;
SFIOR=0ACME;
Alphanumeric LCD initialization Connections are specified in the
Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: RS - PORTB Bit 0
RD - PORTD Bit 7 EN - PORTD Bit 6
D4 - PORTD Bit 5 D5 - PORTB Bit 7
D6 - PORTB Bit 6 D7 - PORTD Bit 4
Charactersline: 16 lcd_init16;
Universitas Sumatera Utara
while 1 {
Place your code here if persen 20{buzzer=1;}
else {buzzer=0;} lcd_clear;
data=read_adc0; gas=data0.00488710002;
itoagas,buff; lcd_gotoxy0,0;
lcd_putsfknstrs=; lcd_putsbuff;
lcd_putsf ppm; printfA;
putsbuff; printf;
persen=data0.0048874100; itoapersen,buff;
lcd_gotoxy0,1; lcd_putsfGAS =;
lcd_putsbuff; lcd_putsf ;
printfB; putsbuff;
Universitas Sumatera Utara
printf;
delay_ms1000; }
}
4.6 Data Percobaan