如何在案例中添加条件。我想添加一个功能,如果结果小于 15 厘米,汽车停止,返回并左转或右转。
if (Serial.available())
{ val = Serial.read();
switch(val)
{
case 'a':
servoX.write(lx);
qian(); // forward
break;
case 'b':
hou(); //back
break;
如何在案例中添加条件。我想添加一个功能,如果结果小于 15 厘米,汽车停止,返回并左转或右转。
if (Serial.available())
{ val = Serial.read();
switch(val)
{
case 'a':
servoX.write(lx);
qian(); // forward
break;
case 'b':
hou(); //back
break;
@Barmar 是正确的,没有什么可以阻止您在 switch 语句中形成嵌套逻辑,因此可以在其中一个 case 块中添加 if 条件。
附带说明:如果这是您第一次在墙壁上跑步,避免开车,请注意当某些东西离传感器太近时您的信号会发生什么,与大多数传感器一样,您将开始获得读数,表明您正在远离传感器移动到比它的工作范围更近的地方。出于这个原因,您需要尝试并比仅仅设置一个限制更聪明,或者将您的限制设置为比传感器的最小工作范围高一点。在这方面,超声波传感器比便宜的红外距离传感器要好,但在加快速度时仍然需要小心。我还建议使用非常灵敏的超声波传感器,在对它们做出反应之前,您需要连续读取几个一致的读数。