Translate

Membuat Alat Pengaman Pintu Dengan Password

Membuat Alat Pengaman Pintu Dengan Password


           Pembahasan kali ini mengenai bagaimana membuat alat sejenis alarm pintu, yang mana sistem validasinya menggunakan password, sehingga akan tampak seperti pintu ber-password, alarm pintu berpassword ini menggunakan sebuah keypad matrik 4x4, tiga buah led (led merah, hijau dan biru), sebuah buzzer 5v, dan mikrokontroller ATMega16. Sistem kerja dari alat ini yaitu user akan men-setting terlebih dahulu mengenai password yang akan digunakan pada main menu “set”, sehingga mikrokontroller akan menyimpan password tersebut dalam “eeprom” yang sifatnya non volatile. Untuk proses input data menggunakan keypad matrik yang memiliki fitur input angka 1 sampai 9. Untuk bentuk dari alatnya adalah seperti gambar 6.12a

           Jadi terdapat LCD display yang fungsinya untuk menampilkan input angka yang dilakukan oleh user, dan juga untuk menampilkan bahwa password yang dimasukkan benar atau salah, jika password benar maka pada lcd display akan memunculkan tulisan “PASSWORD BENAR” dan led hijau akan menyala, namun jika input password salah akan menampilkan tulisan “PASSWORD SALAH” disertai dengan nyala led merah dan bunyi buzzer.
 
Rangkaian Keselurihan Sistem
 
 
 
Program Bascom AVR
$regfile = "m16def.dat"
$crystal = 12000000
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2
Config Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcd = 16 * 2

Declare Sub Keypad
Declare Sub Entri_data

Dim Urut As Byte
Dim Kode As Byte
Dim Flag As Bit
Dim I As Word
Dim Nilai As Long
Dim Angka As Integer
Dim Pass As Integer
Dim Simpan_pass As Eram Integer             'variabel untuk EEPROM

Declare Sub Keypad1
Declare Sub Entri_data1

Dim Urut1 As Byte
Dim Kode1 As Byte
Dim Flag1 As Bit
Dim I1 As Word
Dim Nilai1 As Long
Dim Angka1 As Integer
Dim Pass1 As Integer

Ddra = &B11111111
Porta.5 = 1
Ddrd = &B11110000
Portd = &HFF

Config Pinb.0 = Input
Config Pinb.1 = Input
Config Pinb.2 = Input
Config Pinb.3 = Input
Tombol1 Alias Pinb.0
Tombol2 Alias Pinb.1
Tombol3 Alias Pinb.2
Tombol4 Alias Pinb.3
Set Portb.0
Set Portb.1
Set Portb.2
Set Portb.3

Utama:
Porta.7 = 0
Porta.6 = 0
Cls
Cursor Off
Cls
Cursor Off
Locate 1 , 4
Lcd "shinigami"
Locate 2 , 1
Lcd " set " ; "     " ; " input "
Do
If Tombol1 = 0 Then
 Bitwait Tombol1 , Set
   Goto Inputdata:
End If
If Tombol2 = 0 Then
 Bitwait Tombol2 , Set
   Goto Setting
End If
Loop


Inputdata:
Porta.7 = 0
Porta.6 = 0
Porta.0 = 0
Cls
Upperline
Lcd "tombol 1 input"
Lowerline
Lcd "tombol 2 mulai"

Gosub Keypad

'Baca Keypad
Sub Keypad()
Kode = 0
Urut = 0
Flag = 0

I = 0
Do
For I = 0 To 20000

'KOLOM 1
Portd = &B11101111

If Pind.0 = 0 Then

Waitms 200

Elseif Pind.1 = 0 Then
Angka = 4
Gosub Entri_data
Waitms 200

Elseif Pind.2 = 0 Then
Angka = 7
Gosub Entri_data
Waitms 200

Elseif Pind.3 = 0 Then
Waitms 200
End If

'KOLOM 2
Portd = &B11011111
If Pind.0 = 0 Then
Angka = 1
Gosub Entri_data
Waitms 200

Elseif Pind.1 = 0 Then
Angka = 5
Gosub Entri_data
Waitms 200

Elseif Pind.2 = 0 Then
Angka = 8
Gosub Entri_data
Waitms 200

Elseif Pind.3 = 0 Then
Angka = 0
Gosub Entri_data
Waitms 200
End If

'KOLOM 3
Portd = &B10111111
If Pind.0 = 0 Then
Angka = 2
Gosub Entri_data
Waitms 200

Elseif Pind.1 = 0 Then
Angka = 6
Gosub Entri_data
Waitms 200

Elseif Pind.2 = 0 Then
Angka = 9
Gosub Entri_data
Waitms 200

Elseif Pind.3 = 0 Then
Waitms 200

End If

'KOLOM 4
Portd = &B01111111

If Pind.0 = 0 Then
Angka = 3
Gosub Entri_data
Waitms 200


Elseif Pind.1 = 0 Then
Waitms 200


Elseif Pind.2 = 0 Then
Waitms 200

Elseif Pind.3 = 0 Then
Waitms 200

Elseif Tombol3 = 0 Then
Goto Utama

Elseif Tombol1 = 0 Then
Goto Datain
End If

Next
Loop Until Tombol2 = 0
Goto Mulai
End Sub


'Entri Data
Sub Entri_data()
Incr Urut

Select Case Urut
Case 1 : Nilai = Angka
Lcd Angka

