arduino巡线小车调试成功心得体会

问题描述: 小车组装完成,输入程序之后,无法正确巡线,胡乱跑偏,或者不循线;

 

问题解决思路:

  1. 首先要确保硬件没问题, 包括巡线模块的灵敏度,检测到黑线时输出高低电平信号,接线与程序里面的定义要一致;

具体方法:

巡线模块的灵敏度,主要是把握与黑线的距离, 调试时可以采用比较极端的方法,比如用较长的铜柱安装,让模块与地面的距离最小, 然后调节模块上面的旋钮到尽头,通电测试探头的灵敏度,拿着模块在黑线上空划过,确保指示灯会在遇到黑线时发生变化,如果不行再一点点回调模块的旋钮,增加或减少灵敏度;

如何判断循线模块检测到黑线时输出是高电平还是低电平? 可以在程序里面先写一条简单的命令,比如直接print端口的状态,或者用if条件输出端口是否等于高电平来执行某条命令,然后在连接USB线,打开arduino的端口监视窗口, 分析出检测到黑线时模块是输出高电平还是低电平;或者最简单的方法是查阅器件手册资料;这个步骤对于分析程序代码时很重要;

检查接线与程序的定义要一致,一定要确保模块各个输出的线缆是接到arduino相应的输入端口;

 

  1. 开始分析程序的逻辑, 首先确保程序里面的前进,左转,右转的模块与小车是一致的,意思是当执行这个左转模块时,小车要真的是左转,比如左轮是后退,右轮是前进;这部分可以在循环里面输入程序测试,比如一开始前进2秒,然后左转2秒,最后右转2秒,看小车的动作是否符合;
  2. 本次调试的小车有3个巡线输出信号,分别是左,中,右,每个信号有2种状态,按照真值表分析的话,一共有8种组合情况,所以在写loop部分的if语句时,要考虑到这8种情况,但是简单一点可以重点列出前进,左转,右转时的状态,其他5种情况一律执行前进的命令,如此可以确保小车一直处于运动的状态;
  3. 小车的速度调试,开始输入一个稍微高一点的值比如150(0-255),如果实际跑起来太快,容易跑出黑线的话(arduino还没来得及做出判断调整马达的方向,小车已经出轨),再降低调速的值,比如120, 再100,最后试出一个比较满意的值;
  4. 贴胶带轨道的时候,转弯的角度要尽量平缓一点,如果转弯太急的话,也可能失败;

About the Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注