基于红外遥控的门禁系统(红外遥控、步进电机)
闲来无事,用手头STM32做个项目。
成品功能: 功能说明
材料
- STM32ZET6开发板
- TFT显示屏(战舰有我用的2.7寸的)
- 红外接收器和遥控器
- 五相四线进步电机
- ULN2003(驱动步进电机)
- 杜邦线
- 用keil5进行开发
开始制作。
制作过程
通过遥控器输入密码,密码对就开启步进电机开门。屏幕显示具体信息。
说明
开始:首先测试红外遥控,可以得到数据并且区分不同按键得到的键值。最后完善逻辑,用遥控器输入密码。读取到数据之后,再将步进电机接上,调到适应的角度。
红外遥控模块
这是红外遥控模块
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiNx8FesU2cfdGLwczX0xiRGZkRGZ0Xy9GbvNGLwIzXlpXazxCShBXNhJTW1sUZZZTQClGVF5UMR9Fd4VGdsATNfd3bkFGazxSUhxGatJGbwhFT1Y0Mk9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL2UjM1EjZmNDNwATZzYmY4UTY1QzYzYTYmJTMkVWZzMzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
这是遥控器。
原理:
个人理解就是不同按键发射不同的波形,然后通过获取的波形去确定键值。
前边16位是引导码,后边24位是数据码,最后八位是效验码,最最后有个停止位,接收到这些数据后去分析,就能得到相应的键值。
我们将模块连接到板子上,之后去测试。
识别出来是键值,再根据键值绑定不同的功能键。这样红外遥控就测试完了。
步进电机及驱动ULN2003
说明:
驱动步进电机必须要用到驱动模块,否则板子的电压不足以带动电机。
步进电机相关
1、步距角:5.625 / 64 = 0.087度。也就是理论上说,给一个脉冲,电机外部轴只转了0.087度,那么外部轴要转一圈的话就需要360/0.087=4096个脉冲。
2、1相励磁法:每一瞬间只有一个线圈相通,其他休息。优点:简单,耗电低,精确性良好。缺点:力矩小,震动大,每次励磁信号走的角度都是标称角度。1相励磁法:A->B->C->D。
3、2相励磁法:每一瞬间有两个线圈相通。优点:力矩大,震动小 。缺点:力矩小,震动大,每次励磁信号走的角度都是标称角度。2相励磁法:AB->BC->CD->DA。
4、1-2相励磁法:1相和2相交替导通。优点:精度较高,运转平滑,每送一个励磁信号转动1/2标称角度,称为半步驱动。前两种称为4相4拍,这一种称为4相8拍。1-2相励磁法:A–>AB–>B->BC->C–>CD->D–>DA。
5、逆时针转动方向相反即可。
接上步进电机,调好角度进行综合测试
嗯。效果很好。可以看到,可以通过遥控器打开步进电机。
逻辑完善
通过字符串数组去获取输入、对比密码等。当密码一致时开门,当密码不对是提示不对。通过遥控器更改密码等。
效果视频:https://www.bilibili.com/video/BV19U4y1Z7M7
后续还可以做上位机,参照https://blog.csdn.net/weixin_42320020/article/details/89219437
最后附上完整的项目文件。自行下载。
https://download.csdn.net/download/weixin_42320020/82756506
这个项目到这里就算完了。
还有很多不足的地方,希望大佬可以指正。也希望和爱好者交流学习。
禁止转载!!!
博客:https://blog.csdn.net/weixin_42320020/?type=blog
QQ:2039723308
VX:Shiboven