Menu
CoddyTech

戻り値

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

関数は値を返すこともできます。voidの代わりに値の型を書き、returnと値で終わります:

int readPercent() {
  int reading = analogRead(A0);
  return map(reading, 0, 1023, 0, 100);
}

呼び出しは、analogRead()と同じように、その値を表します。値を保存したり、表示したり、比較したりできます:

int percent = readPercent();
if (readPercent() > 50) {
  // ...
}

returnは関数をただちに終了させる役割もあります。その後の行は実行されません。ここでのreadingのように、関数内で作られた変数は、関数の実行中だけ存在します。戻り値によって、結果を関数の外に渡せます。

challenge icon

チャレンジ

簡単

つまみは A0 に、LED はピン 13 に接続されています:

  • A0 を読み取り、0 から 100 の範囲にマッピングした値を返す int readPercent() を書きます
  • loop() で、readPercent() の値を変数に格納して出力します
  • パーセントが 50 を超えたら LED を点灯し、それ以外の場合は消灯します。100 ms 待ちます

Run を押し、つまみを回してから、Check を押します。

自分で試してみよう

const int ledPin = 13;

// ここに int readPercent() を書く

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

void loop() {
  // int percent = readPercent();
  // その値を出力し、50 を超えたら LED を点灯させ、100 ms 待つ
}
quiz icon腕試し

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

入力のすべてのレッスン

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