LanternD +

【DIY】花式喂猫器

起源

 去年我和MS报名参加了2017年1月20-22号的SpartaHack(官网的UI很抽象,动画很华丽,但是没啥内容……)。这是一个MSU自己办的Hackathon活动。这个活动号称做什么东西都可以,只要和编程有关就行。

 然后就有了做个自动化喂猫机器(以下简称「机器」)的想法。然后就有了这篇日志。不想看长篇大论的直接拖到后面看Youtube视频即可……

目标

 这个东西的目的是能通过语音控制来触发机器工作,然后放出一定数量的猫粮,这样猫就不会因为狂吃而变胖了(平时人们一般会把猫粮盆装满,快没了再加一拨)。同时机器能够自动设定时钟,如果超过一天(86400秒)没有收到语音指令,那么就会自动喂一些猫粮以防猫饿死……

 编程部分对我来说那是相当简单(下面提到),所以功夫主要花在把这个机器做出来上。

思路

硬件

 通过电机旋转,带动主轴旋转,主轴上的凸轮机构把旋转运动变成直线进给运动,推动厚木块运动,把猫粮推机器,滑落到猫粮盆里面。我还录过一个SolidWorks的Motion Study动图发在Instagram上,可以围观

SolidWorks

 当然,原理不是我想出来的,虽然以前机械学学过凸轮机构,但主要启发来自Youtube上的日本DIY大牛Denha的视频,另一个随便找的类似的视频可以围观这里

 和视频不一样的是,猫粮是消耗品,就不用做视频里面抬升钢珠的机构了。我只需要一个大的容器放在上面,利用重力的作用让猫粮下落到凸轮推进机构上即可。

 整个机构两边需要两块木板把固定住,然后还需要两块小木板支撑电机、轴承和主轴。大体上就是这样一个结构。我就不深入描述了,要是想象不出来直接往下看就行了,一图胜千言。

软件控制

 为了实现语音控制,我们第一个想到的就是Amazon Echo,亚马逊自己推出的语音音响,似乎目前只在北美和德国上市,可以想象成一个能连蓝牙和WiFi的音响加上了Siri语音助手类似物(叫「Alexa」)。注意,Echo是设备,Alexa是语音服务,就像苹果手机和Siri关系一样。

 正常来说要和Amazon Echo连起来也不是那么简单的事,首先开发者账号这些东西都得注册:

 然后又有两种Skills可以用:

 区别主要是:SHS能连接其他的云设备网络,控制设备(主要是家电)的启动、停止、温度调节,主打智能家居。而CS则主要用来和各种网页或者API交互,至于和什么交互,如何交互是开发者自己决定的。

 打个比方,CS可以用来Uber叫车,用来订Pizza,用来查天气等等,这些SHS都做不来。

 我个人感觉SHS是CS的子集,只是说SHS把常用的服务都集成好了,用来做智能家居方面开发比较便捷。Amazon Echo生成给用户的语音也是开发者自定义的,而SHS这方面会有限制,总体来说肯定是CS可玩性更高。

 说了这么多其实我采用了曲线救国的方式——上面两个都没用。我为了对付SpartaHack学习了上面两个东西的用法,所以po在这里希望可以给路过的提供一些信息。

 取而代之的是,我找到了一个Python库,叫做「Fauxmo」。运行这个程序的设备可以模拟成一个WeMo开关(一个做智能家居的牌子),并能够被Echo发现和控制。

 这个简直神器。有了它就可以把家里的设备变成「家庭物联网」模式,而不经过各种设备云(Device Cloud)。咖啡机、烤箱、灯等等这些东西都可以变成语音控制的。

 还是直接进入正题吧。

材料工具一览

材料

 (用一下英制单位以表面我对其的痛恨,1 inch = 2.54 mm,1 foot = 30.48 cm)

工具

零部件切割

 由于板长宽高等等我都设计好了,所以只花了几个小时就把需要的材料都切割出来了。下图并不是全部,还有些零碎的。

Materials

 最费劲的是装轴承的小板的切割。轴承的孔比较大,而小木板却不大,这就导致了开孔的时候特别容易断裂。总而言之费尽周折终于弄完了。

组装工的生活

 高级一点的木工当然不会像我这样用胶水把全部东西粘起来了,不但费时,而且拆卸成本太高,容错率低。但是我这处于初级阶段,很多木料的加工工具都没有,所以只能用这种原始的方式。

Motor installation

Side plates installation

Motion unit installation 1

Motion unit installation 2

 连上电机看看好不好使。

Motion unit installation 3

Side view

 安装辅助板(上图薄的那几块),夹住滑块并形成导槽。这里花了我们最多时间。辅助板只需要热熔胶相对固定就好了,胶水粘死容易出问题,不好调整。最主要是要留出间隙,这样滑块才能运动。

Combination

Finish 1

 底部细节图:

Finish 2

 虽然能用,但是一点也不精致,哈哈。等我以后用亚克力板重做一个,一定会更有科技感……

控制部分

 继电器作为开关连到电机上电源为5V,这个比较简单就不说了。说说树莓派这边。

Circuit part

 上面软件控制一节也已经说得比较清楚了。整个流程是:

真·完工

 加上Alexa效果图若干:

Finish 2

 效果最后就是对Echo喊「Alexa, turn on Candy Shower.」(演示的时候我们取了另一个名字),然后喂猫粮机器工作15秒,放出一杯左右的猫粮。中间也可以响应「Turn Off」命令,不过没什么必要。

Youtube视频戳这里

末尾补一丢丢

 为了一只猫可真是煞费苦心,虽然也「其乐融融」。SpartaHack真是累的不行,两天睡了也就8个小时(其他组的可能更少),导致我到现在还不想碰这个东西(还需要很多改进和优化)。所以这喂猫机器也没有在真正在家里使用。还有就是我发现树莓派可玩性略高,所以还在慢慢开发别的东西,摆在喂猫粮的地方那可就浪费了。

 下一步是尝试使用ZigBee建立家庭小规模物联网,这样可以实现在网站上控制家里的各种灯和电器。这个喂猫机器到时候将作为首批试点家电进行测试,啧啧,嗯嗯……说得好像不会烂尾一样。

LanternD
LanternD_Logo






订阅

RSS订阅 微信公众号

文以类聚

更多『hitech』分类的文章