0
私は質問したいと思います。 私はシリアルモニタを使ってLEDプロジェクトをやっています。 シリアルモニタ1のキーを1回押すと、シリアルモニタ2の2番目のキーを押すまでLED 1が点灯し、LED 2が点灯します。ARDUINO:ホールド値&シリアルモニタ
どうすればいいですか?遅延()による ?またはhold()?
私は質問したいと思います。 私はシリアルモニタを使ってLEDプロジェクトをやっています。 シリアルモニタ1のキーを1回押すと、シリアルモニタ2の2番目のキーを押すまでLED 1が点灯し、LED 2が点灯します。ARDUINO:ホールド値&シリアルモニタ
どうすればいいですか?遅延()による ?またはhold()?
delay()
を使用することはできません。次のキーを押すまでの時間がわからないからです。
int ledPin1 = 8, ledPin2 = 9;
boolean flag1, flag2;
void setup()
{
Serial.begin(9600);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}
void loop()
{
if(Serial.available())
{
int c = Serial.read();
if(c == 49) { // 1 is pressed
flag1 = true;
flag2 = false;
}
else if(c == 50) { // 2 is pressed
flag2 = true;
flag1 = false;
}
}
if(flag1) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
}
if(flag2) {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
}
delay(50);
}
の下に示されているようにあなたは、フラグを使用することができますが、この情報がお役に立てば幸いです。
http://stackoverflow.com/help/how-to-ask –