用OBLOQ - IoT物联网模块制作一台远程调酒机(学科标签)
【视频展示】:https://v.qq.com/x/page/u0773lk6lio.htmlDFROBOT的microbit + OBLOQ的挑战赛,现在已经进入第三轮:非凡之旅。比赛的主题为:不限主题,放飞自我,利用micro:bit与OBLOQ物联网技术实现你的一个想法。
本轮规则: 1.不限物联网平台,意味着你可以使用EasyIoT或者第三方平台例如IFTTT等,甚至自建服务器; 2.不限硬件,不限厂商。 3.不限编程平台。爱写代码写代码,爱图形化编程就图形化,随便你。
【项目简介】 对于这种“三无”比赛规则,我们可以把他理解为“胡来”…… 开Party自然离不开酒来助兴,为了能够开派对时不必再雇佣调酒师,或是每天都能轻松地品尝到美味的鸡尾酒,于是制作一台远程调酒机的想法诞生了。 具体功能如下: 1.提供三种口味酒水混合。 2.通过手机端或网页端设定相应剂量,从而可以产生需要的酒水。 3.记录三种酒水的用量,上传到服务器端。为后续数据分析提供基础数据信息。【硬件材料】 micro:bit 编程入门开发板 Micro:Mate—最小的micro:bit多功能I/O扩展板 Gravity: UART OBLOQ - IoT物联网模块 数字蠕动泵 M3*20扁头内六角螺丝 10套 M3*25扁头内六角螺丝 10套 M3*30扁头内六角螺丝 10套 3D打印结构件
【制作过程】 一、为什么选择蠕动泵:图2 蠕动泵通过对弹性泵管交替挤压和释放来输送流体,除泵管以外,流体不与泵的任何部件接触,不会污染输送的液体,因此可用来输送各种液体,甚至输送一些带颗粒物的液体。因此它可以在食品、医疗等行业中也有着广泛的应用。
另外蠕动泵套件,提供简单易用的Gravity接口、舵机PPM信号的驱动方式,大大简化了使用难度,因此可以方便的使用Arduino、树莓派、micro:bit等控制器进行控制。
二、水泵校准 水泵的校准是在Arduino下进行的,该代码有两个模式,调试模式和正常模式。在正常使用模式下,将debug赋值为0。写入代码后,水泵会运行,按下按钮后,水泵会停止,再次按下后会继续运行。长按按钮,则水泵持续运行。在正常模式下让蠕动泵工作一段时间后按下按钮停止。让进出水管中充满液体,从而经可能的减少导流管内液体对校准产生的误差。图3 图4 将debug赋值为1进入调试模式。先用量杯准备好10ML的液体,将进水口放入其中。 在调试模式下,进入流量校准模式。在串口调试串口,输入STARTCAL回车后进入校准模式。图5 蠕动泵将运行一段时间,读取量筒剩余溶液度数后,用10ML-剩余容量=泵取溶液容量。将数据用“SETCAL:XX”(XX表示读取数据、英文标点)输入后回车。我这里测得数据为8.2,因此串口输入:SETCAL:8.2。图6 图7校准结束。图8学科标签:量筒的规格及使用方法 量筒是化学实验中常用的一种仪器,学生们应该要掌握量筒的度数的基本操作。化学实验操作中,正确的量筒读数方法是:量筒水平放置,视线与量筒内液体最低凹液面处保持水平,再读出所取液体的体积。即:眼睛、刻度线、凹液面的最低处,三点保持在同一水平线上。 量筒读数的正确流程是 ①读数前,当往量筒中注入液体后,一般不要马上读数,要让附着在量筒内壁上的液体流下来再读数,否则读出值会有偏小。 ②读数时,平视是正确的读数方法。仰视和俯视是两种错误读数法,如果仰视(从下往上看)读出值会小于实际值,俯视(从上往下看),读出值会大于实际值。 如图:量筒内液体实际体积为44ml,仰视时会误认为液体体积为43ml,即读出值偏低,俯视时,会误认为液体体积为45ml,即读出值偏高。
此外,我们尤其要注意一点,仰视和俯视确实会导致误差,但是读数和实际数值相比,究竟是大还是小,还和刻度线的朝向有关系。这一点同学们尤其要注意。
三、电路连接 分别对三个数字蠕动泵进行校准操作后,即可使用。本项目电路连接如图所示。图9olbog模块(Green——A1,Blue——A2)Pump1模块——P8Pump2模块——P12Pump3模块——P16
四、结构设计 主控部分 为了主控的美观和防止水溅到主控上而影响设备使用,我们这里为主控加了一个外壳水泵部分:图11由官方给出的水泵结构尺寸图。我们对水泵固定件进行结构设计如下图所示图12水泵固定件设计图图13水泵固定件打印图
图15水泵固定件安装图图16水泵固定件连接件设计图图17水泵固定件连接件打印图
图22支撑架设计图 图23底部固定图26整体安装效果图完成安装后按电路连接的顺序连接相关电路设备四、注册账号设备添加: 登陆https://iot.dfrobot.com.cn/index.html完成用户注册及设备添加。drink控制水泵三个水泵运转时间,也就是控制不同酒水的量,drink num 分别记录三种酒水消耗的量。图27 五、代码编写 添加OBLOG软件包 进入https://makecode.microbit.org/---下载程序,解压,导入makecode---高级---添加软件包或者输入网址https://github.com/DFRobot/pxt-Obloq---添加OBLOQ软件包。图28程序初始化如图所示 本项目涉及两个topic,一个topic对应设备H1eCzeVIm既控制三个水泵运行时间的,另外一个topic对应设备By17kfBDX既上传各种酒水用量的。控制部分程序如图所示图30用于从字符串中提取对应地址的字符。注意地址是从0开始,例如我们输入“789”字符串,当at后参数为0时,获得的字符串为7,at后参数为1时,获得字符为8。图31用于将字符串转换为整型数字。图32以此实现对泵运行时间上的控制。
【运行测试】 进入工作间,对“drink”发送数据“888”,“666”,“555”如下图所示图33进入工作间,打开“drinknum”查看数据如下图所示。记录了三种饮料的使用量。图34
图35后记: 虽然远程调酒机的基本功能已经实现了,但是依然存在很多问题,例如当没有网络信号时如何进行调酒(与硬件有一定关系);如何检测某种酒水瓶中的酒已经用完,并给出相应的提示信息;如何在制酒操作上给用户一些相应的提示……这些方面将是后续改进的方向。
陈老师 懂喝酒的创客:lol sunkf 发表于 2018-8-31 17:36
陈老师 懂喝酒的创客
一个酒量很一般的创客 这个,我觉得我们可以玩各游戏,就是把远程开关释放出来,我们点多少,然后你喝掉,哈哈哈哈。 微笑的rockets 发表于 2018-8-31 22:09
这个,我觉得我们可以玩各游戏,就是把远程开关释放出来,我们点多少,然后你喝掉,哈哈哈哈。 ...
rockets上酒{:5_116:} 一直想买个蠕动泵,商城里搜了下好像没有啊!版主特供? digi_cow 发表于 2018-9-1 07:50
一直想买个蠕动泵,商城里搜了下好像没有啊!版主特供?
英文商城 digi_cow 发表于 2018-9-1 07:50
一直想买个蠕动泵,商城里搜了下好像没有啊!版主特供?
www.dfrobot.com digi_cow 发表于 2018-9-1 07:50
一直想买个蠕动泵,商城里搜了下好像没有啊!版主特供?
pump hnyzcj 发表于 2018-9-1 11:20
pump
这还美金结算?你是英文商城下单买的? 你要买吗,找我好了 hnyzcj 发表于 2018-9-1 15:56
你要买吗,找我好了
我加到采购清单里:lol lz好用心。 好东西,搞一个上班偷着喝:lol 打印组件填充度是多少? gray6666 发表于 2018-9-13 09:44
打印组件填充度是多少?
40% hnyzcj 发表于 2018-9-13 10:46
40%
:))谢谢
创意不错,学习了 很好,学习一下。
页:
[1]