完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
关于制作基于STM32的指纹打卡器(不完全体)
笔者认为首先需要构思好此打卡器需要实现的功能有哪些?作为一个指纹打卡器首先应该具备指纹识别功能。其次需要将我们识别到的用户反馈到显示器上给予打卡者打卡成功的反馈,同时可以在打卡成功的同时加入蜂鸣器进行提醒。最后需要在打卡成功以后将打卡者的打卡时间存储到某个具有存储功能的介质当中。 首先实现实现第一步指纹的录入与识别。笔者使用的是YX-66319电容指纹识别模块,使用此模块的录入指纹我们需要首先使用其提供的上位机进行,录入成功以后。就可以进入指纹部分的代码编写了,更具官方提供的通信协议进行用户识别。 完成串口初始化以后,开启串口1的中断服务接收指纹信息 之后便可比打卡者指纹与指纹库中的指纹。代码如下: u8 ACK_SEARCH() { u8 i; USART1_RX_STA=0; for(i=0;i《8;i++) { USART_SendData(USART1,CMD_SEARCH[i]); while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//µÈ´ý·¢ËͽáÊø } while((USART1_RX_STA&0x80)==0)//µÈ´ý½ÓÊճɹ¦ { i++; delay_ms(10); if(i==50) return 1;//Èç¹ûʱ¼ä¹ý³¤ÔòÖ±½ÓÍ˳ö } if(Set[4]==ACK_NOUSER||Set[4]==ACK_TIMEOUT) { return 2; } else { name =(Set[2]《《8)+Set[3]; return 0; } } 判断其是否已经录入指纹,如果比对成功则返回其用户ID号。至此指纹模块的任务完成。 得到我们需要的ID号后我们可以将其与我们的用户库(即结构体数组)中的用户ID进行比对,然后再OLED上显示打卡者的姓名与打卡成功与否。笔者曾经想用IIC通信实现与OLED的通信,但是移植了中景的代码却一直没有成功,无奈放弃IIC通信使用SPI通信(请各位大佬指点)。 while(1) { i = ACK_SEARCH(); if(!i) { OLED_Clear(); OLED_ShowString(0,2,“Successfully”); OLED_ShowNum(0,6,name,3,12); delay_ms(1000); } else if(i == 2) { OLED_Clear(); OLED_ShowCHinese(0,3,0); OLED_ShowCHinese(18,3,1); OLED_ShowCHinese(36,3,2); OLED_ShowCHinese(54,3,3); OLED_ShowCHinese(72,3,4); OLED_ShowCHinese(90,3,5); delay_ms(1000); } } 此处显示的便是成功识别用户显示其id号1号用户,打卡成功。假如识别失败时便显示不存在此用户。另外打卡成功时蜂鸣器会发出声响此处蜂鸣器代码便不展示了。 完成了了指纹的对比识别以及显示以后我们还需要考虑其功耗问题,因为笔者使用的是锂电池供电所以笔者与实验室的小伙伴认为还需让打卡器在不工作时进入待机模式于是笔者便移植了正点的待机唤醒方案。因为YX-66319电容指纹识别模块的2号引脚在用手指靠经识别时会提供一个高电平于是我们使其成为我们的唤醒信号。在代码移植方面只需将2号引脚接在PA0口。 if(WKUP_KD == 0){ delay_ms(1000); if(WKUP_KD == 0){ Sys_Enter_Standby(); } } 完成了这些以后便只差最后一步将其存储在存储介质中,笔者选择将其存储在SD卡中但是目前遇到比较多的问题首先是c8t6的大小不足,然后便是初始化一直失败返回0xFF,移植没有成功,后续成功后笔者会再发博完善。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1792 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1626 浏览 1 评论
1094 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
732 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1682 浏览 2 评论
1943浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
740浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
577浏览 3评论
600浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
562浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 07:56 , Processed in 1.034761 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号