|
|
@ -51,42 +51,56 @@ void OpenMVOpt::AdjustCarPosition(uint8_t Car_Speed)
|
|
|
|
DCMotor.SpeedCtr(50, 5);
|
|
|
|
DCMotor.SpeedCtr(50, 5);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (Data_OpenMVBuf[6] <= 50)
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
AccurateMotor.ForceStop();
|
|
|
|
if (Data_OpenMVBuf[5] == 43) // + Ïò×óµ÷
|
|
|
|
if (Data_OpenMVBuf[5] == 43) // + Ïò×óµ÷
|
|
|
|
{
|
|
|
|
{
|
|
|
|
DCMotor.SpeedCtr(0, 40);
|
|
|
|
AccurateMotor.TurnLeft(Data_OpenMVBuf[6] / 6);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (Data_OpenMVBuf[5] == 45) // - ÏòÓÒµ÷
|
|
|
|
else if (Data_OpenMVBuf[5] == 45) // - ÏòÓÒµ÷
|
|
|
|
{
|
|
|
|
{
|
|
|
|
DCMotor.SpeedCtr(40, 0);
|
|
|
|
AccurateMotor.TurnRight(Data_OpenMVBuf[6] / 6);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
AccurateMotor.DelayUntilCarStop();
|
|
|
|
|
|
|
|
DCMotor.SpeedCtr(Car_Speed, Car_Speed);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (Data_OpenMVBuf[6] <= 70)
|
|
|
|
//else if (Data_OpenMVBuf[6] <= 50)
|
|
|
|
{
|
|
|
|
//{
|
|
|
|
|
|
|
|
|
|
|
|
if (Data_OpenMVBuf[5] == 43) // + Ïò×óµ÷
|
|
|
|
// if (Data_OpenMVBuf[5] == 43) // + Ïò×óµ÷
|
|
|
|
{
|
|
|
|
// {
|
|
|
|
DCMotor.SpeedCtr(-20, 40);
|
|
|
|
// DCMotor.SpeedCtr(0, 40);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
else if (Data_OpenMVBuf[5] == 45) // - ÏòÓÒµ÷
|
|
|
|
// else if (Data_OpenMVBuf[5] == 45) // - ÏòÓÒµ÷
|
|
|
|
{
|
|
|
|
// {
|
|
|
|
DCMotor.SpeedCtr(40, -20);
|
|
|
|
// DCMotor.SpeedCtr(40, 0);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
//}
|
|
|
|
else if (Data_OpenMVBuf[6] > 70)
|
|
|
|
//else if (Data_OpenMVBuf[6] <= 70)
|
|
|
|
{
|
|
|
|
//{
|
|
|
|
|
|
|
|
|
|
|
|
if (Data_OpenMVBuf[5] == 43) // + Ïò×óµ÷
|
|
|
|
// if (Data_OpenMVBuf[5] == 43) // + Ïò×óµ÷
|
|
|
|
{
|
|
|
|
// {
|
|
|
|
DCMotor.SpeedCtr(-30, 30);
|
|
|
|
// DCMotor.SpeedCtr(-20, 40);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
else if (Data_OpenMVBuf[5] == 45) // - ÏòÓÒµ÷
|
|
|
|
// else if (Data_OpenMVBuf[5] == 45) // - ÏòÓÒµ÷
|
|
|
|
{
|
|
|
|
// {
|
|
|
|
DCMotor.SpeedCtr(30, -30);
|
|
|
|
// DCMotor.SpeedCtr(40, -20);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
//}
|
|
|
|
|
|
|
|
//else if (Data_OpenMVBuf[6] > 70)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (Data_OpenMVBuf[5] == 43) // + Ïò×óµ÷
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// DCMotor.SpeedCtr(-30, 30);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// else if (Data_OpenMVBuf[5] == 45) // - ÏòÓÒµ÷
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// DCMotor.SpeedCtr(30, -30);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
OpenMVOpt::ImageROIData OpenMVOpt::GetROIData()
|
|
|
|
OpenMVOpt::ImageROIData OpenMVOpt::GetROIData()
|
|
|
|