|
|
|
|
|
|
|
|
|
|
|
|
《AI智能考勤系统》
01 项目应用场景
-
办公室人员考勤 -
教室点名系统 -
人员进出统计
02 项目功能
本项目实现了基于光电传感器的智能语音考勤系统。用户首先通过语音设置应到人数(如"设置一个40人的考勤系统"),STM32保存该数值。随后,通过光电传感器检测人员打卡(遮挡传感器),STM32记录实到人数。用户可通过多种语音指令(如"今天考勤详情"、"人来齐了吗")查询考勤状态,ESP32根据应到/实到人数计算缺勤情况,生成差异化反馈。系统采用防抖处理(1秒内重复触发不计数),避免一次打卡多次计数。整个系统实现了从人数设置、打卡采集到考勤查询的完整流程,支持多种查询方式的自然语言交互。
03 项目硬件平台
主硬件平台:华清远见F103&ESP32-S3 AI开发板(板载麦克风、扬声器)+2.8寸显示屏。
扩展模块:可采用光电传感器+LED指示灯(PC3/PC4/PC13控制),也可以直接用我们的资源扩展板(扩展板上非常多的传感器执行器,非常方便多项目实战)。
关于华清远见F103&ESP32-S3 AI开发板:
这是一款能让你的STM32项目瞬间拥有联网和AI能力的双核开发板,集成了STM32F103和ESP32-S3。两个核心都可以独立运行,也可以协同工作。对于初学者来说,你可以把它当成两块板子来分别学习(STM32F103开发板+ESP32-S3开发板)。对于项目实战来说,可以让它们分工合作——ESP32作为“AI大脑”,STM32作为“控制双手”,低成本实现更复杂、更稳定的高级应用。
04 项目实现关键点
1.光电传感器配置 :设置PB2引脚为GPIO_EXTI2输入,配置下降沿触发中断
2.防抖处理机制 :中断服务函数中添加1000ms时间防抖,确保1秒内只计数一次
3.考勤数据管理 :STM32保存应到人数和实到人数,断电后重置
4.双芯通信协议 :9字节固定帧格式,支持两类指令(0x11设置应到人数,0x10查询考勤数据)
5.差异化反馈 :ESP32根据查询类型生成不同反馈:
- B指令(详情)→"今日考勤:应到10人,实到4人,缺勤6人"
- D指令(人齐了吗)→"还没齐,实到4人,差6人"
05 涉及学习技术点
- 光电传感器原理与应用
- 外部中断处理
- 传感器防抖技术
- 数据统计与分析
- 双芯架构任务分工
- 串口通信协议设计
- 语音交互与反馈生成
06 项目实现原理
1. 硬件原理
光电开关是由发射器、接收器和检测电路三部分组成。发射器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。受脉冲调制的光束辐射强度在发射中经过多次选择,朝着目标不间接地运行。接收器有光电二极管或光电三极管、光电池组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面的是检测电路,它能滤出有效信号和应用该信号。
1)光电开关是由发光元件与接收元件构成。
2)它是利用物体出现在光束路径时,部分光线被物体吸收或者反射,感光元件接收反射回来的光线,并将其转换为电信号。电信号经过处理,就可以判断是否有物体存在。
3)多数光电开关选用的是波长接近可见光的红外线光波型。
扩展板原理图
根据上图可以看到,U13对应的光电开关的接收器,当没有遮挡的时候,U13上方的3号脚就是低电平,连接U14A比较器,那么比较器的3号脚就是低电平。这个时候要设置电位器R55,对应实物如下图所示,设置到相关一个阻值,可以根据光电开关旁边的LED灯来判断,要调整到LED点亮的阻值就可以了,这样就知道U14的比较器此时2号脚的电压是高电平,大概在1.5V左右,而在没有遮挡的情况下,3号脚为低电平,那么此时比较器的反向端大于同向端,U14比较器的1号脚输出低电平,LED灯点亮。
根据以上特性,调整好电位器后,只要有遮挡那么U13的3号脚就是高电平,反向端小于正向端,U14比较器1号脚输出高电平,LED灯熄灭。
2. 双芯通信原理(ESP32 为主机,STM32 为从机)
1)STM32 端打卡检测与数据管理
光电传感器防抖计数:配置传感器引脚(PB2)遮挡时触发下降沿中断,中断服务函数中添加 1秒延时检测(确认持续遮挡),1 秒内重复中断不计数,实到人数 + 1(≤应到人数);
数据存储:接收0x11 帧后,保存应到人数(如 10);实时更新实到人数,断电后重置为 0(可选外接 EEPROM 实现断电保存)。
2)ESP32 端考勤统计与反馈
指令分类处理:
A 指令(设人数):提取指令中数字(如 “10 人”→10),下发 0x11 帧,接收成功帧后语音确认 “已设置 10 人考勤系统”;
B~F 指令(查考勤):下发 0x10 帧,接收 “应到 / 实到” 数据后计算缺勤,生成差异化反馈:
B 指令(详情)→“今日考勤:应到 10 人,实到 4 人,缺勤 6 人”;
C 指令(来了几人)→“目前实到 4 人,还有 6 人未到”;
D 指令(有人没来吗)→“有人没来哦,当前缺勤 6 人”;
E 指令(人齐了吗)→“还没齐,实到 4 人,差 6 人”;
F 指令(缺人吗)→“缺人,一共缺 6 人,应到 10 人”。
07 项目实现步骤
08 硬件平台详细介绍
开发板简介
扫码添加雯雯老师
备注“AIoT开发板”
免费领取开发板教程/源码
购买链接
购买链接:
STM32F103&ESP32-S3 AIoT开发板:
https://item.taobao.com/item.htm?id=987993337589(复制粘贴至浏览器打开)
淘口令:
【淘宝】7天无理由退货 https://e.tb.cn/h.SmLA9YZgO3OWMuy?tk=ise6ffa91QX CZ225 「stm32入门学习毕设项目套件esp32开发板s3小智AI桌宠机器人小狗」
点击链接直接打开 或者 淘宝搜索直接打开
-END-
扫码添加雯雯老师
备注“AIoT开发板”
免费领取开发板教程/源码
购买链接
STM32F103&ESP32-S3 AIoT开发板:
【淘宝】7天无理由退货 https://e.tb.cn/h.SmLA9YZgO3OWMuy?tk=ise6ffa91QX CZ225 「stm32入门学习毕设项目套件esp32开发板s3小智AI桌宠机器人小狗」
点击链接直接打开 或者 淘宝搜索直接打开
-END-
精品文章:
【入门必看】超有用!嵌入式STM32「降维打击式学习法」,0基础轻松入门到软硬件全栈工程师
【入门必看】嵌入式学习利器!STM32产品开发全流程仿真,零基础到软硬件全栈工程师学习路线
【入门必看】从菜鸟到大牛,嵌入式系统完整学习路线!看这篇就够了!
【入门必看】一文搞懂鸿蒙系统设备开发,从入门到12大物联网项目实战
【入门必看】嵌入式学习路线,大学四年规划:从大一小白到嵌入式大佬
【项目案例】我靠这个STM32智能手表项目,成功拿到了校招0ffer!
【免费领取】阿里云HaaS EDU物联网开发入门+项目实战资料包
【免费领取】Arduino ESP32物联网开发入门+项目实战资料包
《嵌入式系统设计工程师-中级(裸机编程)》认证证书怎么考?含金量如何?
《嵌入式系统设计工程师-中级(Linux)》认证证书含金量如何?怎么考?

