UART လက်ဗွေရာအာရုံခံကိရိယာ (C)
အသုံးပြုသူလက်စွဲ
ကျော်VIEW
၎င်းသည် လက်သည်းပြားကဲ့သို့ သေးငယ်သည့် သေးငယ်သော အဝိုင်းပုံသဏ္ဍာန် လုံး၀ လက်ဗွေရာ အာရုံခံ ကိရိယာ module တစ်ခုဖြစ်သည်။ မော်ဂျူးအား UART အမိန့်များမှတစ်ဆင့် ထိန်းချုပ်ထားပြီး အသုံးပြုရလွယ်ကူသည်။ ၎င်း၏ advantag၎င်းတွင် 360° Omni-directional verification၊ အမြန်အတည်ပြုခြင်း၊ မြင့်မားသောတည်ငြိမ်မှု၊ ပါဝါသုံးစွဲမှုနည်းပါးခြင်း စသည် တို့ ပါဝင်ပါသည်။
စွမ်းဆောင်ရည်မြင့်မားသော Cortex ပရိုဆက်ဆာအပေါ် အခြေခံ၍ လုံခြုံရေးမြင့်မားသော စီးပွားရေးဆိုင်ရာ လက်ဗွေရာစနစ် အယ်လဂိုရီသမ်ဖြင့် ပေါင်းစပ်ထားသော UART Fingerprint Sensor (C) တွင် လက်ဗွေစာရင်းသွင်းခြင်း၊ ရုပ်ပုံရယူခြင်း၊ အင်္ဂါရပ်ရှာဖွေခြင်း၊ နမူနာပုံစံထုတ်လုပ်ခြင်းနှင့် သိမ်းဆည်းခြင်း၊ လက်ဗွေကိုက်ညီခြင်းစသည်ဖြင့် လုပ်ဆောင်ချက်များကို ပါရှိသည်။ ရှုပ်ထွေးသော လက်ဗွေရာ အယ်လဂိုရီသမ်နှင့် ပတ်သက်၍ မည်သည့်အသိပညာမျှ မရှိဘဲ၊ သင်လုပ်ဆောင်ရမည့်အရာမှာ အရွယ်အစားသေးငယ်ပြီး တိကျမှုမြင့်မားသော လက်ဗွေအတည်ပြုခြင်းအက်ပ်များတွင် ၎င်းကို လျင်မြန်စွာ ပေါင်းစပ်နိုင်ရန် UART အမိန့်အချို့ကို ပေးပို့ရုံသာဖြစ်သည်။
အင်္ဂါရပ်များ
- အချို့သော ရိုးရှင်းသော ညွှန်ကြားချက်များဖြင့် အသုံးပြုရ လွယ်ကူသည်၊ သင်သည် မည်သည့် လက်ဗွေနည်းပညာ သို့မဟုတ် မော်ဂျူးကြားဖွဲ့စည်းပုံကို သိရှိရန် မလိုအပ်ပါ။
- စီးပွားဖြစ်လက်ဗွေရာစနစ်၊ တည်ငြိမ်သောစွမ်းဆောင်ရည်၊ မြန်ဆန်စွာအတည်ပြုခြင်း၊ လက်ဗွေစာရင်းသွင်းခြင်း၊ လက်ဗွေကိုက်ညီခြင်း၊ လက်ဗွေပုံစုဆောင်းခြင်း၊ လက်ဗွေဝန်ဆောင်မှုကို အပ်လုဒ်လုပ်ခြင်း စသည်ဖြင့် ပံ့ပိုးပေးပါသည်။
- လျင်မြန်သောအတည်ပြုချက်ရရှိရန်အတွက် Capacitive အထိမခံနိုင်သောရှာဖွေတွေ့ရှိမှု၊ စုဆောင်းမှုပြတင်းပေါက်ကို ညင်သာစွာထိပါ။
- ဟာ့ဒ်ဝဲသည် သေးငယ်သော အရွယ်အစား အသုံးချပရိုဂရမ်များအတွက် သင့်လျော်သော သေးငယ်သော ချစ်ပ်တစ်ခုတွင် ပရိုဆက်ဆာနှင့် အာရုံခံကိရိယာများ ပေါင်းစပ်ထားသည်။
- ကျဉ်းမြောင်းသော သံမဏိ-စတီးလ်အနားကွပ်၊ ကြီးမားသောထိတွေ့ဧရိယာ၊ 360° Omni-directional အတည်ပြုခြင်းကို ပံ့ပိုးသည်
- ထည့်သွင်းထားသော လူသားအာရုံခံကိရိယာသည် ပရိုဆက်ဆာသည် အလိုအလျောက် အိပ်စက်ခြင်းသို့ ဝင်ရောက်မည်ဖြစ်ပြီး ထိလိုက်သည့်အခါ နိုးလာမည်ဖြစ်ပြီး ပါဝါသုံးစွဲမှု နည်းပါးသည်။
- Onboard UART ချိတ်ဆက်ကိရိယာ၊ STM32 နှင့် Raspberry Pi ကဲ့သို့သော ဟာ့ဒ်ဝဲပလပ်ဖောင်းများနှင့် ချိတ်ဆက်ရန် လွယ်ကူသည်။
သတ်မှတ်ချက်
- အာရုံခံ အမျိုးအစား- capacitive touching
- Resolution : 508DPI
- ရုပ်ပုံ pixels- 192×192
- ပုံ မီးခိုးရောင် စကေး- ၈
- အာရုံခံအရွယ်အစား- R15.5mm
- လက်ဗွေစွမ်းရည်: 500
- ကိုက်ညီသောအချိန်- <500ms (1:N၊ နှင့် N<100)
- မှားယွင်းလက်ခံမှုနှုန်း- <0.001%
- မှားယွင်းသော ငြင်းပယ်နှုန်း- <0.1%
- လည်ပတ်မှုပမာဏtagင - ၁–3V
- လည်ပတ်နေသော လက်ရှိ- <50mA
- အိပ်စက်မှု လက်ရှိ- <16uA
- Anti-electrostatic: အဆက်အသွယ် discharge 8KV / aerial discharge 15KV
- အင်တာဖေ့စ်- UART
- Baudrate- 19200 bps
- လည်ပတ်မှုပတ်ဝန်းကျင်-
• အပူချိန်-20°C~70°C
• စိုထိုင်းဆ- 40%RH~85%RH (ငွေ့ရည်ဖွဲ့မှု မရှိ) - သိုလှောင်မှုပတ်ဝန်းကျင်-
• အပူချိန်-40°C~85°C
• စိုထိုင်းဆ- <85%RH (ငွေ့ရည်ဖွဲ့မှုမရှိ) - အသက်: အကြိမ် ၁ သန်း
ဟာ့ဒ်ဝဲ
DIMENSION
မျက်နှာချင်းဆိုင်
မှတ်ချက် - တကယ့်ဝါယာကြိုးများ၏အရောင်သည် ပုံနှင့်မတူနိုင်ပါ။ ချိတ်ဆက်သည့်အခါ PIN အရသော်လည်းကောင်း အရောင်မဟုတ်ပါ။
- VIN: 3.3V
- GND: မြေပြင်
- RX- အမှတ်စဉ်ဒေတာထည့်သွင်းခြင်း (TTL)
- TX- အမှတ်စဉ်ဒေတာအထွက် (TTL)
- RST- ပင်ကို ပါဝါဖွင့်/ပိတ်ပါ။
• HIGH- ပါဝါဖွင့်ပါ။
• နည်းသည်- ပါဝါပိတ်ပါ (အိပ်မုဒ်) - နှိုး: နိုးလော့ pin မော်ဂျူးသည် အိပ်စက်ခြင်းမုဒ်တွင် ရှိနေသောအခါ၊ အာရုံခံကိရိယာကို လက်ချောင်းဖြင့်ထိသောအခါ WKAE ပင်နံပါတ်သည် မြင့်မားသည်။
အမိန့်
ညွှန်ကြားမှုပုံစံ
ဤ module သည် slave device တစ်ခုအနေဖြင့်အလုပ်လုပ်သည်၊ ၎င်းကိုထိန်းချုပ်ရန်အတွက် command များပေးပို့ရန် Master device ကိုသင်ထိန်းချုပ်သင့်သည်။ ဆက်သွယ်မှုကြားခံသည် UART: 19200 8N1 ဖြစ်သည်။
ဖော်မတ်အမိန့်များနှင့် တုံ့ပြန်မှုများသည်-
1) = 8 bytes
ဘိုက် | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
CMD | 0xF5 | CMD | P1 | P2 | P3 | 0 | CHK | 0xF5 |
ACK | 0xF5 | CMD | Q1 | Q2 | Q3 | 0 | CHK | 0xF5 |
မှတ်စုများ-
CMD- အမိန့်/တုံ့ပြန်မှု အမျိုးအစား
P1၊ P2၊ P3- အမိန့်ပေးသည့် ဘောင်များ
Q1၊ Q2၊ Q3- တုံ့ပြန်မှုဆိုင်ရာ ကန့်သတ်ချက်များ
Q3- ယေဘုယျအားဖြင့်၊ Q3 သည် လုပ်ဆောင်ချက်၏ တရားဝင်/မမှန်ကန်သော အချက်အလက်ဖြစ်ပြီး၊ ၎င်းသည်- ဖြစ်သင့်သည်။
#ACK_SUCCESS ကိုသတ်မှတ်ပါ။ #ACK_FAIL ကိုသတ်မှတ်ပါ။ #ACK_FULL ကိုသတ်မှတ်ပါ။ #ACK_NOUSER ကိုသတ်မှတ်ပါ။ #ACK_USER_OCCUPIED ကိုသတ်မှတ်ပါ။ #ACK_FINGER_OCCUPIED ကိုသတ်မှတ်ပါ။ #ACK_TIMEOUT ကိုသတ်မှတ်ပါ။ |
က0x00 က0x01 က0x04 က0x05 က0x06 က0x07 က0x08 |
// အောင်မြင်ပါစေ။ // မအောင်မြင်ပါ။ // ဒေတာဘေ့စ်က ပြည့်နေတယ်။ // အသုံးပြုသူမရှိပါ။ // အသုံးပြုသူရှိခဲ့သည်။ // လက်ဗွေရာ ရှိခဲ့သည်။ //ခဏပွဲရပ်ခြင်း |
CHK- Checksum၊ ၎င်းသည် Byte 2 မှ Byte 6 bytes ၏ XOR ရလဒ်ဖြစ်သည်။
2) > 8 bytes ။ ဤဒေတာတွင် အပိုင်းနှစ်ပိုင်းပါဝင်သည်- ဒေတာခေါင်းနှင့် ဒေတာပက်ကေ့ဂျ်ဒေတာခေါင်း-
ဘိုက် | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
CMD | 0xF5 | CMD | မင်္ဂလာပါ (Len) | နိမ့်(Len) | 0 | 0 | CHK | 0xF5 |
ACK | 0xF5 | CMD | မင်္ဂလာပါ (Len) | နိမ့်(Len) | Q3 | 0 | CHK | 0xF5 |
မှတ်ချက် -
CMD၊ Q3- 1) နှင့်အတူတူ
Len- ဒေတာပက်ကေ့ချ်တွင် တရားဝင်ဒေတာအရှည်၊ 16bits (နှစ်ဘိုက်)
Hi(Len) : Len 8 bits မြင့်သည်။
Low(Len) : Len 8 bits နည်းပါတယ်။
CHK- Checksum၊ ၎င်းသည် Byte 1 မှ Byte 6 ဒေတာပက်ကေ့ဂျ်၏ bytes ၏ XOR ရလဒ်ဖြစ်သည်-
ဘိုက် | 1 | 2…Len+1 | Len+2 | Len+3 |
CMD | 0xF5 | ဒေ | CHK | 0xF5 |
ACK | 0xF5 | ဒေ | CHK | 0xF5 |
မှတ်ချက် -
Len- ဒေတာဘိုက်များ၏ နံပါတ်များ
CHK- Checksum၊ ၎င်းသည် Byte 2 မှ Byte Len+1 အထိ ဘိုက်များ၏ XOR ရလဒ်ဖြစ်သည်။
ဒေတာပက်ကေ့ချ်သည် ဒေတာဦးခေါင်းအောက်ပါ
အမိန့်အမျိုးအစားများ-
- module ၏ SN နံပါတ်ကို မွမ်းမံပါ (CMD/ACK နှစ်ခုလုံး 8 Byte)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x08 SN အသစ် (Bit 23-16) SN အသစ် (Bit 15-8) SN အသစ် (Bit 7-0) 0 CHK 0xF5 ACK 0xF5 က0x08 S အဟောင်း (Bit 23-16) SN အဟောင်း (Bit 15-8) SN အဟောင်း (Bit 7-0) 0 CHK 0xF5 - Query Model SN (CMD/ACK နှစ်ခုလုံး 8 Byte)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 0x2A 0 0 0 0 CHK 0xF5 ACK 0xF5 0x2A SN (ဘစ် ၂၃-၁၆) SN (ဘစ် ၂၃-၁၆) SN (ဘစ် ၂၃-၁၆) 0 CHK 0xF5 - အိပ်စက်ခြင်းမုဒ် (CMD/ACK နှစ်ခုလုံး 8 Byte)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 ၃၂x၄၁C 0 0 0 0 CHK 0xF5 ACK 0xF5 ၃၂x၄၁C 0 0 0 0 CHK 0xF5 - လက်ဗွေထည့်ခြင်းမုဒ်ကို သတ်မှတ်/ဖတ်ပါ (CMD/ACK 8 Byte နှစ်မျိုးလုံး)
မုဒ်နှစ်ခုရှိသည်- ပွားမုဒ်ကိုဖွင့်ပြီး ထပ်ပွားမုဒ်ကို ပိတ်ပါ။ မော်ဂျူးသည် ပွားခြင်းမွမ်းမံမှုကို ပိတ်ထားသောအခါ- တူညီသောလက်ဗွေကို ID တစ်ခုအနေဖြင့်သာ ထည့်နိုင်သည်။ တူညီသောလက်ဗွေဖြင့် အခြား ID ကို ထည့်လိုပါက DSP တုံ့ပြန်မှု မအောင်မြင်သော အချက်အလက်။ ပါဝါဖွင့်ပြီးနောက် module သည် disabled mode တွင်ရှိသည်။ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 0x2D 0 Byte5=0-
၁
1: ပိတ်ပါ
Byte5=1: 00- မုဒ်အသစ်
1- လက်ရှိမုဒ်ကို ဖတ်ပါ။0 CHK 0xF5 ACK 0xF5 0x2D 0 လက်ရှိ mode ကို ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 - လက်ဗွေရာထည့်ပါ (CMD/ACK 8 Byte နှစ်ခုလုံး)
မာစတာစက်သည် မော်ဂျူးသို့ ညွှန်ကြားချက်များကို သုံးဆ ပေးပို့ပြီး လက်ဗွေသုံးကြိမ် ထပ်ထည့်သင့်သည်၊၊ ထည့်သွင်းထားသော လက်ဗွေသည် မှန်ကန်ကြောင်း သေချာပါစေ။
က) ပထမဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF
5က0x0
1အသုံးပြုသူ ID (High 8Bit) အသုံးပြုသူ ID (8Bit နည်း) ခွင့်ပြုချက် (၁/၂/၃) 0 CHK 0xF5 ACK 0xF
5က0x0
10 0 ACK_SUCCESS
ACK_FAIL0 CHK 0xF5 ACK_FULL
ACK_USER_OCCUPIED ACK_FINGER_OCCUPIED
ACK_TIMEOUTမှတ်စုများ-
အသုံးပြုသူ ID- 1~0xFFF;
အသုံးပြုသူခွင့်ပြုချက်- 1,2,3,(ခွင့်ပြုချက်ကိုသင်ကိုယ်တိုင်သတ်မှတ်နိုင်သည်)
ခ) ဒုတိယဘိုက် 1 2 3 4 5 6 7 8 CMD
0xF5
က0x02
သုံးစွဲသူအိုင်ဒီ (8Bit မြင့်)
သုံးစွဲသူအိုင်ဒီ (8Bit အနိမ့်)
ခွင့်ပြုချက် (၁/၂/၃)
0
CHK
0xF5
ACK
0xF5
က0x02
0
0
ACK_SUCCESS ACK_FAIL ACK_TIMEOUT
0
CHK
0xF5
ဂ) တတိယ
ဘိုက် 1 2 3 4 5 6 7 8 CMD
0xF5
က0x03
သုံးစွဲသူအိုင်ဒီ (8Bit မြင့်)
သုံးစွဲသူအိုင်ဒီ (8Bit အနိမ့်)
ခွင့်ပြုချက် (၁/၂/၃)
0
CHK
0xF5
ACK
0xF5
က0x03
0
0
ACK_SUCCESS ACK_FAIL ACK_TIMEOUT
0
CHK
0xF5
မှတ်ချက်- အမိန့်သုံးခုဖြင့် အသုံးပြုသူ ID နှင့် ခွင့်ပြုချက်။
- အသုံးပြုသူများကို ပေါင်းထည့်ကာ eigenvalues များကို အပ်လုဒ်လုပ်ပါ (CMD =8Byte/ACK > 8 Byte)
ဤအမိန့်တော်များသည် “၅” နှင့် ဆင်တူသည်။ လက်ဗွေထည့်ပါ”၊ သုံးဆလည်း ထည့်သင့်တယ်။
က) ပထမ
"ပထမ" နဲ့အတူတူ5. လက်ဗွေထည့်ပါ"
ခ) ဒုတိယ
"ဒုတိယအကြိမ်"5. လက်ဗွေထည့်ပါ။”
ဂ) တတိယ
CMD ဖော်မတ်-ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x06 0 0 0 0 CHK 0xF5 ACK ဖော်မတ်-
1) ဒေတာဦးခေါင်း-ဘိုက် 1 2 3 4 5 6 7 8 ACK 0xF5 က0x06 မင်္ဂလာပါ (Len) နိမ့်(Len) ACK_SUCCESS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 2) ဒေတာပက်ကေ့ဂျ်
ဘိုက် 1 2 3 4 5—Len+1 Len+2 Len+3 ACK 0xF5 0 0 0 Eigenvalues CHK 0xF5 မှတ်စုများ-
Eigenvalues(Len-) သည် 193Byte ဖြစ်သည်။
ACK ဒေတာ၏ ပဉ္စမမြောက်ဘိုက်သည် ACK_SUCCESS ဖြစ်သောအခါ ဒေတာပက်ကတ်ကို ပေးပို့သည်။ - အသုံးပြုသူကို ဖျက်ပါ (CMD/ACK 8 Byte နှစ်ခုလုံး)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x04 အသုံးပြုသူ ID (High 8Bit) အသုံးပြုသူ ID (8Bit နည်း) 0 0 CHK 0xF5 ACK 0xF5 က0x04 0 0 ACK_SUCCESS
ACK_FAIL0 CHK 0xF5 - အသုံးပြုသူအားလုံးကို ဖျက်ပါ (CMD/ACK 8 Byte)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x05 0 0 0:အသုံးပြုသူအားလုံးကို ဖျက်ပါ 1/2/3- ခွင့်ပြုချက် 1/2/3 ရှိသော အသုံးပြုသူများကို ဖျက်ပါ။ 0 CHK 0xF5 ACK 0xF5 က0x05 0 0 ACK_SUCCESS
ACK_FAIL0 CHK 0xF5 - အသုံးပြုသူအရေအတွက် (CMD/ACK 8 Byte)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x09 0 0 0- Query Count
0xFF- မေးမြန်းမှု ပမာဏ0 CHK 0xF5 ACK 0xF5 က0x09 အရေအတွက်/ပမာဏ (မြင့်မားသော 8Bit) အရေအတွက်/ပမာဏ (နည်းသော 8Bit) ACK_SUCCESS
ACK_FAIL
0xFF(CMD=0xFF)0 CHK 0xF5 - 1:1 (CMD/ACK 8Byte နှစ်မျိုးလုံး)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 0x0B အသုံးပြုသူ ID (High 8 Bit) အသုံးပြုသူ ID (အနိမ့် 8 ဘစ်) 0 0 CHK 0xF5 ACK 0xF5 0x0B 0 0 ACK_SUCCESS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 - နှိုင်းယှဉ်ချက် 1: N (CMD/ACK နှစ်ခုလုံး 8 Byte)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 ၃၂x၄၁C 0 0 0 0 CHK 0xF5 ACK 0xF5 ၃၂x၄၁C အသုံးပြုသူ ID (High 8 Bit) အသုံးပြုသူ ID (အနိမ့် 8 ဘစ်) ခွင့်ပြုချက်
(၀၁/၀၄/၂၀၂၂)
ACK_NOUSER
ACK_TIMEOUT0 CHK 0xF5 - Query Permission (CMD/ACK 8 Byte နှစ်ခုလုံး)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 0x0A အသုံးပြုသူ ID (High 8Bit) အသုံးပြုသူ ID (Low8Bit) 0 0 CHK 0xF5 ACK 0xF5 0x0A 0 0 ခွင့်ပြုချက်
(၀၁/၀၄/၂၀၂၂)
ACK_NOUSER0 CHK 0xF5 - Set/Query နှိုင်းယှဉ်မှုအဆင့် (CMD/ACK 8 Byte နှစ်ခုလုံး)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x28 0 Byte5=0- အဆင့်အသစ်
Byte5=1: 00: အဆင့်သတ်မှတ်ပါ။
1: မေးမြန်းမှုအဆင့်0 CHK 0xF5 ACK 0xF5 က0x28 0 လက်ရှိအဆင့် ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 မှတ်ချက်- နှိုင်းယှဉ်မှု အဆင့် 0 ~ 9 ဖြစ်နိုင်သည်၊ တန်ဖိုးပိုကြီးသည်၊ နှိုင်းယှဉ်မှုပိုမိုတင်းကျပ်သည်။ ပုံသေ ၅
- ပုံကိုရယူပြီး အပ်လုဒ်လုပ်ပါ (CMD=8 Byte/ACK >8 Byte)
CMD ဖော်မတ်-ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x24 0 0 0 0 CHK 0xF5 ACK ဖော်မတ်
1) ဒေတာဦးခေါင်းဘိုက် 1 2 3 4 5 6 7 8 ACK 0xF5 က0x24 မင်္ဂလာပါ (Len) နိမ့်(Len) ACK_SUCCUSS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 2) Data packet
ဘိုက် 1 2—Len+1 Len+2 Len+3 ACK 0xF5 ပုံဒေတာ CHK 0xF5 မှတ်စုများ
DSP module တွင်၊ လက်ဗွေရာပုံများ၏ pixels များသည် 280*280 ဖြစ်ပြီး pixel တစ်ခုစီကို 8 bits ဖြင့်ကိုယ်စားပြုသည်။ အပ်လုဒ်တင်သည့်အခါ၊ DSP သည် pixels s ကို ကျော်သွားပါသည်။ampဒေတာအရွယ်အစားကို လျှော့ချရန် အလျားလိုက်/ဒေါင်လိုက် ဦးတည်နေသဖြင့် ပုံသည် 140*140 ဖြစ်လာကာ pixel ၏ 4 bits အမြင့်ကို ယူလိုက်ရုံသာဖြစ်သည်။ pixel နှစ်ခုတိုင်းကို လွှဲပြောင်းရန်အတွက် တစ်ဘိုက်တွင် ပေါင်းစပ်ထားသည် (ယခင် pixel မြင့် 4-bit၊ နောက်ဆုံး pixel low 4-pixel)။
ထုတ်လွှင့်မှုသည် ပထမလိုင်းမှ မျဉ်းကြောင်းတစ်ခုစီကို စတင်သည်၊ လိုင်းတစ်ခုစီသည် ပထမ pixel မှ စတင်သည်၊ ဒေတာ 140* 140/ 2 bytes အားလုံးကို လွှဲပြောင်းပေးပါသည်။
ပုံ၏ဒေတာအရှည်ကို 9800 bytes ဖြင့် သတ်မှတ်သည်။ - ပုံကိုရယူပြီး eigenvalues ကို အပ်လုဒ်လုပ်ပါ (CMD=8 Byte/ACK > 8Byte)
CMD ဖော်မတ်-ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x23 0 0 0 0 CHK 0xF5 ACK ဖော်မတ်
1) ဒေတာဦးခေါင်းဘိုက် 1 2 3 4 5 6 7 8 ACK 0xF5 က0x23 မင်္ဂလာပါ (Len) နိမ့်(Len) ACK_SUCCUSS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 2) Data packet
ဘိုက် 1 2 3 4 5—Len+1 Len+2 Len+3 ACK 0xF5 0 0 0 Eigenvalues CHK 0xF5 မှတ်စုများ Eigenvalues (Len -3) ၏ အရှည်မှာ 193 bytes ဖြစ်သည်။
- eigenvalues ကို ဒေါင်းလုဒ်လုပ်ပြီး ရရှိထားသော လက်ဗွေနှင့် နှိုင်းယှဉ်ပါ (CMD >8 Byte/ACK=8 Byte)
CMD ဖော်မတ်-
1) ဒေတာဦးခေါင်းဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x44 မင်္ဂလာပါ (Len) နိမ့်(Len) 0 0 CHK 0xF5 2) Data packet
ဘိုက် 1 2 3 4 5—Len+1 Len+2 Len+3 ACK 0xF5 0 0 0 Eigenvalues CHK 0xF5 မှတ်ချက်- Eigenvalues (Len -3) သည် 193 bytes ဖြစ်သည်။
ACK ဖော်မတ်ဘိုက် 1 2 3 4 5 6 7 8 ACK 0xF5 က0x44 0 0 ACK_SUCCUSS
ACK_FAIL
ACK_TIMEOUT0 CHK 0xF5 - eigenvalues နှင့် နှိုင်းယှဉ်ချက် 1:1 (CMD >8 Byte/ACK=8 Byte) ဒေါင်းလုဒ်လုပ်ပါ
CMD ဖော်မတ်-
1) ဒေတာဦးခေါင်းဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x42 မင်္ဂလာပါ (Len) နိမ့်(Len) 0 0 CHK 0xF5 2) Data packet
ဘိုက် 1 2 3 4 5—Len+1 Len+2 Len+2 ACK 0xF5 အသုံးပြုသူ ID (High 8 Bit) အသုံးပြုသူ ID (အနိမ့် 8 ဘစ်) 0 Eigenvalues CHK 0xF5 မှတ်စုများ Eigenvalues (Len -3) ၏ အရှည်မှာ 193 bytes ဖြစ်သည်။
ACK ဖော်မတ်ဘိုက် 1 2 3 4 5 6 7 8 ACK 0xF5 က0x43 0 0 ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 - eigenvalues နှင့် နှိုင်းယှဉ်ချက် 1-N (CMD >8 Byte/ACK=8 Byte) ကို ဒေါင်းလုဒ်လုပ်ပါ
CMD ဖော်မတ်-
1) ဒေတာဦးခေါင်းဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x43 မင်္ဂလာပါ (Len) နိမ့်(Len) 0 0 CHK 0xF5 2) Data packet
ဘိုက် 1 2 3 4 5—Len+1 Len+2 Len+2 ACK 0xF5 0 0 0 Eigenvalues CHK 0xF5 မှတ်စုများ Eigenvalues (Len -3) ၏ အရှည်မှာ 193 bytes ဖြစ်သည်။
ACK ဖော်မတ်ဘိုက် 1 2 3 4 5 6 7 8 ACK 0xF5 က0x43 အသုံးပြုသူ ID (High 8 Bit) အသုံးပြုသူ ID (အနိမ့် 8 ဘစ်) ခွင့်ပြုချက်
(၁/၂/၃)
ACK_NOUSER0 CHK 0xF5 - DSP မော်ဒယ် CMD=8 Byte/ACK >8 Byte) မှ eigenvalues များကို အပ်လုဒ်လုပ်ပါ။
CMD ဖော်မတ်-ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x31 အသုံးပြုသူ ID (High 8 Bit) အသုံးပြုသူ ID (အနိမ့် 8 ဘစ်) 0 0 CHK 0xF5 ACK ဖော်မတ်
1) ဒေတာဦးခေါင်းဘိုက် 1 2 3 4 5 6 7 8 ACK 0xF5 က0x31 မင်္ဂလာပါ (Len) နိမ့်(Len) ACK_SUCCUSS
ACK_FAIL
ACK_NOUSER0 CHK 0xF5 2) Data packet
ဘိုက် 1 2 3 4 5—Len+1 Len+2 Len+3 ACK 0xF5 အသုံးပြုသူ ID (High 8 Bit) အသုံးပြုသူ ID (အနိမ့် 8 ဘစ်) ခွင့်ပြုချက် (၁/၂/၃) Eigenvalues CHK 0xF5 မှတ်စုများ Eigenvalues (Len -3) ၏ အရှည်မှာ 193 bytes ဖြစ်သည်။
- eigenvalues ကို ဒေါင်းလုဒ်လုပ်ပြီး DSP (CMD>8 Byte/ACK = 8 Byte) အဖြစ် သိမ်းဆည်းပါ။
CMD ဖော်မတ်-
1) ဒေတာဦးခေါင်းဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 က0x41 မင်္ဂလာပါ (Len) နိမ့်(Len) 0 0 CHK 0xF5 2) Data packet
ဘိုက် 1 2 3 4 5—Len+1 Len+2 Len+3 ACK 0xF5 အသုံးပြုသူ ID (High 8 Bit) အသုံးပြုသူ ID (Low8 Bit) ခွင့်ပြုချက် (၁/၂/၃) Eigenvalues CHK 0xF5 မှတ်စုများ Eigenvalues (Len -3) ၏ အရှည်မှာ 193 bytes ဖြစ်သည်။
ACK ဖော်မတ်ဘိုက် 1 2 3 4 5 6 7 8 ACK 0xF5 က0x41 အသုံးပြုသူ ID (High 8 Bit) အသုံးပြုသူ ID (အနိမ့် 8 ဘစ်) ACK_SUCCESS
ACK_FAIL0 CHK 0xF5 - ထည့်သွင်းအသုံးပြုသူအားလုံး၏ မေးမြန်းမှုအချက်အလက် (ID နှင့် ခွင့်ပြုချက်) (CMD=8 Byte/ACK >8Byte)
CMD ဖော်မတ်-ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 0x2B 0 0 0 0 CHK 0xF5 ACK ဖော်မတ်
1) ဒေတာဦးခေါင်းဘိုက် 1 2 3 4 5 6 7 8 ACK 0xF5 0x2B မင်္ဂလာပါ (Len) နိမ့်(Len) ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 2) Data packet
ဘိုက် 1 2 3 4—Len+1 Len+2 Len+3 ACK 0xF5 အသုံးပြုသူ ID (High 8 Bit) အသုံးပြုသူ ID (အနိမ့် 8 ဘစ်) အသုံးပြုသူအချက်အလက် (အသုံးပြုသူ ID နှင့် ခွင့်ပြုချက်) CHK 0xF5 မှတ်စုများ
Data packet (Len) ၏ ဒေတာအရှည်မှာ "3*User ID+2" ဖြစ်သည်။
အသုံးပြုသူအချက်အလက်ဖော်မတ်ဘိုက် 4 5 6 7 8 9 … ဒေ အသုံးပြုသူ ID1 (High 8 Bit) အသုံးပြုသူ ID1 (အနိမ့် 8 ဘစ်) အသုံးပြုသူ 1 ခွင့်ပြုချက် (1/2/3) အသုံးပြုသူ ID2 (High 8 Bit) အသုံးပြုသူ ID2 (အနိမ့် 8 ဘစ်) အသုံးပြုသူ 2 ခွင့်ပြုချက် (1/2/3) …
- လက်ဗွေ ဖမ်းယူမှု အချိန်ကုန်ဆုံးခြင်း (CMD/ACK 8 Byte နှစ်ခုလုံး)
ဘိုက် 1 2 3 4 5 6 7 8 CMD 0xF5 0x2E 0 Byte5=0- အချိန်ကုန်သွားသည်။
Byte5=1: 00: အချိန်ကုန်အောင် သတ်မှတ်ပါ။
1: မေးမြန်းမှု အချိန်ကုန်သွားသည်။0 CHK 0xF5 ACK 0xF5 0x2E 0 ခဏပွဲရပ်ခြင်း ACK_SUCCUSS
ACK_FAIL0 CHK 0xF5 မှတ်စုများ
လက်ဗွေ စောင့်ဆိုင်းချိန်လွန်မှု အကွာအဝေး (tout) တန်ဖိုးများသည် 0-255 ဖြစ်သည်။ တန်ဖိုးသည် 0 ဖြစ်ပါက၊ လက်ဗွေရယူခြင်းလုပ်ငန်းစဉ်သည် ဆက်လက်လုပ်ဆောင်နေမည်ဖြစ်ပြီး၊ တန်ဖိုးသည် 0 မဟုတ်ပါက၊ လက်ဗွေရာများ အချိန်မီ မနှိပ်ပါက အချိန်ကုန်သွားပါက စနစ်သည် *T0 ဖြစ်သည်။
မှတ်ချက် - T0 သည် ပုံတစ်ပုံအား စုဆောင်းခြင်း/လုပ်ဆောင်ခြင်းအတွက် လိုအပ်သောအချိန်ဖြစ်ပြီး များသောအားဖြင့် 0.2- 0.3 s ဖြစ်သည်။
ဆက်သွယ်မှုလုပ်ငန်းစဉ်
လက်ဗွေရာထည့်ပါ။
အသုံးပြုသူကို ဖျက်ပါ။
အသုံးပြုသူများအားလုံးကို ဖျက်ပါ။
ပုံကိုရယူပြီး EIGENVALUE ကို အပ်လုဒ်လုပ်ပါ။
အသုံးပြုသူလမ်းညွှန်များ
လက်ဗွေရာစနစ်ကို PC နှင့်ချိတ်ဆက်လိုပါက၊ USB module သို့ UART တစ်ခုဝယ်ရန်လိုအပ်သည်။ Waveshare ကို အသုံးပြုရန် အကြံပြုအပ်ပါသည်။ FT232 USB UART ဘုတ်အဖွဲ့ (မိုက်ခရို) မော်ဂျူး
အကယ်၍ သင်သည် အလုပ်လုပ်နေပါက လက်ဗွေရာ မော်ဂျူးကို Raspberry Pi ကဲ့သို့သော ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့သို့ ချိတ်ဆက်လိုပါက၊
သင့်ဘုတ်၏အဆင့်သည် 3.3V ဖြစ်ပြီး၊ ၎င်းကို သင့်ဘုတ်၏ UART နှင့် GPIO ပင်များနှင့် တိုက်ရိုက်ချိတ်ဆက်နိုင်သည်။ ၎င်းသည် 5V ဖြစ်ပါက၊ ကျေးဇူးပြု၍ အဆင့်ပြောင်းလဲခြင်း module/circuity ကိုထည့်ပါ။
ကွန်ပျူတာနဲ့ချိတ်ဆက်ပါ
ဟာ့ဒ်ဝဲချိတ်ဆက်မှု
သင်လိုအပ်သည်-
- UART Fingerprint Sensor (C)*1
- FT232 USB UART ဘုတ်အဖွဲ့ *၁
- micro USB ကြိုး *၁
လက်ဗွေရာ မော်ဂျူးနှင့် FT232 USB UART ဘုတ်ကို PC နှင့် ချိတ်ဆက်ပါ။
UART လက်ဗွေရာအာရုံခံကိရိယာ (C) | FT232 USB UART ဘုတ် |
VDC | VDC |
GND | GND |
RX | TX |
TX | RX |
RST | NC |
နိုး | NC |
စမ်းသပ်ခြင်း။
- UART Fingerprint Sensor စမ်းသပ်ဆော့ဖ်ဝဲကို wiki မှဒေါင်းလုဒ်လုပ်ပါ။
- ဆော့ဖ်ဝဲကိုဖွင့်ပြီး မှန်ကန်သော COM အပေါက်ကို ရွေးချယ်ပါ။(ဆော့ဖ်ဝဲလ်သည် COM1~COM8 ကိုသာ ပံ့ပိုးပေးနိုင်သည်၊ အကယ်၍ သင့် PC ရှိ COM port သည် ဤအကွာအဝေးထက် ကျော်လွန်ပါက ၎င်းကို ပြုပြင်ပါ)
- စမ်းသပ်ခြင်း။
Testing interface တွင် ပံ့ပိုးပေးထားသော လုပ်ဆောင်ချက်များစွာရှိသည်။
- Query Count
ရွေးပါ။ ရေတွက်၊ ပြီးရင် နှိပ်ပါ။ ပို့ပါ။ အသုံးပြုသူ အရေအတွက်ကို ပြန်ပို့ပြီး သတင်းအချက်အလက်တွင် ဖော်ပြသည်။ တုံ့ပြန်မှု ကြားခံ - အသုံးပြုသူကို ထည့်ပါ။
ရွေးပါ။ အသုံးပြုသူထည့်၊ စစ်ဆေးရန် နှစ်ကြိမ်ရယူပါ။ နှင့် အော်တို ID+1၊ ID ကိုရိုက်ပါ (P1 နှင့် P2) နှင့် ခွင့်ပြုချက် (P3) ထို့နောက်ကိုနှိပ်ပါ ပို့ပါ။ နောက်ဆုံးတွင် လက်ဗွေရယူရန် အာရုံခံကိရိယာကို ထိပါ။ - အသုံးပြုသူကို ဖျက်ပါ။
ရွေးချယ်ပါ။ အသုံးပြုသူကို ဖျက်ရန်၊ ID ကိုရိုက်ပါ (P1 နှင့် P2) နှင့် ခွင့်ပြုချက် (P3) ထို့နောက် Send ကိုနှိပ်ပါ။ - အသုံးပြုသူများအားလုံးကို ဖျက်ပါ။
ရွေးပါ။ အသုံးပြုသူများအားလုံးကို ဖျက်ပါ။ထို့နောက် Send ကိုနှိပ်ပါ။ - နှိုင်းယှဉ် ၁:၁
ရွေးပါ။ ၁:၁ နှိုင်းယှဉ်ID ကိုရိုက်ထည့်ပါ (P1 နှင့် P2) နှင့် ခွင့်ပြုချက် (P3) ထို့နောက်ကိုနှိပ်ပါ ပို့ပါ။ - နှိုင်းယှဉ်ခြင်း။ ၁
ရွေးပါ။ 1: N နှိုင်းယှဉ်မှုထို့နောက် နှိပ်ပါ။ ပို့ပါ။
…
နောက်ထပ်လုပ်ဆောင်ချက်များအတွက် ကျေးဇူးပြု၍ စမ်းသပ်ပါ။ (ဤ module အတွက် အချို့သောလုပ်ဆောင်ချက်များကို မရရှိနိုင်ပါ)
XNUCLEO-F103RB သို့ ချိတ်ဆက်ပါ။
ကျွန်ုပ်တို့သည် သင် wiki မှဒေါင်းလုဒ်လုပ်နိုင်သော XNCULEO-F103RB အတွက်သရုပ်ပြကုဒ်တစ်ခုပေးပါသည်။
UART လက်ဗွေရာအာရုံခံကိရိယာ (C) | NUCLEO-F103RB |
VDC | 3.3V |
GND | GND |
RX | PA9 |
TX | PA10 |
RST | PB5 |
နိုး | PB3 |
မှတ်ချက် - Pins များအကြောင်း ကျေးဇူးပြု၍ ကိုးကားပါ။ အင်တာဖေ့စ် အထက်
- UART Fingerprint Sensor (C) ကို XNUCLEO_F103RB သို့ ချိတ်ဆက်ပြီး ပရိုဂရမ်မာကို ချိတ်ဆက်ပါ
- keil5 ဆော့ဖ်ဝဲလ်ဖြင့် ပရောဂျက် (သရုပ်ပြကုဒ်) ကိုဖွင့်ပါ။
- ပရိုဂရမ်မာနှင့် စက်ပစ္စည်းကို ပုံမှန်အတိုင်း အသိအမှတ်ပြုထားခြင်း ရှိမရှိ စစ်ဆေးပါ။
- စုစည်းပြီး ဒေါင်းလုဒ်လုပ်ပါ။
- XNUCELO-F103RB ကို USB ကြိုးဖြင့် PC သို့ချိတ်ဆက်ပါ၊ Serial အကူအညီဆော့ဖ်ဝဲကိုဖွင့်ပါ၊ COM ပို့တ်- 115200၊ 8N1 ကိုသတ်မှတ်ပါ
ပြန်လာသောအချက်အလက်များအရ module ကိုစမ်းသပ်ရန် command များကိုရိုက်ပါ။
RASBERRY PI သို့ ချိတ်ဆက်ပါ။
ကျွန်ုပ်တို့သည် python ex ကို ပေးပါသည်။ample အတွက် Raspberry Pi ကို wiki မှ ဒေါင်းလုဒ်လုပ်နိုင်ပါသည်။
ex မသုံးခင်ampဒါကြောင့် Raspberry Pi ရဲ့ အမှတ်စဉ် ဆိပ်ကမ်းကို ဦးစွာ ဖွင့်ထားသင့်ပါတယ် ။
Terminal တွင် ထည့်သွင်းသည့် command- Sudo raspi-config
ရွေးချယ်ပါ- Interfacing Options -> Serial -> No -> Yes
ပြီးရင် reboot လုပ်ပါ။
UART လက်ဗွေရာအာရုံခံကိရိယာ (C) | Raspberry Pi |
VDC | 3.3V |
GND | GND |
RX | 14 (BCM) – PIN 8 (ဘုတ်အဖွဲ့) |
TX | 15 (BCM) – PIN 10 (ဘုတ်အဖွဲ့) |
RST | 24 (BCM) – PIN 18 (ဘုတ်အဖွဲ့) |
နိုး | 23 (BCM) – PIN 16 (ဘုတ်အဖွဲ့) |
- လက်ဗွေ မော်ဂျူးကို Raspberry Pi သို့ ချိတ်ဆက်ပါ။
- Raspberry Pi: wget သရုပ်ပြကုဒ်ကို ဒေါင်းလုဒ်လုပ်ပါ။ https://www.waveshare.com/w/upload/9/9d/UART-Fignerprint-RaspberryPi.tar.gz
- ဇစ်ဖြည်လိုက်ပါ။
tar zxvf UART-Fingerprint-RaspberryPi.tar.gz - ရည်းစားဟောင်းကို ပြေးပါ။ample
cd UART-Fingerprint-RaspberryPi/sudo python main.py - စမ်းသပ်ရန် လမ်းညွှန်ချက်များကို လိုက်နာပါ။
စာရွက်စာတမ်းများ / အရင်းအမြစ်များ
![]() |
WAVESHARE STM32F205 UART လက်ဗွေရာအာရုံခံကိရိယာ [pdf] အသုံးပြုသူလက်စွဲ STM32F205၊ UART Fingerprint Sensor၊ STM32F205 UART Fingerprint Sensor၊ Fingerprint Sensor |