Case 2 : Nilai = Nilai * 10
Nilai = Nilai + Angka
Lcd Angka
Pass = Nilai

Case 3 : Nilai = Nilai * 10
Nilai = Nilai + Angka
Lcd Angka
Pass = Nilai

Case 4 : Nilai = Nilai * 10
Nilai = Nilai + Angka
Lcd Angka
Pass = Nilai

Case 5 : Nilai = Nilai * 10
Nilai = Nilai + Angka
Lcd Angka
Urut = 0
Locate 2 , 1
Pass = Nilai
End Select
End Sub

Mulai:
Cls
Do
If Pass = Simpan_pass Then
Lowerline
Lcd "password benar"
Upperline
Lcd Pass
Porta.7 = 1
Else
Lowerline
Lcd "password salah"
Upperline
Lcd Pass
Porta.6 = 1
Porta.0 = 1
End If
Wait 3
Goto Inputdata
Loop

Datain:
Cls
Cursor Blink
Cursor On
Locate 1 , 1
Lcd "Tnput Password:"
Locate 2 , 1
Cursor Blink
Cursor On
Waitms 200
Return

'=====================================================================

Setting:
Porta.7 = 0
Porta.6 = 0
Pass1 = 0
Cls
Upperline
Lcd "tombol 1 input"
Lowerline
Lcd "tombol 2 save"

Gosub Keypad1

'Baca Keypad
Sub Keypad1()
Kode1 = 0
Urut1 = 0
Flag1 = 0

I1 = 0
Do
For I1 = 0 To 20000

'KOLOM 1
Portd = &B11101111

If Pind.0 = 0 Then

Waitms 200

Elseif Pind.1 = 0 Then
Angka = 4
Gosub Entri_data1
Waitms 200

Elseif Pind.2 = 0 Then
Angka = 7
Gosub Entri_data1
Waitms 200

Elseif Pind.3 = 0 Then
Waitms 200
End If

'KOLOM 2
Portd = &B11011111
If Pind.0 = 0 Then
Angka = 1
Gosub Entri_data1
Waitms 200

Elseif Pind.1 = 0 Then
Angka = 5
Gosub Entri_data1
Waitms 200

Elseif Pind.2 = 0 Then
Angka = 8
Gosub Entri_data1
Waitms 200

Elseif Pind.3 = 0 Then
Angka = 0
Gosub Entri_data1
Waitms 200
End If

'KOLOM 3
Portd = &B10111111
If Pind.0 = 0 Then
Angka = 2
Gosub Entri_data1
Waitms 200

Elseif Pind.1 = 0 Then
Angka = 6
Gosub Entri_data1
Waitms 200

Elseif Pind.2 = 0 Then
Angka = 9
Gosub Entri_data1
Waitms 200

Elseif Pind.3 = 0 Then
Waitms 200

End If

'KOLOM 4
Portd = &B01111111

If Pind.0 = 0 Then
Angka = 3
Gosub Entri_data1
Waitms 200


Elseif Pind.1 = 0 Then
Waitms 200


Elseif Pind.2 = 0 Then
Waitms 200

Elseif Pind.3 = 0 Then
Waitms 200

Elseif Tombol3 = 0 Then
Goto Utama

Elseif Tombol1 = 0 Then
Goto Datain1
End If

Next
Loop Until Tombol2 = 0
Simpan_pass = Pass1
Bitwait Tombol2 , Set
Cls
Do
Lowerline
Lcd "simpan password"
Upperline
Lcd Pass1
Porta.7 = 1
Porta.6 = 1
Wait 3
Goto Utama
Loop
End Sub


'Entri Data
Sub Entri_data1()
Incr Urut1

Select Case Urut1
Case 1 : Nilai = Angka
Lcd Angka

Case 2 : Nilai = Nilai * 10
Nilai = Nilai + Angka
Lcd Angka
Pass1 = Nilai

Case 3 : Nilai = Nilai * 10
Nilai = Nilai + Angka
Lcd Angka
Pass1 = Nilai

Case 4 : Nilai = Nilai * 10
Nilai = Nilai + Angka
Lcd Angka
Pass1 = Nilai

Case 5 : Nilai = Nilai * 10
Nilai = Nilai + Angka
Lcd Angka
Urut1 = 0
Locate 2 , 1
Pass1 = Nilai
End Select
End Sub


Datain1:
Cls
Cursor Blink
Cursor On
Locate 1 , 1
Lcd "Input Password:"
Locate 2 , 1
Cursor Blink
Cursor On
Waitms 200
Return


 
Cara Penggunaan Alat
             Cara penggunaan alat ini pertama terdapat tampilan pilihan di LCD display yaitu menu “set” dan “input”, user diminta untuk memilih salah satu pilihan tersebut dengan tombol1 untuk “input” dan tombol2 untuk “set”, langkah pertama user harus masuk ke bagian “set” untuk memasukkan password awal, masukkan kombinasi angka sebagai password dengan keypad matrik, setelah berhasil memasukkan password, langkah kedua yaitu kembali ke menu awal dengan menekan tombol3, setelah itu masuk ke bagian menu “input” dengan menekan tombol1, dibagian menu input, user akan dimintai kombinasi password yang sesuai dengan apa yang telah disimpan sebelumnya dengan menggunakan keypad matrik, jika input password bernilai benar maka led hijau akan menyala, namun jika salah maka led merah akan menyala diikuti dengan bunyi buzzer. 




 
 
 

No comments:

Post a Comment