【Arduino IDE】パルスの長さを測定(pulseln)

詳しく教えてください

目次

pulseIn()について

pulseIn() 関数は、指定したデジタルピンで入力されるパルスの長さ(幅)を測定するためのArduino関数です。超音波センサーや赤外線センサーの信号処理など、時間計測が必要な場面で使われます。

構文

pulseIn(pin, value, timeout);

引数

  1. pin: パルス信号を受信するデジタルピン番号。
  2. value: 測定するパルスの種類(HIGH または LOW)。例えば、HIGH にすると、信号がHIGHになってからLOWになるまでの時間を計測します。
  3. timeout (省略可能): パルスを検出する最大時間(マイクロ秒単位)。省略すると無制限になります。

戻り値

  • パルスの幅をマイクロ秒単位で返します。タイムアウトした場合は0が返されます。

long duration = pulseIn(7, HIGH);  // デジタルピン7に入力されるHIGHパルスを測定

超音波センサー HC-SR04 などで距離測定にも使われ、反射した音波が戻ってくるまでの時間を計測し、そのデータを距離に変換することが可能です【1】【3】。

🌐 Sources

  1. rb-sapiens-shop.com – ArduinoのpulseInで割り込み処理ができるようにする
  2. musashinodenpa.com – Arduino日本語リファレンス
  3. omoroya.com – Arduino 入門 番外編 21 【bit関数 まとめ】
  4. scrapbox.io – PULSEIN()
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次