Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
arduino蓝牙rc车使用机箱开关站_Arduino - Fatal编程技术网

arduino蓝牙rc车使用机箱开关站

arduino蓝牙rc车使用机箱开关站,arduino,Arduino,我建立了一个蓝牙控制的汽车,我有一些问题的代码到它。我用一个开关箱来控制它从我的手机。代码工作正常,但默认设置有一个问题:如果它没有通过蓝牙接收到任何信息,我希望它停止汽车。我的代码似乎执行默认设置:根本不执行。我不知道是什么问题 这是我的密码 int IN1 = 7; int IN2 = 5; int IN3 = 4; int IN4 = 2; int inByte = 0; void setup() { Serial.begin(9600); pinMode(IN1, OUTPU

我建立了一个蓝牙控制的汽车,我有一些问题的代码到它。我用一个开关箱来控制它从我的手机。代码工作正常,但默认设置有一个问题:如果它没有通过蓝牙接收到任何信息,我希望它停止汽车。我的代码似乎执行默认设置:根本不执行。我不知道是什么问题

这是我的密码

int IN1 = 7;
int IN2 = 5;
int IN3 = 4;
int IN4 = 2;

int inByte = 0;

void setup() {
  Serial.begin(9600);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void loop() {
   //read my bluetooth
  if (Serial.available() > 0) {
    inByte = Serial.read();
    Serial.print("I received: ");
    Serial.println(inByte);

    switch (inByte) {
      case 'i':
        Serial.println("forward");
        digitalWrite(IN1, LOW);
        digitalWrite(IN2, HIGH);
        digitalWrite(IN3, HIGH);
        digitalWrite(IN4, LOW);
        break;
      case 'j':
        Serial.println("left");
        digitalWrite(IN1, LOW);
        digitalWrite(IN2, HIGH);
        digitalWrite(IN3, LOW);
        digitalWrite(IN4, LOW);
        break;
      case 'l':
        Serial.println("right");
        digitalWrite(IN1, LOW);
        digitalWrite(IN2, LOW);
        digitalWrite(IN3, HIGH);
        digitalWrite(IN4, LOW);
        break;
      case 'k':
        Serial.println("reverse");
        digitalWrite(IN1, HIGH);
        digitalWrite(IN2, LOW);
        digitalWrite(IN3, LOW);
        digitalWrite(IN4, HIGH);
        break;

      default:
          Serial.println("stop");
          digitalWrite(IN1, HIGH);
          digitalWrite(IN2, HIGH);
          digitalWrite(IN3, HIGH);
          digitalWrite(IN4, HIGH);

    }
  }
}

如果您的汽车没有收到任何信息,则永远不会调用switch case语句(Serial.Available()为false)。所以你不能用这种方式达到默认值。好的。你对我如何修复它有什么想法吗?试着用定时器检查是否长时间没有收到任何东西。请看这里: