Arduino日本語リファレンス


pulseIn(pin, value, timeout)

原文

ピンに入力されるパルスを検出します。たとえば、パルスの種類(value)をHIGHに指定した場合、pulseIn関数は入力がHIGHに変わると同時に時間の計測を始め、またLOWに戻ったら、そこまでの時間(つまりパルスの長さ)をマイクロ秒単位で返します。タイムアウトを指定した場合は、その時間を超えた時点で0を返します。

この関数で計測可能な時間は、経験上、10マイクロ秒から3分です。あまりに長いパルスに対してはエラーとなる可能性があります。長いパルスを正確に測定したいときは、pulseInLong()の使用を検討してください。

【パラメータ】

pin: パルスを入力するピンの番号
value: 測定するパルスの種類。HIGHまたはLOW
timeout(省略可): タイムアウトまでの時間(単位・マイクロ秒)。デフォルトは1秒 (unsigned long)

【戻り値】

パルスの長さ(マイクロ秒)。パルスがスタートする前にタイムアウトとなった場合は0 (unsigned long)。

【例】

パルスがHIGHになっている時間(duration)を調べます。

int pin = 7;
unsigned long duration;

void setup() {
  pinMode(pin, INPUT);
}

void loop() {
  duration = pulseIn(pin, HIGH);
}



[目次へ戻る]

Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください [ドキュメント一覧]