基于esp8266+微信小程序的两关节机械臂(课设)
1. 机械臂概述
机械结构是某鱼上买,自己画也可以3D打印也可以(个人建议:预留舵机穿线的空间和舵机片的空间,之前diy其他东西的时候翻个车)。舵机是在某宝上买的,根据个人情况采购,注意要和自己的图纸尺寸对应。这个机械臂的动作由4个舵机控制,3个舵机x(底盘),y(第一个关节),z(第二关节),另外一个舵机e控制夹子的动作。通过微信小程序上的按钮可以控制各个舵机的角度,可以记录舵机的实时角度。这机械臂能通过小程序控制完成一些动作,可以自动复位到初始状态,后面再开发记忆功能。
2. 环境和IDE
IDE:arduino IDE和微信开发者工具(这是写小程序的工具,需要到微信公众平台注册,然后下载,详情百度或者B站)
环境:arduino里面没有8266这个板子的包,这个需要我们自己去安装这个环境详情推荐看这篇博文CSDN的博文(博主:半片心脏)
(这位博主有很多8266的文章,很牛逼!)
平台:巴法云物联网平台(开源和免费,用其他的云和平台也可以)
3. 机械臂的控制
舵机的控制由esp8266订阅在巴法云上的话题,获取小程序发布在主题上的消息(message),这些消息是控制舵机的指令(自己定义)。esp8266接收到这些信息后,进行解析(字符分解)后执行8266中封装好函数和程序,舵机就完成相关的动作。
舵机状态的上传,这跟前面的原理是差不多的。通过esp8266在订阅巴法云上的另外一个话题,将信息进行封装和发布到话题上。在小程序上显示需要通过巴法开放平台的httpAPI(网络接口),其实就是一个url,对它进行一些数据补充后就可以访问用GET方法这个平台的服务器获取数据,前面的发送数据也是类似只不过是POST方法(学过点爬虫,自己的理解有错误请指出。),得到数据之后进行解析和一些前端的操作就可以将它简单的显示出来。
代码:
https://cloud.189.cn/t/AVBbuyuiaame(访问码:p0vq)(代码还可以优化)
修改和配置机械臂:
第一步:配置好环境和准备好arduino IDE和微信开发者工具
第二步:先打开巴法平台https://cloud.bemfa.com/docs/#/,注册好,然后登录记住自己的秘钥(UID),最后创建好你需要的话题。
第三步:需要你去微信公众平台注册,,这里的AppID是个很重要的东西记得保存,并且开启一个微信小程序的项目。参考百度经验,配置request时,把https://api.bemfa.com;https://bemfa.com填进去(如果用其他的平台就用其他的,可以参考他们的文档进行配置)
第四步:用微信开发者工具打开文档wechat_min_ArmControl,配置UID和topic(这里面是你前面在平台发布的话题名)
第五步:用arduino IDE打开arm_sender文件,修改里面的WiFi名和密码、UID和TOPIC(话题名称)、setup函数里面的端口(你在8266上的端口,这个需要注意不同板子的端口功能不同,需要能输出PWM的端口),然后把程序烧录进去,在串口可以查看状态,也可以在巴法平台上看你订阅的话题设备是否在线,有没有消息等
第六步:修改小程序的中的代码。你可以自己增加东西和弄一些好看的UI界,里面的语言是js和xml。理解起来很容易,可以自己探索。弄完记得ctrl+s保存。然后上传代码,提交审核。小程序就上线了。这里需要注意的是你用是测试ID打开代码,需要自己新建一个小程序项目,把自己的那个ID填进去才可以上传。
总结:
这是一个我的第二个diy的东西,也是第一次完成课设,还是有点小成就感的。做这个东西的时候,我上网找了很多的参考资料,通过自己的一步步调试成功了,希望这个小东西也能帮助到你的项目。第一次写博文,如果有什么错误的地方,请大佬私信告诉我一下,及时纠错。