戻り値
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のように、関数内で作られた変数は、関数の実行中だけ存在します。戻り値によって、結果を関数の外に渡せます。
チャレンジ
簡単つまみは 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 待つ
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
入力のすべてのレッスン
自分で練習してみよう: Arduinoプレイグラウンド