単語コマンド
CoddyのArduinoジャーニー「入力」セクションの一部。レッスン 16/22。
コマンドごとに1文字だけでは、すぐに足りなくなります。単語のほうがわかりやすいです。on、off。単語は複数の文字からなるので、行全体を一度に読み取ります。テキストのかたまりはStringであり、Serial.readStringUntil()は、指定した文字(改行)に出会うまで文字を読み取り、その改行は破棄します。
if (Serial.available() > 0) {
String command = Serial.readStringUntil('\n');
if (command == "on") {
// ...
}
}テキストは二重引用符で囲みます("on")。1文字は一重引用符で囲みます('o')。
複数のコマンドから1つを選ぶには、テストをelse ifでつなぎます。ボードは順番にテストし、最初に真となったものだけを実行します。最後のelseは、それ以外のすべてを受け取ります。
if (command == "on") {
// ...
} else if (command == "off") {
// ...
} else {
Serial.println("Unknown command");
}チャレンジ
簡単LEDはピン13に接続されています。シリアルモニターに入力した単語で制御します。
- 1行全体を
Stringに読み込む onでLEDが点灯し、offで消灯します- それ以外の単語を入力すると
Unknown commandと出力されます
Runを押し、シリアルモニターからon、off、または自分で考えた単語を送信してから、Checkを押してください。
自分で試してみよう
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
// 行を読み取り、"on"、"off"、またはそれ以外の入力に応じて処理する
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
入力のすべてのレッスン
自分で練習してみよう: Arduinoプレイグラウンド