Di Malam yang pekat tanpa bintang kali ini saya akan menjelaskan bagaimana cara untuk mengakses Device Fingerprint menggunakan mikrokontroller Arduino dan AVR menggunakan bahasa bascom AVR, kenapa menggunakan Arduino ? karena Arduino dapat menjadi penerjemah data yang dikirimkan oleh Fingerprint, maka dari itu Arduino diposisikan sebagai decoder saja bukan eksekutor data, yang bertidak sebagai kendali, proses dan pengeksekusi data adalah mikrokontroller AVR ATMega16, komunikasi antara Arduino dengan mikrokontroller AVR menggunakan jalur serial (UART) dengan baudrate 9600. jadi Arduino akan mengirimkan data berupa data ID, kemudian mikro AVR akan menerimanya dan mengeksekusinya, berikut penjelasan skematik dan programnya.
a. Minimum System ATMega16
b. Cara Memasukkan Data ID Finger Print
- Masukkan program berikut ke Arduino
// Merah dihbungkan ke +5V // Hitam dihubungkan ke Ground // Putih dihubungkan ke digital 0 // Hijau dihubugkan ke digital 1 void setup() {} void loop() {}
- kemudian pasang Fingerprint ke Arduino
- Koneksikan Arduino ke komputer pada COMM 1 atau 2 kemudian buka Software SFG
- klik Open Device lalu pilih COMM Port yang digunakan
- setelah masuk, untuk melakukan input ID, pilih tombol ENROLL, jangan lupa centang (Preview)
- isikan ID nya misal ID = 3
- jika telah selesai maka akan masuk ke bagian Address
- Arduino siap digunakan
- Masukkan Arduino library dan Example dari Adafruit
c. Program Bascom AVR
$regfile = "m16def.dat"
$crystal = 12000000
$baud = 9600
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
Dim Data_masuk As String * 100
Dim Cmti_pos As Byte , Cmgr_pos As Byte , Index_pos As Byte , Cmd_pos As Byte
Dim Pjg_sms_index As Byte , Pjg_data As Byte
Dim Sms_index As String * 3
Dim Cmd As String * 5
Dim Cmdbin As Byte
Upperline
Lcd "FINGER READER"
Lowerline
Lcd "YANUAR M"
Wait 3
Ddrd.6 = 1
Ddrd.7 = 1
Cls
Cursor Off
Do
Input Data_masuk
Upperline
Lcd "DATA MASUK"
Pjg_data = Len(data_masuk)
Cmti_pos = Instr(data_masuk , "ID")
Cmd_pos = Instr(data_masuk , "#")
If Cmd_pos <> 0 Then
Incr Cmd_pos
Cmd = Mid(data_masuk , Cmd_pos , 1)
Lowerline
Lcd "ID = " ; Cmd
If Cmd = "3" Then
Portd.6 = 1
Elseif Cmd = "4" Then
Portd.7 = 1
Elseif Cmd = "5" Then
Portd.6 = 1
Portd.7 = 1
Elseif Cmd = "6" Then
Portd.6 = 0
Elseif Cmd = "7" Then
Portd.7 = 0
Elseif Cmd = "8" Then
Portd.6 = 0
Portd.7 = 0
End If
End If
Loop
$crystal = 12000000
$baud = 9600
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
Dim Data_masuk As String * 100
Dim Cmti_pos As Byte , Cmgr_pos As Byte , Index_pos As Byte , Cmd_pos As Byte
Dim Pjg_sms_index As Byte , Pjg_data As Byte
Dim Sms_index As String * 3
Dim Cmd As String * 5
Dim Cmdbin As Byte
Upperline
Lcd "FINGER READER"
Lowerline
Lcd "YANUAR M"
Wait 3
Ddrd.6 = 1
Ddrd.7 = 1
Cls
Cursor Off
Do
Input Data_masuk
Upperline
Lcd "DATA MASUK"
Pjg_data = Len(data_masuk)
Cmti_pos = Instr(data_masuk , "ID")
Cmd_pos = Instr(data_masuk , "#")
If Cmd_pos <> 0 Then
Incr Cmd_pos
Cmd = Mid(data_masuk , Cmd_pos , 1)
Lowerline
Lcd "ID = " ; Cmd
If Cmd = "3" Then
Portd.6 = 1
Elseif Cmd = "4" Then
Portd.7 = 1
Elseif Cmd = "5" Then
Portd.6 = 1
Portd.7 = 1
Elseif Cmd = "6" Then
Portd.6 = 0
Elseif Cmd = "7" Then
Portd.7 = 0
Elseif Cmd = "8" Then
Portd.6 = 0
Portd.7 = 0
End If
End If
Loop
d. VIDEO HASILNYA
No comments:
Post a Comment