构建一个可以避开障碍物的“乐高人”
扫描二维码
随时随地手机看文章
每个人都知道电影Wall-E(如果你不知道,现在就去看吧!)和试图清理地球的黄色英雄。在这个项目中,我用了一个乐高版本的小朋友,教他如何避开障碍物。这是我的第一个项目,也是一次很好的学习经验,让我了解了电子的基础知识。
步骤1 -代码
作为一名软件开发人员,我考虑了我想让他做什么,然后开始编写代码。
当你断开运行的电机时,电压尖峰可能会发生,并损坏你的电子设备。因此,我让瓦力在做任何事情之前等两秒钟。这意味着我可以按下Arduino上的重置按钮,快速断开电池,而不会损坏任何东西。
他醒来后会弹一小段旋律,然后开始开车。当他看到障碍物时,他会停下来,发出“啊哦”的声音,然后环顾四周,确定最佳路线。我使用的这种红外传感器背面有一个小螺丝,可以让你确定它产生信号的距离。这就是为什么代码中没有距离计算。(我想先用超声波传感器,但不适合他的眼睛。)
瓦力首先检查左边是否安全,然后检查右边是否安全。如果两边都被堵住了,他就会像工地上的重型机械一样发出哔哔声,然后转向一个随机的方向继续前进。如果只有一边被阻挡,他继续向另一边前进。如果两边都是自由的,他会随机选择一个,然后继续前进。
我试着让他做随机转弯,但那部分还没有完成。我正在尝试使用内置的Arduino计时器。如果你有如何优化它的想法,请在评论中告诉我!
步骤2-给他接上电线
第一件事就是把红外线传感器装进眼睛里,这样就不会太明显了。我把它拆开,用强力胶把乐高别针粘在传感器上(这样他的眼睛就可以上下移动了),然后用蓝胶把乐高积木粘回传感器周围。
马达最重要的一点是要有足够的扭矩,因为瓦力的轮子需要很大的力才能移动。我必须把电线焊接到马达上,然后把它们固定在乐高积木上。所以我拆开了他的轮子,订购了一整袋的乐高技术别针,用石膏胶带(你是这么叫它的吗?)它就像柔软的胶带,可以粘在你的皮肤上,然后把它们粘在两个销上,这两个销就成了每个车轮的主轴。这种方法只起了几分钟的作用,但随后摩擦力太大,胶带上的胶水无法承受。幸运的是,技术大头针在侧面有小凹槽,所以胶带确实有一个地方可以抓住,在被强力胶浸泡后,他们很高兴地做到了。
我还取下了他的胸部的一部分来插入LED。然后我连接了所有的部件和Arduino。
马达防护罩刚好能塞进他的肚子里。
图表也不是很清楚,但我试着用颜色来标记电线,以便更好地概述:
按照惯例,所有红色电线都是正极(“输送”电),所有黑色电线都是负极(“接收”电)。右上方的黄色导线携带红外传感器的信号;橙色和绿色的电线用于三针双色LED,紫色的电线用于告诉电机屏蔽到哪个方向转动电机,蓝色的电缆告诉电机屏蔽转动它们有多快。
电机屏蔽有一个很好的教程,使其易于连接和使用。不幸的是,fritzzing部分没有设置速度的两个引脚,所以蓝色电缆只是随机结束在图中的电机屏蔽上。
另一个问题,我所面临的,而把它们粘在一起是缺乏电压和接地引脚。我想直接通过电机屏蔽给电机供电,这样它们就能获得尽可能多的电力,但我必须以某种方式给Arduino和红外传感器供电5V。所以我做了网上几乎所有人都说我不应该做的事情:我将电机屏蔽的5V输出连接到Arduino的5V引脚上作为输入。现在有了我正在使用的屏蔽,我可以绝对肯定它输出一个稳定的5V,没有任何可能损坏我的Arduino的讨厌的尖峰。如果你把一个不规范的电源连接到那个引脚上,你可能会烧东西。一开始我想用Vin引脚,但那个引脚有一个内置的机制来调节一切,所以我的5V会变成3.8V左右,这不足以让Arduino正常工作。相反,我用免费的Vin给5V的红外传感器供电,因为我没有任何电缆分离器,我知道那里也会有5V出来。是的,在这一点上开始感觉有点像弗兰肯斯坦。但它成功了!
步骤3 -瓦力在行动
瓦力的第一次测试!
在这里,我测试了如果他被困在角落里会怎么做。
瓦力正试图从角落里出来
这是我的第一个小项目。我现在计划优化电缆连接,也许添加一个伺服电机,这样他就可以转他的头。我甚至可能会买分离器和一个更小的电机屏蔽和板,这样我就可以把所有东西塞进他的肚子里。
本文编译自hackster.io





