Menu
CoddyTech

シリアル文字を読み取る

CoddyのArduinoジャーニー「入力」セクションの一部。レッスン 15/22。

Serial接続は双方向で動作します。Serialモニターのボックスに入力してSendで送信したテキストは、1文字ずつボードに送られ、スケッチが読み取るまでバッファに格納されます。

Serial.available()は、待機中の文字数を示します。Serial.read()は、バッファから次の文字を取り出します。1文字はchar変数に収まり、シングルクォートで記述します。

if (Serial.available() > 0) {
  char c = Serial.read();
  if (c == '1') {
    // 1 が入力された
  }
}

シングルクォートで囲まれた'1'は、押すキーである文字の1です。数値の1ではありません。ボードはこの文字をコード49として保存します。

Serialモニターは、入力した内容の後に、目に見えない改行文字も送信します。これは'\n'と記述します。スケッチは認識する文字に対して処理を行い、それ以外の文字は読み飛ばします。

challenge icon

チャレンジ

簡単

LEDはピン13に接続されています。シリアルモニターから切り替えます。

  • 文字が待機しているとき、それをcharに読み込みます
  • '1'でLEDが点灯し、'0'で消灯します
  • 改行など、その他の文字では何も変わりません

Runを押し、シリアルモニターに1または0を入力してSendを押し、その後Checkを押します。

自分で試してみよう

const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // 文字が届いていたら読み取る
  // '1' で LED を点灯し、'0' で消灯する
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

入力のすべてのレッスン

自分で練習してみよう: Arduinoプレイグラウンド