ショップ

製品概要

超音波距離センサーは、センサーから発した超音波パルスが、計測対象物にあたって反射して帰ってくるまでの時間を計測し、その値で距離を計測するものです。

スケッチ例

超音波距離センサーで対象物までの距離を計測し、それをシリアルモニタに出力するスケッチを示します。ESP32-PIXEL用のスケッチを示しますが、冒頭のTRIG,ECHOをお使いの回路で割り当てている入出力ピンに変更すれば、汎用的に使用できるスケッチです。

ESP32-PIXEL

#define TRIG 25
#define ECHO 26
#define TIMEOUT 30000
int temperature = 20 ;

void setup() {
  Serial.begin(115200) ;

  pinMode(ECHO, INPUT) ;
  pinMode(TRIG, OUTPUT) ;
  digitalWrite(TRIG, LOW) ; 
}

void loop() {
  double t, distance, sound_speed ;

  digitalWrite(TRIG, HIGH) ;
  delayMicroseconds(10) ; 
  digitalWrite(TRIG, LOW) ;

  t = pulseIn(ECHO, HIGH, TIMEOUT) ; // 往復にかかった時間(microsec)

  if (t > 0) {
    t = t / 2 ; // 片道
    sound_speed = 331.5 + 0.61 * temperature ; // 気温センサの値を使えば温度補正できる
    distance = t * sound_speed * 100 / 1000000 ;
    Serial.print(t) ;
    Serial.print(" microsec, ") ;
    Serial.print(distance) ;
    Serial.println(" cm") ;
  }

  delay(500) ;
}