电子说
如果您以前从未编写过代码,那么进入DIY Arduino机器人领域可能会令人生畏。如果您不能对微控制器进行编程,无论您的想法多么宏大,机器人都不会做很多事情。
幸运的是,有许多方法可以对Arduino进行编程而无需编写任何代码。今天,我们正在使用Xod来研究基本的机器人技术,Xod是一种基于开源可视化程序的基于节点的Arduino兼容IDE。
无代码机器人
今天的项目使用了一些标准的业余机器人技术来创建一个距离感应机器人手臂的原型。业余机器人通常将伺服和超声波距离传感器结合使用,您将添加一个LCD屏幕。
完成的项目将在LCD屏幕上记录距离值,并将伺服臂移入
有点想像力,这是一个机械臂,如果您离得太近,它会试图抓住您。
硬件要求
您将需要:
Arduino兼容板(该项目使用Uno)
16×2 LCD屏幕
HC-SR04超声波距离传感器
业余伺服器
10k电位器
220欧姆电阻器
5v电源
面包板和连接线
该项目需要一些组件,但是任何好的Arduino入门套件都应具备您所需的一切。我在Elegoo Uno R3入门套件中找到了所需的一切。另外,上面列出的每个组件都非常便宜,并且可以在所有业余爱好电子零售商处购买。
设置LCD屏幕
根据上面的Fritzing图,将LCD屏幕,10k电位器和220 ohm电阻添加到面包板上。
第一次设置LCD可能会很吓人,但请继续参考该图,您会得到的!为简化起见,我将LCD和Arduino引脚设置为与Arduino官方LCD教程中的引脚完全相同,因此如果遇到问题也请参考。
添加伺服和超声波传感器
现在将HC-SR04超声波传感器添加到实验板上。将 VCC 和 GND 引脚连接到面包板的5v和接地轨。将 Trig 引脚连接到Arduino引脚 7 ,将 Echo 引脚连接到 8 。
下一步,连接您的伺服器。接线颜色在这里可能有所不同,但通常红色连接到 5v 引脚,并棕色或黑色连接到 GND 引脚。数据线通常为黄色或橙色,连接至引脚10 。
最后,将面包板的接地轨连接到Arduino的 GND 引脚之一。而已!一切都准备就绪。
下载Xod IDE
前往Xod.io并下载免费的Xod IDE。适用于Windows,Mac和Linux。还有一个基于浏览器的版本,但是由于不能使用它来上传Arduino草图,因此不适用于该项目。
下载:适用于Windows,Mac的Xod IDE ,以及Linux
与Xod闪烁
首次打开Xod时,您会看到教程项目;或者,您可以在帮助菜单下将其打开。在左侧的项目浏览器中展开 welcome-to-Xod 集合,然后选择 101上传。
此节点设置用于测试代码是否成功上传到Arduino。它的功能与Arduino IDE中的眨眼草图相同。 clock 节点每秒创建一个信号。这连接到触发器节点,该节点在每次接收到信号时在true和false之间来回切换。触发器的输出连接到 led 节点,将其关闭然后再打开。
单击led节点,您将看到Inspector窗格更改为显示其参数。如上图所示,将 Port 更改为13,这是Arduino上带有板载LED的引脚。请注意,Xod会自动将13变成 D13 。您无需自己键入D,但是如果您这样做,则对本教程没有影响!
要测试其是否可以通过USB连接Arduino,请前往 Deploy》 Upload to Arduino ,然后选择正确的电路板类型和COM端口。
如果看到Arduino LED闪烁,那就好了!如果没有,请检查板卡和端口号,然后再次测试,然后再继续。
对LCD进行编程
通常,我们现在将进入漫长的编码过程,但是由于我们正在使用Xod,我们不会编写任何东西。在项目浏览器中,选择 text-lcd-16×2 -您可以在 xod/common-hardware 下找到它。将其拖到您的程序中,然后使用检查器按如图所示的销钉进行设置。
L1 是LCD的第一行, L2 是第二行,目前,我们已经对“ Hello World”进行了硬编码,以检查一切是否正常。将您的程序部署到Arduino,以查看其工作情况。如果您看不清文字,请尝试旋转10k电位器来调整LCD对比度。
现在设置距离传感器,并获取它
Distance Sensing
将 hc-sr04-ultrasonic-range 节点拖到您的项目中,然后设置 TRIG 和 ECHO 分别固定到 7 和 8 ,以匹配您之前的设置方式。
您将在项目浏览器的 xod/core 下找到 concat 节点。将其拖动到超声波距离传感器节点和LCD节点之间。您将使用它来将范围传感器的读数与您自己的一些文本连接起来(这是一个组合词)。
此图显示了正在发生的情况。范围传感器节点的 Dm 输出已插入 IN2 ,您可以看到Inspector将其标记为已链接。在 IN1 框中键入“距离:” 。现在,将concat节点的输出链接到LCD节点的 L1 。
保存并部署修改后的程序。 LCD的第一行现在显示了距离传感器的读数!
伺服设置
要使伺服器正常运行,需要三个零件,所以让我们一一讲解它们。首先将 map-clip 节点从 xod/math 拖动到程序中。该节点从范围传感器节点的 Dm 输出中获取信息,并将其映射到伺服器可以理解的值。
Smin 和 Smax 表示激活伺服的最小和最大范围,在这种情况下介于5到20cm之间。这些值映射到 Tmin 和 Tmax ,它们设置为0和1作为最小和最大伺服位置。
xod/core 下的 fade 节点获取map-clip节点的输出值,并以定义的 rate 。这样可以防止任何不必要的伺服运动。比率2是一个很好的平衡点,但是您可以在此处尝试不同的值,以使伺服器反应更快或更慢。
最后,《您可以在 xod-dev/servo 下找到的strong》 servo 节点,从衰落节点获取输出值。将端口更改为 10 。您可以将 UPD 留在 Continuously (连续)上,因为我们希望根据范围传感器对伺服器进行连续更新。
保存您的脚本并将其部署到Arduino板。机械臂原型已完成!
对其进行测试
现在,当您将物体放在距离传感器附近时,LCD会记录距离,伺服将与检测到的距离成比例地移动。所有这些完全没有任何代码。
完整的节点树显示了在Xod中创建复杂程序的简单性。如果您有任何问题,请仔细检查电路和每个节点是否有错误。
无代码Arduino机器人
Xod允许任何人对Arduino板进行编程,而无需考虑编码知识。 Xod甚至可以与Blynk DIY IoT应用程序配合使用,从而使完全免费的DIY智能家居成为现实。
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !