请教一下miniQ小车的问题

2016-04-261.4万
AI 快速预览详细 收起
本文讨论了miniQ小车在使用遥控器转弯90°后一直转圈的问题。通过分析具体的代码片段,发现问题是由于setRomeoMotor函数参数设置不当导致的。解决方案是调整setRomeoMotor函数的参数和延迟时间,确保小车在转弯90°后能继续直线行走。此外,文章还涉及了红外接收和巡线功能的代码实现。
使用遥控器转弯时,我想让小车旋转90°,然后继续直线行走,但是按下左转后,小车一直转圈
这个命令:
  if (ir_item == 16591063) {
    setRomeoMotor(1, 10);
    setRomeoMotor(2, 50);
    delay(400);
    setRomeoMotor(1, 50);
    setRomeoMotor(2, 53);
}
直接使用是好用的,可以跑正方形,但是放到通信命令下就一直转圈

if (irrecv_10.decode(&results_10)) {
    ir_item=results_10.value;
    String type="UNKNOWN";
    String typelist[14]={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};
    if(results_10.decode_type>=1&&results_10.decode_type<=13){
      type=typelist[results_10.decode_type];
    }
    Serial.print("IR TYPE:"+type+"  ");
    Serial.println(ir_item);
    delay(1000);
    irrecv_10.resume();
  } else {
  }
  if (ir_item == 16615543) {
    setRomeoMotor(1, 50);
    setRomeoMotor(2, 53);

  }//前进
  if (ir_item == 16619623) {
    setRomeoMotor(1, -50);
    setRomeoMotor(2, -53);

  }//后退
  if (ir_item == 16591063) {
    setRomeoMotor(1, 10);
    setRomeoMotor(2, 50);
    delay(400);
    setRomeoMotor(1, 50);
    setRomeoMotor(2, 53);

  }//左转90°,继续前进
if (ir_item == 16607383) {
    setRomeoMotor(1, 50);
    setRomeoMotor(2, 10);
    delay(400);
    setRomeoMotor(1, 50);
    setRomeoMotor(2, 53);

}//右转90°,继续前进
  if (ir_item ==  16621663) {
    if (!digitalRead(8) && digitalRead(9)) {
      setRomeoMotor(1, 10);
      setRomeoMotor(2, 50);

    } else {
      if (digitalRead(8) && !digitalRead(9)) {
        setRomeoMotor(1, 50);
        setRomeoMotor(2, 10);

      } else {
        setRomeoMotor(1, 50);
        setRomeoMotor(2, 53);

      }

    }

  }//巡线
  if (ir_item == 16580863) {
    setRomeoMotor(1, 0);
    setRomeoMotor(2, 0);

  }//停止

}

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
20060606
20060606
没看懂啊
凌风清羽
凌风清羽
可以用一个6050解决这个问题,角度闭环控制
Cain
Cain
我觉得是没有及时清除遥控器状态变量的问题,可以在执行完后主动清空一下ir_item的值
dsweiliang
dsweiliang
帮顶
- 没有更多了 -