基于STM32的智能外卖柜设计(仿真+实物)

        基于STM32的外卖柜,使用红外模块检测外卖状态、舵机模式外卖门,使用GSM模块进行通信,利用矩阵按键进行用户交互。将外卖放入外卖柜,输入手机号码,系统将自动发送数据并携带验证码给我们输入的手机号,拿外卖的时候,我们需要输入验证码才可以打开外卖柜并取走外卖,实现整个智能存取过程。

一、仿真工程搭建

1、电路设计

        本次设计为基于STM32的智能外卖柜,由于Proteus并没有GSM模块,所以本次设计利用串口进行设计,实际上STM32实现GSM功能也是通过UART进行与GSM模块的通信。由于Proteus矩阵按键的仿真效果并不好,这边为了系统可用,使用独立按键完成功能。并使用单刀双开关设计红外模块,实际上的红外传感器也是数字传感器,检测到物体输出0,否则为1。为了可视化,本次设计采用LCD1602进行显示,虽然正式硬件设计上使用的是0.96寸OLED,但是可以实现类似功能的仿真。如下图:

2、功能演示

        仿真开始,LCD1602显示 Phone 的英文字体,此时我们可以输入号码,并且将红外打到低电平,此时外卖已经放入柜子中,串口会发送 111111111111 Your takeaway has arrived ,同时设置了超时提醒,当外卖放置时间过长,会发出提示:111111111111 You didn't take the takeaway

        当我们将红外打到高电平,此时显示屏显示,has been taken,串口调试助手会显示 The takeaway has been picked up。

        按下清零,被清空,此时可以进行下一次放置。

3、仿真总结

        本次仿真设计借助了Proteus仿真,由于Proteus的限制,功能和实物呈现的效果有细微差异,但是大致仿真出了该系统功能。

二、硬件设计

        综合上述仿真设计的经验,我们接下来需要设计硬件,由于本次设计硬件上并不是难点,一般只需要一下接口然后放置外部器件就可以实现,绘制PCB也仅仅是为了美观整合这些模块:如下图:

1、原理图

2、PCB图

3、最终效果图

        本次设计在外观上呈现效果并不好,但是功能大致已经实现

三、软件设计

        1、Unicode

        本次设计的GSM模块利用串口进行通信,但是其编码一般要求是unicode格式,虽然也可以进行更改,将Unicode编码改为UTF-8,因为本次设计并不难,所以编码并不进行修改。号码是数字,量并不算大,所以在使用API函数进行编码转化并不是难事,如下:

/**********************************************************************
描述: ASCII 转 unicode      比如 '1'  转成 "0031"
****************************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值