用街头黑科技,一起贩卖夏日快乐!-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3160|回复: 1

用街头黑科技,一起贩卖夏日快乐!

[复制链接]
发表于 2021-7-16 20:07 | 显示全部楼层 |阅读模式

炎炎夏日,冰爽的饮料、冰镇的西瓜从不缺席......当然,还有头顶那火热的大太阳。近日,涂鸦“攻城狮”小张与几位好友约在球场一较高下,场上跑了半小时,急刹车......



口干舌燥的他却发现四周竟没有卖水的地方,在步行一千米后,眼前终于出现了一家便利店,这才“吨吨吨”地大口喝水。




想象下六七个壮汉好不容易喝到水的那一刻!




(对不起!没忍住)
此时,小张想起自己每逢路过地铁站,都会看到地铁口设置有专门售卖口罩的自动货柜,来解决消费者忘戴口罩或口罩损坏的燃眉之急,在办公室,茶水间都会放置一台零食、饮料贩卖机,消除午后办公的疲惫……

那么,在篮球馆配备饮料自动售货柜,打球间隙补充水分是必然的需求!小张脑海闪过一个念头,不如自己 DIY 一台自动售货机,以解决打球人士的夏日困扰。

心动就要行动,小张马上支棱起来~
1
硬件设计
智能售货机整体硬件方案由主控单元、电机驱动控制单元、电机到位检测单元、无线通讯单元和其他外设单元组成。
整体方案图如下:



1、主控单元
主控采用涂鸦的一款 4G 芯片。该芯片基于 ARM 架构的高密度性能 32 位微处理器,主频最大可支持 72MHZ,多达 11 个定时器,内部集成了复位电路、低电压检测、调压器和精确的 RC 振荡器电路。
2、供电单元
自动售货机主要包含以下几个部件的供电:
主电源:需要输入 24V 直流电作为主电源。该 24V 直流电可以直接接 MOS 管作为售货机中电机的输入电源。
无线通信单元:供电电压为 4V,可以使用 LM2576 这款 DC-DC 稳压芯片将 24V 转换成 4V。
主控单元芯片:一般供电电压为 3.3V,采用 S-1206B33-U3T1G 这款 LDO 芯片将 4V 电压降到 3.3V。

3、电机驱动控制单元
采用 74HC595八位串行输入、并行输出的移位寄存器用于提供输出各个电机的控制信号。
4、电机到位检测单元
采用 74HC165八位并行输入,串行输出的移位寄存器用于检测电机转动位置情况。
5、无线通信单元
采用涂鸦智能开发的一款 LTE Cat.1 蜂窝网络模组,用于售货机和云平台的信息交互。
6、其它外设(您也可以根据开发的需求自行设计)
增加网络指示灯,用于表示当前网络状态。
增加电源指示灯,用于表示当前电源状态。
增加温度传感器,用于检测售货机内部温度。
增加掉落检测装置,用于检测物品是否确实掉落,形成反馈。
增加多路按键,用于需要实现某种特定的按键功能。
增加 RS-485 通信接口,用于售货机与其他 RS-485 设备通信,增强联动性。
增加液晶显示单元,用于人机交互。
完成以上硬件的设计后,可以根据结构尺寸,设计对应的 PCB,并且完成焊接,测试等工作。

2
创建产品
登录涂鸦 IoT 平台,单击创建产品。在标准类目导航栏中,选择 户外出行 > 智能电动车(因自动售货机和智能电动车主控同为 4G 模组,所以归类于“户外出行”中)。
注:创建产品具体操作可以参考平台内操作指导




3
嵌入式开发
我们的智能售货机软件包已经开源在 GitHub 上,您可以自行下载。
注:GitHub 具体地址通过关注“涂鸦开发者”,回复“自动售货机”,即可获取哦~
这里有两点需要注意:
1.在获取 MCU SDK 后需要将 SDK 文件添加到自己的工程中,根据编译中的错误信息逐个修改。
注:具体移植方法详情可通过关注“涂鸦开发者”,复制“ MCU SDK 移植”到回复栏,即可获取哦~
2.由于 MCU 和选择的 PIN 脚不一定相同,需要根据实际的硬件来处理。
安装好开发包需要设置以下串口和芯片的驱动:(具体操作方法请参考GitHub上完整历例程)
串口配置
串口接收数据
串口发送数据
读取74HC165数据
发送74HC165数据
下发的串口事件处理
4
编译与下载
程序编写完成之后,单击Build 并根据软件提示修改相关错误或者警告信息。
待程序编译通过之后,就可以下载到开发板中进行调试和测试。

STM32 支持 ST-Link ,J-Link 等工具下载,这里我们以 ST-Link为例,引脚连接方式如下:




连接无误后,单击 Download把程序下载到开发板中。
5
操作演示
打开涂鸦智能 App,在 Item 输入栏中输入 XXYYZZZZZZZZ,其中:
XX 表示第 X 个货道;
YY表示货道上剩余的物品数量;
ZZZZZZZZ 为订单号(可以为任意值)。
例如:输入0104aabbccdd,表示第 1 个货道剩余 4 个物品,订单号为 aabbccdd。数据发送成功后,可以看到电机开始转动,当物品掉落后,电机停止转动。

注意:当前货道的物品剩余量务必要和输入物品号相同,比如第 1 个货道有4个物品时,只有输入 0104 才会有效,输入 0105 或 0103 等其他值,电机都是不会转动的。




这样一款采用 MCU SDK 低代码开发,最大限度节省升本,支持手机 App 自助交易和 24 小时分发货物的自动售货机就完成了!方便自己以及身边人的生活,快来 DIY 专属自动售货机,贩卖快乐~

发表于 2021-7-16 21:09 | 显示全部楼层
本帖最后由 frankhan747 于 2021-7-16 21:15 编辑

拿什么做宣传不比DIY自动售货机好使
XD.JPG
麻袋上绣花真是笑嘻了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-20 06:13 , Processed in 0.074827 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表