Mind+编程的小车红外控制与超声波自动避障不能同时启用
用Mind+编程的Arduino小车,能够实现红外控制,也能够实现超声波自动避障,问题:当启动超声波自动避障模式后,就不能再接收红外控制信号(用串口监控显示看了,接收不到红外信号),请教,红外控制和超声波自动避障能不能同时使用?
主程序:
主循环执行是红外遥控前进后退等操作,按下0键后,进入次循环执行,即超声波自动避障程序。
问题是,超声波自动避障启动后,就再也收不到红外信号了,车子只能向前,遇障碍停下,不受红外控制。
遥控器的2是前进、5是停止、8是后退、4是左转、6是右转,0是切换到超声波避障模式,以上按键均采用自定义函数方式,将按键与车轮、指示灯和显示屏状态显示进行了联动。
函数如下:
问题是,不启动0键,遥控器可以正常控制,轮子、指示灯和液晶显示屏状态显示的联动都正确。
启动0键后,遥控器就不能控制,车子就一直向前,遇到障碍物自动停下后,遥控器也没用,这时通过串口监视窗口,发现Arduino没有接收到红外信号。
我希望实现的功能是,启动0键后,车子进入避障模式,同时,我可以用遥控器操作车子后退、左右转等。
请教大神,怎么弄?
程序里面不能循环套循环的,把里面嵌套的循环去掉。你再试试看 Nick-ccq 发表于 2021-12-13 13:42
程序里面不能循环套循环的,把里面嵌套的循环去掉。你再试试看
主循环是红外按键的启用,里面嵌套的是超声波自动避障的启用。如果删掉里面的循环,相当于就是一个单纯的红外遥控小车。我想要在保留红外遥控的基础上,同时实现超声波自动避障。不知道mind+怎么才能兼顾? Nick-ccq 发表于 2021-12-13 13:42
程序里面不能循环套循环的,把里面嵌套的循环去掉。你再试试看
主循环是红外遥控,能够独立使用,是正确的。后一个嵌套的循环是超声波避障功能,也能够独立使用,是正确的。但是我找不到mind有那种控制方法,或采用什么逻辑控制,把这两个组合到一起,同时启用。 试试这种方法 Nick-ccq 发表于 2021-12-13 15:09
试试这种方法
我刚才试过了,这种方法可行,我明天再好好调试优化一下。谢谢,谢谢
页:
[1]