说到这个“机器宝宝”,就是我瞎折腾的一个小玩意儿。
起因也简单,有次逛商场,看到小孩那些个机器人玩具,死贵死贵的,功能也就那样。我就琢磨着,自己能不能也捣鼓一个出来?纯粹是手痒,想找点事干干。
开工准备
第一步,肯定是买零件。
这事儿不能含糊,但也不能瞎买。我就在网上淘了些基础的,什么控制板,我选了个大家都说挺好上手的板子,具体型号忘了,反正是便宜货。然后是小马达,得配轮子,不能让它原地趴着。还得有个能“看”东西的传感器,搞了个超声波的,据说能测距离。是电池盒和一些杜邦线,乱七八糟的一堆。
零件到手了,就开始组装。
我先把轮子装到马达上,然后把马达固定在一个小塑料板上,这算是底盘了。控制板和传感器也找地方固定看着挺简单,真动起手来,螺丝拧不对孔,或者发现买的支架不合适,都是常事。
过程中的折腾
然后就是接线,这一步最头疼。
线又多又乱,颜色还不一样,对着网上找的图纸看半天,生怕接错了烧掉哪个零件。小心翼翼地接上去,通电试了试。一个轮子转一个不转。
- 检查接线,没问题。
- 换个端口试试,还是不行。
- 查来查去,发现是那个马达驱动模块,可能是我接线时候不小心短路了,给弄坏了一个通道。得,又重新下单买了个驱动模块,等了好几天快递。
这回学乖了,接线前反复确认,通电前再三检查。总算是让两个轮子都能听话地转起来了。
接着是上代码,让它动起来。
我对编程也就是半吊子水平,只能是网上找点现成的代码,修修改改。先让它能简单地前进、后退、转弯。这个还调了调速度,让它跑得别太快,免得一头撞坏了。
难的是让它能自己躲开障碍物。那个超声波传感器,一开始怎么都用不
- 读回来的数据老是跳变,一会儿远一会儿近的,很不稳定。
- 试了好几种别人写的库,效果都一般。
- 后来没办法,自己加了些处理逻辑,比如连续读几次取个平均值什么的,稍微稳定了点,但还是感觉傻傻的。
写那个自动避障的逻辑,也费了老大劲。它探测到前方有障碍就只会后退然后右转,结果经常把自己憋到角落里出不来。后来又改成探测左右两边距离,判断往哪边转空间更大,这才稍微智能了一点点。
弄出来的效果嘛..
就是一个能在地上跑来跑去的小车子。看着挺简陋的,线还露在外面,用胶带固定的地方也不少。
前面放个东西,它能模模糊糊地感觉到,然后尝试着倒车、转弯绕开。有时候绕得挺显得挺聪明;有时候就反应迟钝,直接撞上去,或者在原地来回转圈,不知道该怎么办。
为了让它更有“宝宝”的感觉,我还给它加了个小蜂鸣器。程序里设置了下,当传感器检测到距离太近,快要撞到的时候,就让蜂鸣器“嘀嘀”叫两声,装作很害怕的样子,所以才叫它“机器宝宝”嘛哈哈。
整个过程挺折腾的,但也挺有意思。
你说它有啥用?没啥大用,就是满足了自己动手的瘾,打发了不少时间。
从一堆零散的零件,通过自己接线、编程,变成一个能在地上跌跌撞撞跑起来的小东西,这个过程本身就挺有成就感的。虽然成品看着挺糙的,跟外面卖的那些精致玩具没法比,功能也简单得很,但毕竟是自己一点点摸索着弄出来的。
通过这回实践,也算是对这些传感器、控制板、马达驱动这些玩意儿有了点实际的了解,不再是纸上谈兵了。知道它们大概是怎么工作的,也踩了不少坑,下次再做类似的东西,应该能少走点弯路。
就这么个记录,写得比较流水账,分享给大家看看,看个乐呵就行。
还没有评论,来说两句吧...