1、如果是只有中间的红外感应模块感应到黑线,那么小车直走,即两个轮子都前转。
2、而当三个红外模块都没有检测到黑线,则小车转圈。
3、如果同时三个检测到黑线,则小车停止,这个条件是为了模拟终点全是一大坨黑块而设计的,但是在T字路口可能出现误判。
4、针对此问题,我们暂时想到的解决办法是把两侧的红外感应模块往两边移动,中间的保持不动,使得三个感应模块不在同一条水平线上时,可避免误判的可能。
别想那么复杂。首先,你把检测黑线的传感器就当一普通开关。因为,当照射在黑线上时,光线反射能力弱,输出低电平。照在黑线外,则输出高电平。只有高低两种电平,所以,你只需要把它当一个普通开关看待。
然后,既然是普通开关,写代码时只需要位声明以及设置gpio为双向或强拉模式,51单片机都不用设置gpio。
最后,程序里,检测到高电平然后io口电平取反就行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)