本帖最后由 安小芯 于 2022-4-14 19:14 编辑
基于N32G457的智慧门闸
作品出处:RT-Thread 作者:狼道自求存
一、 应用背景门闸设备在日常生活中随处可见,应用广泛。比方进租房需持有效卡片,进出地铁站可刷、投单程卡通行,上班进出工业园都得持有效门禁卡方可上班。虽然这类设备的安全性没有防盗门锁的级别高,但其成本低廉,完全满足这类场景的需求,因此这类产品有广泛的应用市场。N32G457系列采用32bit ARM Cortex-M4F内核,最高工作主频144MHz,支持浮点运算和DSP指令,开发这类产品想必绰绰有余。
二、 实现功能1.使用RC522射频模块,通过卡片接触,实现卡片ID读取、写入;2.根据读取到的卡片ID,辨别身份,判断是否启动步进电机模块,开启、闭合门闸;3.OLED模块提供状态信息显示,LED指示灯代表特定状态。
三、 硬件框架SCL:PC1----16
SDA:PC2----17 CS_PIN:PA4---29
SCK_PIN:PA5--30
MOSI_PIN:PA6-31
MISO_PIN:PA7-32
RST_PIN:PB1--36 LED1_PIN:PB5----91
LED2_PIN:PB4----90
LED3_PIN:PA8----67 motor_a_pin:PB12--51
motor_b_pin:PB13--52
motor_c_pin:PB14--53
motor_d_pin:PB15--54
四、 软件框架
由上面示意图可知,本次项目中,主函数中开辟了四个线程,线程间也可通信。其中led_thread用来提示设备当前运行的状态;oled_thread线程用来显示设备执行的反馈信息;motor_thread线程负责时刻监听rc522模块认证后的返回结果,如果认证成功,则正转电机,几秒后再反转电机(门闸上锁),如果认证失败,电机静默状态;rc522_thread线程循环执行监测设备上的有效卡片,流程:寻卡,防冲突,选卡,认证,读/写卡。如认证读卡成功则将结果反馈给oled_thread线程,并驱动电机模块做相应动作。
五、 作品展示
视频演示代码仓库
六、总结体会感谢此次大赛的举办方,感谢论坛交流平台。RT-Thread作为国产自主研发操作系统,本人是非常看好的,由于不是经常使用RT-Thread Studio开发工具,配置起来不是很熟练,使用IDE在线安装的组件,提供者并无相关注释,引用起来不是很顺利。国民技术的资料包很丰富,工程示例有支持MDK平台的,也有RT-Thread的,但工程中没有备注MCU是基于哪种封装的,起初不知道原工程是基于64pin的封装,一直调试不通,后来经微信群坛友说明,才发现这坑。另一个是N32G457VEL7开发板烧录时不时会提示下载超时,必须重新插拔才能再次烧录。国民技术在国产芯片领域也属佼佼者,本人非常支持国民技术方案,移植起来简便,希望能够迎来更强大,更具竞争力的MCU在国民技术诞生,挑起国之重任。 |