说到机器人,这玩意儿听着挺玄乎,也就那么回事儿。我当初是怎么寻思着要搞这个的?也没啥特别高大上的理由。
就是有段时间在家闲得慌,天天刷视频,看着人家做的那些小机器人跑来跑去的,挺有意思。我寻思着,这玩意儿我能不能也整一个出来玩玩?以前上学的时候也模模糊糊接触过一点点皮毛,什么单片机,传感器,但都忘得差不多了。
说干就干,我就开始动手了。
我先上网扒拉资料,看人家都是怎么做的。发现大部分都是从一个小车底盘开始。行,那我也从这个入手。然后就是选控制器,我看很多人用那个什么Arduino,或者树莓派。我想着先从简单的来,就选了Arduino,据说对新手友好点。
接着就是买零件。这可真是个体力活,也是个脑力活。你得知道你需要
- 一个机器人底盘,带轮子和电机的那种。
- 电机驱动模块,因为Arduino直接带不动电机。
- 主控制器,我选的Arduino UNO。
- 传感器,我想让它能躲开障碍物,所以买了个超声波传感器。
- 还有杜邦线、面包板、电池盒、螺丝螺母这些零零碎碎的东西。
买回来一堆零件,什么底盘、轮子、电机,还有那个什么控制器,叫啥来着,对,Arduino,国外的玩意儿。对着说明书鼓捣,把底盘先给它组装起来,这个不难,拧拧螺丝的事儿。
然后就是接线。这块儿就有点头大了。电机要接到驱动板上,驱动板再接到Arduino上,超声波传感器也要接到Arduino上。我一开始也是两眼一抹黑,对着网上的教程,一根线一根线地对。那线接得乱七八糟,跟蜘蛛网似的。有时候接错了,电机不转,或者乱转,急得我抓耳挠腮。
最关键的一步,就是写程序了。Arduino用的是C++的变种语言。我以前那点C语言底子这时候勉强派上点用场。先写最简单的,让轮子转起来。下载进去,动了!虽然只是原地打转,但也挺兴奋的。
然后就是想办法让它按照我的想法动。比如,怎么让两个轮子配合着前进、后退、左转、右转。这就得控制不同电机的转速和方向。调试,修改,再调试,这个过程反反复复。有时候一个小小的逻辑错误,就能让小车跟喝醉了酒一样乱跑。
接着就是加入超声波传感器,让它能“看见”前面的障碍物。读取传感器的距离数据,如果距离小于某个值,就让小车停下来,然后转个方向,再继续走。这个逻辑听着简单,写起来也遇到了不少坑。比如传感器有时候会读到一些干扰数据,得加一些滤波或者多次读取求平均值的处理。
整个过程,怎么说,痛并快乐着。有时候一个问题卡好几天,饭都吃不香。但一旦解决了,那成就感,甭提多带劲了。烧了俩电机,弄坏一个传感器,那都是家常便饭。我还记得有一次,程序有个bug,小车直接从桌子上冲下去了,还好不高,没摔坏。
经过差不多一个多星期的折腾,我的第一个“机器人”——就是个能自动避障的小车——总算是能歪歪扭扭地在地上跑了。虽然它长得丑,功能也简单,但那毕竟是我自己一点一点琢磨出来的。
所以说,这机器人听着高大上,实际上手了也就那么回事。不是说它简单,而是说只要你肯花时间琢磨,一步一步来,总能搞出点名堂。我这也就是个入门级的玩具,离真正的机器人还差得远,但这个过程,确实挺锻炼人的。
还没有评论,来说两句吧...