Diagram Alir Program Perancangan Alat Membuka dan Menutup Gerbang Berbasis Mikrokontroler ATmega8 Menggunkan Ponsel Android Via Bluetooth

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