(转载请注明文章来源,更多教程可自助参考www.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇)
在日常生活中,大家会经常见到各种各样的遥控车,它需要我们人为的操作,控制它的前进、后退和转弯。今天就带大家认识一个不一样的新朋友--“会思考的避障车”。“会思考的避障车”和我们平时的遥控车最主要的区别就是智能化,它可以不需要我们去操控,自己就能行走。同时它还会实时检测前方是否有障碍物,思考自己是否要前进或者转弯。看到这里,是不是已经跃跃欲试了呢。话不多说,动起手来吧!
一、 所需器材:
1、TurnipBit开发板 1块(TB上可以买到)
2、下载数据线 1条
3、智能小车套件 1套(底盘、车轮、电机等)
4、超声波模块(HC-SR04)1个(用作小车的“眼睛”)
5、L298N电机驱动模块 1个
6、接入互联网的电脑 1台(推荐使用Google Chome或者Firefox浏览器)
二、壁障车的组装
第一步,先把小车底板、紧固件、码盘的黄色保护纸撕掉,然后把紧固件插入小车底板。
第二步,安装码盘,并把电机固定于底板。码盘轴心一面大一面小,大的一面往电机轴插(注意:电机引线铜片朝向内侧,即码盘一端)。
第三步,插入螺丝,把电机固定到小车底板,并拧上螺帽。
第四步,插入螺丝,固定电池盒。本实验中这一步可以省略,我们使用充电宝进行供电。
第五步,放入铜柱,拧紧8个螺丝固定万向轮,手捏住电机(保护紧固件),并往里面插入轮子,组装完成。
最后,我们来看一下组装完成的效果图。
三、电机驱动和超声波的安装
硬件的连接,主要是各引脚间的连接。具体为(详见下表):超声波模块共4个引脚,分别是VCC、GND、Trig和Echo。VCC接TurnipBit扩展板的+5V引脚,GND接TurnipBit扩展板的GND引脚,Trig触发引脚接P5,Echo回传引脚接P8。L298N电机驱动模块左侧OUT3、OUT4接线端子对应接入左轮电机的下侧、上侧侧铜片,右侧也是。L298N的输入端IN1、IN2、IN3、IN4分别接入扩展板的P19、P13、P12、P11。最后,本实验利用充电宝进行供电,只需将充电板通过usb线连接TurnipBit开发板的microusb口即可。
四、拼插编程
步骤1:因为P11和P12控制一个车轮,P13和P19控制一个车轮,只需要给相应车轮的P12和P19高电平,另外两个引脚低高平,避障车两个车轮就会转动,如果此时转动方向两个轮子不同或者是向后,说明你在连线时没有注意连接的L298N的引脚,只需要调换一下,避障车就会向前走,如下图。
步骤2:添加一个死循环,使程序一直运行。
步骤3:接下来就需要完成检测障碍物的功能,这部分需要超声波模块来实现。我们需要在死循环内添加障碍物检测的内容,让避障车一直不断的检测与前方障碍物的距离。
步骤4:为了更简单、方便、快捷的实现功能,我们采用计数的方式,测量一个大概的距离,然后进行判定是否进行避障。细心的同学可能会发现我们在程序一开始的时候定义了一个num的变量,我们就用num来计数。当引脚8为高电平时,表示超声波模块的echo进入接收模式,我们就不断的让num自加1,一直等到超声波模块接收到返回的信号,即引脚8为低电平时,停止计数。这里的num就能反映出当前小车与障碍物之间的距离。这里以25厘米为安全距离进行测试,发现num的数值为8。于是说明,如果小车与障碍物之间的距离小于25厘米时,num就小于8。所以程序中判断如果num的值小于或等于8时,就进行转向避障。
步骤5:到此,会思考的避障车已经完成了。为了让避障车更加炫酷,我们可以使用LED屏来动态显示当前避障车行驶的方向。方法是在小车做出转向动作前,先用箭头来显示转向的方向,然后再做动作。
步骤6:将程序名修改成turnipbit-car,点击【下载hex】按钮将程序保存到电脑里。把保存的turnipbit- car.hex文件拖入TurnipBit磁盘中,我们会看到TurnipBit板子上的灯在闪烁,说明正在下载到控制板中。下载成功后,将TurnipBit正确插入TurnipBit扩展板的金手指卡槽内,开始启动避障车吧。