3.4 Diagram Alir
Perancangan software adalah proses perancangan untuk pembuatan program yang nantinya akan dijalankan oleh mikrokontroler. Sebuah
mikrokontroler tidak akan bekerja sebelum diberikan program.Sebelum membuat program untuk sistem ini, ada baiknya membuat terlebih dahulu flowchart dari
program yang ingin dibuat. Dengan flowchart dapat mengerti kemana arah tujuan program yang akan dibuat. Flowchart dapat dilihat pada gambar dibawah ini :
Start
Baca Input User
Ada input Serial
Password 5152
Port B.0 = 1 Port B.1 = 0
Stop
Verifikasi data
Password 5151
Port B.0 = 0 Port B.1 = 1
YA
TIDAK
sesuai sesuai
sesuai
Verifikasi pasword
TIDAK
sesuai sesuai
Gambar3.15 Flowchart Rangkaian
Universitas Sumatera Utara
Prinsip kerja sisem dapat digambarkan pada flowchart diatas, mulai dengan inisialisasi dan pemberian nilai awal. Dilanjutkan dengan pembacaan
perintah dari user. Jika terdapat masukan dari adapter bluetooth, program akan verifikasi kode perintah dengan catatan bluetooth telah terhubung dengan
password yang benar. Jika kode yang diterima adalah Password 5151 maka kontroler akan membuka gerbang hingga mencapai ujung dan menyentuh limit
switch. Demikian juga saat mau menutup gerbang, Password 5152 untuk
menutup gerbang, dan pada saat menutup gerbang, program melalui sensor infra merah akan apakah ada objek penghalang diantara pintu. Jika terdapat
objekpenghalang maka motor akan dihentikan dan menunggu perintah selanjutnya.
Sistem juga dilengkapi deteksi pembukaan paksa tanpa melalui akses ponsel., yaitu jika pintu dibuka pada saat status tertutup maka limit switch akan
memberikan sinyal berupa bunyi buzzer sampai pintu ditutup kembali atau diakses dengan ponsel.
3.5 Program
Adapun program ringkas yang diisikan ke dalam IC Mikrokontroler ATmega 8 adalah sebagai berikut:
include mega8.h include delay.h
include stdio.h define ADC_VREF_TYPE 0x00
unsigned char Comm,Status,I,A,B,C,D; unsigned int IR;
void mainvoid {
PORTB=0x00; DDRB=0xFF;
Universitas Sumatera Utara
PORTC=0x7F; DDRC=0x00;
PORTD=0x00; DDRD=0x00;
UCSRA=0x00; UCSRB=0x10;
UCSRC=0x86; UBRRH=0x00;
UBRRL=0x47; ADMUX=ADC_VREF_TYPE 0xff;
ADCSRA=0x82; Status = 1;
while 1 {
quit: if UCSRA 1RXC{Comm = UDR; I++;PORTD.4=1;delay_ms150;PORTD.4=0;}
ifI == 1{ A = Comm;} ifI == 2{ B = Comm;}
ifI == 3{ C = Comm;} ifI == 4{ D = Comm;}
ifI 4 { I = 0;} if Comm == {I = 0;}
if Comm == {I = 0;if A==5{if B==1{if C==5{if D==1{
PORTD.4=1;delay_ms150;PORTD.4=0; while PINC.1 == 1 {Status = 0;
PORTB=1; if UCSRA 1RXC{
Comm = UDR; ifComm== {PORTB=0;
Universitas Sumatera Utara
Comm = 0; Goto quit;
}
} A=0; }PORTB=0;
} }}}}
if Comm == {I = 0;if A==5{if B==1{if C==5{if D==2{
PORTD.4=1;delay_ms150;PORTD.4=0; while PINC.0 == 1{PORTB=2;
if UCSRA 1RXC{ Comm = UDR;
ifComm== {PORTB=0; Comm = 0;
goto quit; }
} IR = read_adc5;if IR 800{PORTB =
0;goto quit;} }Status = 1;PORTB=0;
} A=0;
}}}} if Status == 1PINC.0 == 1
{PORTD.4=1;delay_ms150;PORTD.4=0;delay_ms150;} }
}
Universitas Sumatera Utara
BAB 4
PENGUJIAN ALAT DAN PROGRAM
4.1 Pengujian Rangkaian Mikrokontroler ATmega8