用labview编程智能循迹小车的程序思路

用labview编程智能循迹小车的程序思路,第1张

胶带的宽度一定的话:

四个传感器一字排列的情况最简单:

按1234号传感器命名,照在胶带上状态位为A,否则为a.

直线正常行走时,23号持续为A,14号持续为a.

分析开始右转的逻辑:

2号变a,继续直线行走,直到4号变A,根据24号间的距离和小车在这段时间内行驶的距离计算出转动角度(这就是动态平面几何问题了,自己画图解一下,注意转弯时候前后中心点的轨迹,胶带宽度是关键,得到的角度不会也不必太精确。这里我只讨论逻辑),然后以比计算结果稍大(目的是确保能让2恢复滑茄状态A)的转动角度开始转弯,等到2和3都恢复状态A,小车变回直线行走,等到2号重新变a,小车再恢复到原先的转动角度……后面一直循环就行了

直线上如果车子前进方向倾斜,和转弯一样,下面以车子向右倾斜为例分析:

会出现3号变a的情况,继续保持直线行走,直到1号变A,计算出小车在这个过程中行进距离,结合胶带宽度,弯让厅1和3号间的距离,就可以算出偏离的角度然后决定转动角度。后面具体调整和过弯道一样。

然后我来吐槽为什么要用labview,你是想着拿着笔记本进行无线 *** 控么 - -,嵌入式的labview编程现在还不埋隐成熟好吧~

别想那么复杂。

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

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

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存