一、设计背景与核心需求
传统超市购物车仅具备承载功能,存在商品统计繁琐、找货耗时、排队结账拥堵等问题,影响购物效率与体验。基于单片机的智能购物车,融合自动识别、路径导航、结算支付等功能,可实现商品自动计价、智能导购、快速结算,适用于大型超市、仓储式卖场等场景,能有效缩短购物时间(据测算可减少40%购物流程耗时),降低人工成本。
系统核心需求包括:
- 商品识别:支持条形码/二维码扫描识别(识别率≥98%),自动录入商品信息与价格;
- 智能导航:基于室内定位(精度±1m),规划最优购物路径,语音提示商品位置;
- 结算功能:实时统计商品总价,支持扫码支付(微信/支付宝),支付成功率≥99%;
- 交互体验:7英寸触控屏显示商品清单与导航地图,语音交互响应时间≤1秒;
- 续航与安全:锂电池供电续航≥8小时,具备防丢失报警(离开用户5米触发)、过载保护功能。
二、硬件系统设计
硬件以STM32H743单片机为控制核心,采用模块化架构,各模块设计如下:
1. 核心控制模块
选用STM32H743微处理器(ARM Cortex-M7内核,400MHz主频),具备强大的数据处理能力与外设接口(USB、Ethernet、SPI、I2C),负责统筹各模块协同工作,处理商品识别数据、导航算法与支付信息交互。内置2MB Flash存储商品数据库缓存,确保离线状态下正常识别。
2. 商品识别与称重模块
- 条码识别单元:集成OV5640摄像头(500万像素)与激光扫描模组(HS-2000),摄像头采集二维码图像经OpenMV算法识别,激光扫描头读取一维条码,双重识别确保成功率。识别距离5-30cm,支持倾斜角度±30°识别。
- 称重单元:购物车底部安装电阻应变式称重传感器(量程50kg,精度±50g),配合HX711 AD芯片,自动检测商品是否放入/取出,辅助修正商品清单(防止漏扫或误扫)。
3. 定位导航与交互模块
- 定位导航单元:采用UWB(超宽带)定位模块(DW1000),配合商场内部署的定位基站,实现±0.5m精度定位;驱动两个直流减速电机(带编码器)控制购物车转向与移动,通过PID算法实现路径跟踪(直线偏差≤5cm)。
- 人机交互单元:
- 显示:7英寸TFT触控屏(1024×600分辨率),显示商品清单、总价、导航地图与操作界面;
- 语音:SYN6288语音合成模块(播报商品信息、导航提示)与LD3320语音识别模块(支持“查找牙膏”“结算”等指令);
- 按键:紧急停止按钮与模式切换键(手动/自动导航)。
4. 通信与支付模块
- 无线通信:ESP32模块支持Wi-Fi(连接商场局域网)与蓝牙(连接用户手机),实现商品数据库同步、支付信息传输与防丢失联动;4G模块(可选)确保弱网环境下正常工作。
- 支付单元:集成二维码扫描头(读取用户支付码)与NFC模块(支持银联闪付),支付信息经加密芯片(AT88SC0104)处理后传输至商场结算系统。
5. 电源与安全模块
- 电源系统:12V/10Ah锂电池组供电,经DC-DC转换输出5V/3.3V,为各模块供电;支持太阳能辅助充电(车把安装5W光伏板),延长续航至10小时;电量低于20%时语音提示充电。
- 安全防护:
- 防丢失:蓝牙测距(与用户手机连接),距离>5米时蜂鸣器报警并锁死车轮;
- 过载保护:称重传感器检测负载>50kg时,限制电机驱动,避免损坏;
- 紧急制动:按下急停按钮立即切断电机电源,车轮机械锁死。
三、软件系统设计
软件基于FreeRTOS实时操作系统,采用模块化编程,核心功能通过多任务协同实现:
1. 商品管理与识别任务
- 识别流程:摄像头/激光头扫描商品条码后,STM32调用本地数据库比对商品信息(名称、单价、库存),无匹配时通过Wi-Fi请求云端数据库,识别成功后将商品加入清单,触控屏实时更新总价。
- 异常处理:称重传感器检测到新增商品但未识别时,语音提示“请扫描商品条码”;识别商品与重量偏差>20%时,标记异常并提示人工确认。
2. 导航与路径规划任务
- 路径规划:用户在触控屏输入需购买的商品后,系统调用商场地图(存储于本地),采用Dijkstra算法规划最短路径,避开拥堵区域(通过商场系统获取实时人流数据)。
- 导航控制:UWB模块实时获取位置信息,与目标路径对比计算偏差,通过PID算法调节左右电机转速(偏差>10cm时调整转向),语音同步提示“前方3米左转,到达牛奶区”。
3. 支付结算任务
- 结算流程:用户点击“结算”后,系统生成订单(含商品清单、总价),触控屏显示支付二维码(支持用户主动扫码)或启动扫描头读取用户支付码,支付成功后向商场系统发送确认信息,打印购物小票(可选配微型打印机)。
- 支付安全:支付信息采用RSA加密传输,本地不存储敏感支付数据;支付超时(30秒)自动取消,重新发起结算。
4. 人机交互与低功耗任务
- 语音交互:LD3320模块识别用户指令(如“删除最后一件商品”“查询总价”),STM32解析后执行对应操作并语音反馈;支持自定义唤醒词(如“小购小购”)。
- 低功耗管理:无操作10分钟后,关闭屏幕背光与部分传感器供电,电机进入休眠状态,电流从工作状态的300mA降至50mA;用户触摸屏幕或语音唤醒时快速恢复。
四、系统测试与优化
1. 功能测试
- 识别性能:测试1000件不同商品(含模糊、破损条码),识别成功率98.5%,平均识别时间0.6秒;称重辅助校验使误扫率从5%降至0.3%。
- 导航精度:在500㎡超市场景中,规划路径与实际行走偏差≤8cm,到达目标区域准确率99%,语音提示同步性良好。
- 支付体验:模拟100次支付流程,成功率100%,平均支付耗时3.2秒,较传统收银台效率提升6倍。
2. 优化措施
- 识别优化:针对弯曲包装条码识别率低的问题,增加图像畸变矫正算法,识别率从92%提升至97%;
- 导航优化:融合陀螺仪数据修正UWB定位漂移,路径跟踪偏差从15cm降至8cm;
- 续航优化:采用动态调压技术(轻载时降低电机供电电压),续航时间从8小时延长至9.5小时。
五、应用价值
该智能购物车通过自动化识别、导航与结算,重构了超市购物流程,用户平均购物时间从45分钟缩短至25分钟,商场可减少30%收银台人力成本。硬件成本约800元(批量生产可降至500元),投资回报周期约1年,适用于大型连锁超市推广。后续可扩展会员积分、个性化推荐功能,进一步提升商业价值。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。