请问循迹小车探测黑色路径时传感器遇到影子影响时如何最大化消除

问题遇到的现象和发生背景

做循迹小车,要求沿着黑线圈运动
传感器探测到影子时也会当成黑线,可否调节下列代码解决?
此外,可不可以通过计算内外侧轮子的速度设定默认轨迹减小调节压力?

问题相关代码,请勿粘贴截图
  while (1)
  {
    /* USER CODE END WHILE */
if (DG1==0&DG2==0&DG4==0&DG3==0)//直行     
  {
  TIM3->CCR1=32;//右轮
  TIM3->CCR2=40;  
  }
  
  else if(DG1==0&DG2==1&DG4==0&DG3==0)//左转
  {
  TIM3->CCR1=40;//
  TIM3->CCR2=20;   
    HAL_Delay (50);     
  }


  else if(DG1==0&DG2==0&DG4==1&DG3==0)//右转
  {
  TIM3->CCR1=20;
  TIM3->CCR2=40;
  HAL_Delay (50);  
  }
  else if(DG1==1&DG2==1&DG4==0&DG3==0)//左转+
  {
  TIM3->CCR1=40;
  TIM3->CCR2=20;   
    HAL_Delay (75);     
  }
  else if(DG1==0&DG2==0&DG4==1&DG3==1)//右转+
  {
  TIM3->CCR1=20;
  TIM3->CCR2=40;
  HAL_Delay (75);  
  }
  else if (DG1==1&DG2==1&DG4==1&DG3==1)//八字中间差速直行     
  {
  TIM3->CCR1=40;//右轮
  TIM3->CCR2=49;  
  }
  else
    {
    TIM3->CCR1=40;
    TIM3->CCR2=40;

    }
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

运行结果及报错内容



img

img