在宿舍上床之后总是想开灯玩手机和室友一起打会儿游戏,故做此改造

前言展示

废话不多说,先上效果图

V1.0 参考网上的教程

1.jpg

V2.0 考虑到宿舍有两个灯,这不直接整上双开关

2.jpg

V3.0 舵机的固定方法和板子的固定方法改进,爽!

3.jpg

控制方式一开始使用了别人示例的点灯科技 APP,但感觉不够酷,所以使用 NoneBo 机器人框架接入了QQ机器人,这样室友也能用了。

_IR0U_D~DY5@9X~GN01Y8BH.png

开灯1、关灯1、开灯2、关灯2可以单独操控一个舵机

具体过程

想来想去本次过程似乎也没有太多可以记录的,总体流程为我向我的 QQ 机器人发送消息,经由自己编写的插件处理后,通过 MQTT 通信话题收发机制(说起来跟 ROS 十分的相似),向 ESP 8266 开发板发送消息,ESP 8266 接受消息后控制 PWM 波的输出从而驱使舵机发生旋转。

值得注意的是,建议把机器人插件中的topic(”test/status”)和topic_reply (”test/reply”)更换成随意的另外名字并把 esp 8266 的代码中相应的值改成你更改后的名字,如果都在用相同的话题,显然,A 的机器人会控制 B 的开关。第二点是把 wifi 换成你的账号密码。

舵机供电

舵机建议供电是 3V~7V 似乎,一般推荐 5V,但是 ESP8266 上只有 3.3V,带一个勉强能用,带俩很吃力,基本没力了,总电流变大,板子迟早是会有问题的(或许)。所以想了个办法,原本的 micro-USB 还是给板子供电,然后再拉一根 micro-USB,把 micro-USB 端剥开,取出里面的 0V 和 5V 电线,用来给舵机供电。其中要注意 0V 必须和板子共 GND,理论上来说这个 0V 插到板子的 GND 上即可共地,舵机取电从其他几个 GND 拉就行了,但是我没成功,很奇怪,可能是我的 0V 虚接了。我现在共地是用了一个有两个 USB-A 的排插,刚好合适。

如果你想复刻

3D打印件下载地址

QQ机器人插件<—机器人搭建教程

ESP 8266 板子的代码