51单片机智能两路循迹小车程序,检测到黑线直走,检测不到黑线就左转或右转都可以,需要程序代码麻烦了?

51单片机智能两路循迹小车程序,检测到黑线直走,检测不到黑线就左转或右转都可以,需要程序代码麻烦了?,第1张

别想那么复杂。

首先,你把检测黑线的传感器就当一普通开关。因为,当照射在黑线上时,光线反射能力弱,输出低电平。照在黑线外,则输出高电平。只有高低两种电平,所以,你只需要把它当一个普通开关看待。

然后,既然是普通开关,写代码时只需要位声明以及设置gpio为双向或强拉模式,51单片机都不用设置gpio。

最后,程序里,检测到高电平然后io口电平取反就行。

这个很简单的呀?如果有导师的话应该会知道的吧?

先用光电传感器检测光值,把黑白光值相加并除以二得到光值的平均数。

通过上一步可以知道,小于平均数的为黑线(暗),反之则为白。

在这里请问是单光电走线还是双光电走线:

单光电走线:(依情况)确定光电是在黑线左右,这里默认为在黑线左(错了告诉我,避免干扰。)

     所以可以得出检到白向左,检到黑线向右(放在右则反之)检到黑线时向右的力量要大一点,(电机功率差大)而回去的时候力量要小一点。

      具体方法:无限循环,光电传感器开关,小于为向右,大于向左,用无限制(有兴趣可以增加检测光值)

2.双光电走线(这个是我最喜欢用的,可是比赛一般用不着,又占用接口):

这个的好处有很多,但程序不一定比前一个复杂。也就是左面看到黑线向右右面看到黑线向左。但一般用不着,如果需要的话可以追问。

注意:这里的走线是独立程序,不要和其他程序混在一起。

        还有不明白的地方我会截图的.

希望可以帮到你,有不会的可以问我.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7978888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存