LEGO和Arduino的机器人,避免障碍





我们喜欢乐高和疯狂电路[兼容乐高的电子产品/约 翻译],因此我们决定将它们组合成一个可以避免障碍的简单有趣的机器人。我们将向您展示如何组装这种机器人,并详细描述该过程。您的机器人版本可能与我们的版本不完全相同。



这是所需的电子和乐高零件的列表。随时尝试使用它们。















组件



电子产品





对于我们的项目,我们选择了一个小型外部电源,该电源可以紧密地适合我们的机器人。您可能必须设计自己的外部电源或一组电池。



乐高积木



我们使用了各种细节,建议您根据自己的意愿和实际情况进行操作。重要的是,您必须有一种将伺服器固定在底部的超声波传感器上的方法,以便使其向前看,并以某种方式固定电路板和电源。为此,您可以使用双面胶带,松紧带,魔术贴。在BrickOwl商店中有指向我们作品的链接,但是,您可以在出售乐高和兼容套件的任何地方购买它们。





步骤1:建立乐高底盘







我们从6×12乐高积木板开始,这是我们满意的最小尺寸。您可以使用较大的一个,但较小的将更困难。



机器人的宽度取决于我们可用的外部电源,因为我们需要能够将其滑动到位。更大的电池将需要更大的机器人。



机箱必须足够高,以容纳电池和顶部的板。



步骤2:添加轮子































每个伺服器必须放置在机箱下方。结果,我们需要以下组件:



  • 带限位器的Axle 4 LEGO(87083)
  • 乐高集线器(32123/42136)
  • 圆形乐高积木2 x 2(3941/6143)


要固定两个电动机,每个组件需要4个零件。固定好它们之后,添加一个轮子:LEGO Wedge Belt Wheel(4185/49750)。



与其他乐高模型一样,有很多选择!我们成功列出了这些组件,但是您可以尝试其他方法。



步骤3:添加视频



















我们的压路机使机器人可以在两个电动轮上作为第三轮在平面上滚动-这使机器人更容易旋转和移动。



为了保护它,需要以下详细信息:



  • 乐高EV3技术球枢轴套装5003245
  • LEGO Technic十字交叉横梁3,带四个销钉(48989/65489)
  • 乐高技术砖1 x 6带孔(3894)


在以前的版本中,我们仅将圆形乐高积木用于“腿”,并且在光滑的表面上效果很好。但是没有在地毯上或不光滑的地板上工作。如果没有滚轮,请考虑使用此“腿”。



第4步:添加距离传感器















超声波距离传感器必须安装在机器人的前部,以便它“看到”前进的方向并了解何时停止以免与障碍物碰撞。



对于传感器,我们3D打印了兼容乐高的外壳。该模型已发布在Thingiverse网站上:www.thingiverse.com/thing:3171004



如果您没有3D打印机,请弄清楚如何使用乐高积木,胶带,橡皮筋,扎带等固定传感器。重要的是,他直视前方-机器人向前移动时会向何处移动。



步骤5:添加板



















费用是整个手术的大脑。它位于乐高积木的顶部,因此易于安装。



通常,机器人板与导电胶带配合使用,可以使您直接在乐高玩具上修补电路,但是由于我们只有两个电机和一个距离传感器,因此可以将它们直接连接到板上的引脚。



我们放置板子的目的是为了方便插入USB电源线。我们很幸运在电缆盒中找到一条非常短的USB电缆。



现在,您可以连接传感器和电机了!



对于传感器:回波连接器应连接至电路板上的引脚3,触发连接器应连接至引脚5,VCC至5 V,Gnd至GND。因此,传感器将获得电源并与板通信。



然后,您需要连接每个电动机。这很容易做到-棕色线连接到GND,红色线连接到5V,橙色线连接到D6(左侧电机),右侧D9。



第6步:对机器人技术委员会进行编程







在机器人可以工作之前,必须将代码加载到微控制器中。在执行此操作之前,请确保您在计算机上安装了最新版本的Arduino IDE



我们将代码上传到GitHub上的存储库:



github.com/BrownDogGadgets/CrazyCircuits/tree/master/Projects/Avoidance%20Robot



代码很简单,其中有很多注释,因此很清楚是什么引起了什么。



您还将需要NewPing库



bitbucket.org/teckel12/arduino-new-ping/wiki/Home



第7步:让机器人行走















构建了机器人并将代码加载到其中后,您就可以进行测试了!



最简单的方法是插入外部电源,然后让机器人前进。如果您将手放在他面前,他必须向后移动,转身并再次前进(确保他不要离开桌子!)



我们建立了一个简单的六角形纸板“竞技场”,以便机器人可以骑乘。不要害怕尝试自己拥有的东西。



第八步:进一步发展











如果您对开发此项目感兴趣,请考虑以下问题:



-组装机器人时您学到了什么?

-是什么影响了您对零件的选择?

-如果增加轮子,机器人会更快吗?



该代码中有两个变量,要进行更正,您将更改它们,以更改检测到障碍物时机器人后退的时间以及该机器人转弯的时间。尝试交换goBackwardTime和turnRightTime,看看它如何影响机器人的行为。



//     

int goBackwardTime = 1000;

//    

int turnRightTime = 1000;




也可以看看:






All Articles