詳しく教えてください
目次
pulseIn()について
pulseIn()
関数は、指定したデジタルピンで入力されるパルスの長さ(幅)を測定するためのArduino関数です。超音波センサーや赤外線センサーの信号処理など、時間計測が必要な場面で使われます。
構文
pulseIn(pin, value, timeout);
引数
pin
: パルス信号を受信するデジタルピン番号。value
: 測定するパルスの種類(HIGH
またはLOW
)。例えば、HIGH
にすると、信号がHIGHになってからLOWになるまでの時間を計測します。timeout
(省略可能): パルスを検出する最大時間(マイクロ秒単位)。省略すると無制限になります。
戻り値
- パルスの幅をマイクロ秒単位で返します。タイムアウトした場合は0が返されます。
例
long duration = pulseIn(7, HIGH); // デジタルピン7に入力されるHIGHパルスを測定
超音波センサー HC-SR04 などで距離測定にも使われ、反射した音波が戻ってくるまでの時間を計測し、そのデータを距離に変換することが可能です【1】【3】。