使用NodeMCU的基于物联网的机械臂
扫描二维码
随时随地手机看文章
自1962年问世以来,机械臂一直被各行业用于执行复杂而繁琐的工作。从装配线到喷漆车间,这些机械臂广泛应用于汽车制造业。最近,随着技术的进步和物联网(IoT)的出现,机器人手臂也开始在医疗应用中投入使用,医生可以通过无线控制机器人手臂进行远程手术。在这个项目中,我们将使用NodeMCU构建一个基于物联网的无线机械臂。
3D打印机器人手臂的位置可以通过一个名为Blynk的应用程序在任何支持互联网的智能手机上进行控制,该应用程序对Android和IOS用户都是免费的。我们以前使用Blynk与NodeMCU和树莓派来控制GPIO连接的设备。
3D打印你的机械手臂
如前所述,在这个项目中使用的机械臂是3D打印的,如果你没有打印机,你可以使用任何机械臂或用硬纸板制作一个粗糙的机械臂。3D打印机械臂的设计来自Thingiverse的这个链接。这个链接也有完整的详细视频显示制作和组装这个3D打印机械臂的过程。
这是我用4台Towerpro SG90伺服电机组装后的3D打印机械臂的图像。我只是简单地用螺母和螺栓来组装完整的机械臂。所有的信息都可以在thingiverse上找到。
机器人手臂Blynk应用程序的搭建
Blynk是一个物联网平台,允许我们快速构建项目来控制和监控使用Android和iOS设备的数据。我们可以创建项目仪表板,并添加按钮、显示器、滑块等控件,用于控制微控制器和其他外围设备。使用这些小部件,我们可以控制设备,并可以监控手机屏幕上的传感器数据。按照以下步骤安装Blynk并创建用于机械臂控制的仪表板。
1. 在您的手机上安装b谷歌Play Store中的blynk应用程序。
2. 接下来,使用电子邮件id注册Blynk应用程序。
3. 注册后登录Blynk应用程序。
4. 登录后,单击New Project。
5. 根据要求给出下一个项目名称,我们使用的板是“NodeMCU”,连接类型是“WiFi”。
6. 然后单击Create。并且一个认证令牌代码会发送到您的邮件ID。
7. 复制授权令牌代码发送到您的邮件ID,我们将在我们的NodeMCU编码中使用它。
8. 接下来,我们必须通过在小部件框中添加小部件来创建我们自己的机器人手臂控制应用程序。由于我们有四个伺服电机控制,我增加了四个滑块。
9. 添加滑块后。你可以改变每个滑块的名称和滑块值,然后是滑块设置。
这里我设置了
滑块1作为夹持器,设置为输出V0从0到180。
滑块2为左/右,设置为输出V1从0到180。
滑块3为UP/DOWN,设置为OUTPUT V2从0到90。
滑块4为正向/反向,设置为OUTPUT V3从0到60。
对于所有滑块,我已经关闭了SEND ON RELEASE。这样我们就可以在两个值之间保持100ms的写延迟。
10. 在用上述设置添加了所有的滑块之后,应用程序看起来是这样的。之后,您可以通过单击Play按钮来运行应用程序。
11. 现在我们的应用程序已经准备好了。下一步是进行电路连接并将代码上传到NodeMCU。之后,我们可以使用Blynk应用程序控制我们的机器人手臂。
组件的要求
•NodeMCU ESP8266
•伺服电机- 4
•机械手臂
•5V 1A直流电源适配器
•电路试验板
•连接电线
线路图
如上所示,我们总共需要4个伺服电机来操作我们的机械臂,因为这些电机不消耗太多的功率,它们是由1A适配器的5V直流电源直接驱动的。我已经使用面包板使上述连接;一旦连接完成,我的设置看起来像这样。
电路连接:
基于物联网的机械臂的工作原理
这个项目的工作非常简单,我们只是通过互联网从一个应用程序控制机器人手臂的四个伺服电机。NodeMCU有一个内置的ESP8266 Wi-Fi模块,因此我们可以将NodeMCU连接到互联网。接下来,在移动设备中使用Blynk应用程序,我们创建了一个应用程序,通过互联网发送值,以控制与NodeMCU连接的四伺服电机的PWM值。
在Blynk应用程序中使用了四个滑块。伺服电机由用户根据滑块的运动来控制。
为Arduino IDE设置Blynk和NodeMCU (ESP8266)库
这个物联网机械臂项目的编码非常简单,在文章末尾给出了完整的代码和工作视频。首先,我们需要Arduino IDE的Blynk库。按照下面的链接手动下载和设置。
1. 从这里的GitHub链接下载Blynk库。
2. 之后安装Blynk Library for Arduino请点击这里的链接。
因此,在为Arduino IDE设置Blynk库之后。其次,我们需要Arduino IDE的NodeMCU库。
要用Arduino IDE编程NodeMCU,请进入File - > preferences - >Settings。
在“附加板管理器URL”字段中输入,然后单击“确定”。
现在转到Tools > Board > Boards Manager。
在板管理器窗口中,在搜索框中输入esp, esp8266将在下面列出。现在选择最新版本的板并点击安装。
安装完成后,进入Tools >Board >,选择“NodeMCU 1.0(ESP-12E Module)”。现在您可以使用Arduino IDE对NodeMCU进行编程。
编码的解释
安装Blynk和NodeMCU (ESP8266)的库后。在本教程的末尾给出了完整的代码。代码通过microrousb线缆上传到NodeMCU。现在,让我们详细了解如何为这个项目编码。
1. 首先包括必要的库
对于ESP8266 (NodeMCU):
使用Blynk:
伺服电机使用:
2. 接下来,通过邮件收到Blynk认证码,并根据以下给出的代码输入Wifi用户名(ssid)和密码。
3. 在这个项目中,我们使用了四个伺服电机和机械臂,所以我们创建了四个带有伺服类的物体。
4. 接下来,在void setup()函数中,我们通过提供具有Auth令牌的Wi-Fi用户名和密码来初始化设备,并开始串行通信。
还初始化与NodeMCU连接的伺服电机PWM引脚,使用引脚D0,D1,D2,D3。
5. 然后根据从Blynk应用程序接收到的值控制伺服电机的位置。这里的虚拟引脚V0, V1, V2, V3用于从Blynk应用程序获取输入值,并将PWM值写入相应的伺服电机。
6. 循环运行Blynk函数
这就是使用Blynk应用程序远程构建和控制物联网机械臂的方式。
本文编译自iotdesignpro