pulseIn()

[応用入出力]

説明

ピンに入力されたのパルス信号を読み取ります(HIGH または LOW). たとえば,pulseIn()HIGH に設定した場合, ピンが HIGH になった時点を開始時間とし, LOW になった時点を終了時間とします.そして,そのパルス幅をマイクロ秒で返します.タイムアウト時間を設定し,タイムアウトした場合は,0を返します.

経験上,この関数で長いパルスを計測するとエラーが発生する場合があります.10マイクロ秒から3分のパルス幅の間で作動します.

構文

pulseIn(pin, value)

pulseIn(pin, value, timeout)

パラメータ

pin: パルスを読み取りたいピンの番号 (int)

value: 読み取りたいパルスの種類: HIGH または LOW. (int)

timeout (任意): パルスを何マイクロ秒待つか; 初期値は1秒 (unsigned long)

戻り値

パルス幅(マイクロ秒).もし,タイムアウトまでパルスが入力されなかった場合は0 (unsigned long)

コード例

この例では,7番ピンのパルス幅を測定します.

int pin = 7;
unsigned long duration;

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

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