上传者: xiaolong1126626497
|
上传时间: 2025-05-13 17:03:20
|
文件大小: 1.06MB
|
文件类型: PDF
本文针对现有售货机存在的缺陷,设计了一款基于STM32的无人售货机系统。该系统采用STM32作为主控芯片,使用液晶屏显示各种商品库存与售价,用户按下对应按键选择购买指定商品,在矩阵键盘输入账号密码付款。若付款成功,对应电机旋转一定角度使商品出库,同时修改库存;若余额不足,则进行声光提示。手机端还可查看消费流水、商品库存情况,并进行补货和充值操作。
本文详细介绍了基于STM32的无人售货机系统设计,旨在改善传统售货机存在的问题。该系统以STM32微控制器为核心,采用2.8寸TFT-LCD液晶屏展示商品信息,矩阵键盘供用户输入账号密码进行支付,通过28BYJ48步进电机控制商品出库。此外,系统还具备与手机APP交互的功能,允许用户远程查看消费记录、商品库存以及进行充值和补货操作。
系统硬件设计主要包括STM32F103ZET6主控芯片,用于处理售货机的所有控制任务。2.8寸TFT-LCD屏幕用于显示商品库存和价格,4x4矩阵键盘作为用户交互界面。ESP8266-WIFI模块用于实现售货机与手机APP之间的通信,采用STA模式连接服务器。28BYJ48步进电机负责商品出库,通过精确控制电机旋转角度实现商品的准确投放。
在软件设计方面,STM32程序包含了初始化、商品选择、支付、库存管理和声光提示等模块。初始化模块设置硬件工作状态和参数;商品选择模块响应用户按键,选取所需商品;支付模块接收并处理用户输入的账号密码,控制电机工作;库存管理模块实时更新商品库存信息;声光提示模块在支付失败或余额不足时提供反馈。手机APP程序包括用户登录、商品查看、补货、充值和消费流水模块,与STM32通过通信实现售货机的远程操作。
核心代码实现部分展示了28BYJ48步进电机的控制逻辑。通过定义GPIO端口、步进电机的步数和延迟时间,实现了电机的正反转控制。setStep函数根据给定的步数设置GPIO引脚状态,forward和backward函数控制电机的正向和反向转动。这些函数的封装使得步进电机的控制更为简洁高效。
这个基于STM32的无人售货机系统结合了硬件与软件的创新设计,实现了智能化的购物流程,提高了用户体验。通过手机APP的集成,不仅方便了用户查询和操作,也为商家提供了便捷的管理工具。这样的设计体现了现代技术在零售领域的应用,展示了STM32微控制器的强大功能和灵活性。