JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

ESP32 HC-SR04による距離の測定

2020-02-10 11:39:33 | ESP32

 ESP32で超音波センサーHC-SR04を使って距離を測定するテストです。

 原理はmicro:bitで行った実験と同じです。簡単な説明の図です。

スケッチです。測定した距離はシリアルモニタにcm単位で表示します。

HC-SR04に送るトリガーパルスの幅は10usです。

---------------------------------------

/*
 * ESP32 HC-SR04による距離の測定
 * 2020.2.10
 * JH7UBC Keiji Hata
 */

#define Trigger_Pin 17
#define Echo_Pin 16
int V = 340;//音速

void setup() {
  Serial.begin(115200);
  pinMode(Trigger_Pin, OUTPUT);
  pinMode(Echo_Pin, INPUT);
  digitalWrite(Trigger_Pin, LOW);
}

//Send Trigger pulse
void sendTrigger(){
  digitalWrite(Trigger_Pin,HIGH);
  delayMicroseconds(10);
  digitalWrite(Trigger_Pin, LOW);
}

void loop() {
  sendTrigger();

  while(!digitalRead(Echo_Pin)){ 
  }
  unsigned long t1 = micros();

  while(digitalRead(Echo_Pin)){
  }
  unsigned long t2 = micros();
  unsigned long t = t2 - t1;
  Serial.print(V * t /20000);
  Serial.println("cm");
  delay(1000);
}

---------------------------------------

測定の様子です。

 micro:bitの時と同様に1mくらいまでは、けっこう正確に距離を測定できますが。1mを超えたあたりから測定値のばらつきが大きくなります。



最新の画像もっと見る

コメントを投稿