Program diawali dengan
start.
Kemudian program akan mengcek apakah ada sinyal yang dikirimkan oleh sensor atau tidak. Jika tidak ada sinyal yang dikirimkan oleh sensor
sehingga program akan kembali ke
routine
awal kembali ke
start
dan mengcek sinyal dari sensor jika ada sinyal yang dikirimkan oleh sensor, berarti ada orang yang
memasuki ruangan tersebut, sehingga program akan mengaktifkan
motor stepper
untuk berputar dan mengaktifkan kamera untuk merekam orang yang telah melewati sensor
tersebut . kemudian program akan kembali ke
routine
awal dan kembali mengecek sinyal dari sensor. Data yang di rekam oleh kamera akan dikirimkan ke PC untuk disimpan dan
dilihat kembali
3.3 Parancangan Program pada mikrokontroller AT89S51
Adapun program yang diisikan ke dalam mikrokontroller AT89S51,Programnya sebagai berikut:
mov p3,0 mov p1,0
loop: mov a,p0
anl a,8 cjne a,8,cek
mov p1,0 sjmp loop
cek: cjne a,5,cek1
acall putar1 sjmp loop
cek1:
Universitas Sumatera Utara
cjne a,6,Cek2 acall putar2
sjmp loop cek2:
cjne a,7,loop acall putar1
Acall Putar2 sjmp loop
putar1: movr6,160
loop-putar : call putar-kanan
djnz r6,loop-putar ret.
Putar-kanan: Mov a,11h
Mov P0,a Rr a
Call delay ret
putar2: mov r6,160
loop putar: call putar-kiri
djnz r6, loop-putar ret.
putar-kiri:
Universitas Sumatera Utara
mov a,11h mov P0,a
rl a call delay
ret
delay: mov r7,100
dly: mov r6,255
djnz r6, djnz r7,dly
ret
3.4
Parancangan
Program Visual Basic pada PC
Program dibawah adalah Bahasa Visual Basic untuk mendapatkan data yang diambil melalui webcam, setelah dilakukan pemrograman pada mikrokontroler AT89S52 yang
menggunakan bahasa
assembly
. Program tersebut adalah sebagai berikut :
Private Declare Sub PortOut Lib IO.DLL ByVal Port As Integer, ByVal Data As Byte
Private Declare Function Portin Lib IO.DLL ByVal Port As Integer As Byte
Private Sub Berhenti_ClickIndex As Integer PortOut 378 H, 8
End Sub
Private Sub Command1_Click
Universitas Sumatera Utara
If VideoOCX1.Init = 0 Then MsgBox VideoOCX1.GetLastErrorString
End If
If VideoOCX1.SetPreviewTrue = False Then MsgBox VideoOCX1.GetLastErrorString
End If End Sub
Private Sub Command2_Click If VideoOCX1.AVISaveMovieInitC:\record.AVI = False
Then MsgBox VideoOCX1.GetLastErrorString
End If
VideoOCX1.AVISaveMovieSetFrameRate 15
End Sub
Private Sub Command3_Click If VideoOCX1.AVISaveMovieStop = False Then
MsgBox VideoOCX1.GetLastErrorString End If
End Sub
Universitas Sumatera Utara
Private Sub Command4_Click MediaPlayer1.Open C:\record.AVI
End Sub
Private Sub Command5_Click Text1.Visible = True
Label3.Visible = True Label3 = Stanby
Text1 = 10 Timer2.Enabled = True
Timer3.Enabled = True End Sub
Private Sub Command6_Click PortOut 378 H, 0
Unload Me End Sub
Private Sub Form_Load Timer2.Enabled = False
Timer3.Enabled = False Text1.Visible = False
End Sub
Private Sub Otomatis_ClickIndex As Integer
Universitas Sumatera Utara
PortOut 378 H, 7 End Sub
Private Sub Putar1_ClickIndex As Integer PortOut 378 H, 5
End Sub
Private Sub Putar2_ClickIndex As Integer PortOut 378 H, 6
End Sub
Private Sub Timer2_Timer If Label3 Recording Then
Label2 = InpH379 a = Label2.Caption
If a = 127 Then sensor terhalang PortOut 378 H, 7
Label3 = Recording If VideoOCX1.AVISaveMovieInitC:\record.AVI = False
Then MsgBox VideoOCX1.GetLastErrorString
End If
Universitas Sumatera Utara
VideoOCX1.AVISaveMovieSetFrameRate 15
End If End If
End Sub
Private Sub Timer3_Timer If Text1.Text = 0 Then
If VideoOCX1.AVISaveMovieStop = False Then MsgBox VideoOCX1.GetLastErrorString
End If Label3 = Stanby
Label3.Visible = False Timer1.Enabled = True
Timer2.Enabled = False Timer3.Enabled = False
PortOut H378, 8 End If
End Sub
3.5 Perancangan Rangkaian Power Supplay PSA