if( (LineL1 == LOW || LineL2 == LOW) && LineR2 == LOW) //×ó´óÍä { Car_SpinLeft(7000, 7000); delay_ms(80); } else if ( LineL1 == LOW && (LineR1 == LOW || LineR2 == LOW)) //ÓÒ´óÍä { Car_SpinRight(7000, 7000); delay_ms(80); } else if( LineL1 == LOW ) //×ó×îÍâ²à¼ì²â { Car_SpinLeft(6800, 6800); delay_ms(10); } else if ( LineR2 == LOW) //ÓÒ×îÍâ²à¼ì²â { Car_SpinRight(6800, 6800); delay_ms(10); } else if (LineL2 == LOW && LineR1 == HIGH) //ÖмäºÚÏßÉϵĴ«¸ÐÆ÷΢µ÷³µ×óת { Car_Left(6500); } else if (LineL2 == HIGH && LineR1 == LOW) //ÖмäºÚÏßÉϵĴ«¸ÐÆ÷΢µ÷³µÓÒת { Car_Right(6500); } else if(LineL2 == LOW && LineR1 == LOW) // ¶¼ÊǺÚÉ«, ¼ÓËÙÇ°½ø { Car_Run(7200); }
时间: 2024-04-16 21:25:53 浏览: 79
S300, S500, S1700, S2700, S5700, S6700 V200R021C00, C01 MIB参考
5星 · 资源好评率100%
这段代码是一个小车的行驶逻辑。根据传感器检测到的线路情况,小车会做出相应的动作。
- 如果左边的线L1或L2为低电平且右边的线R2为低电平,表示左边有大的转弯,小车会向左转。
- 如果左边的线L1为低电平且右边的线R1或R2为低电平,表示右边有大的转弯,小车会向右转。
- 如果左边的线L1为低电平,表示左边有小的转弯,小车会稍微向左转。
- 如果右边的线R2为低电平,表示右边有小的转弯,小车会稍微向右转。
- 如果左边的线L2为低电平且右边的线R1为高电平,表示中间有直线段,小车会继续向前直行。
- 如果左边的线L2为高电平且右边的线R1为低电平,表示中间有直线段,小车会继续向前直行。
- 如果左边的线L2和右边的线R1都为低电平,表示遇到交叉口,小车会继续向前直行。
在每个动作之后都有一个延时函数`delay_ms()`用来控制每次动作的持续时间。
阅读全文