HC-SR04で距離計測 ~ M5StickCなら簡単に距離計ができる!
車用の距離計を考えています。できるだけ精密な距離を測れるセンサーが良いですが、まずは安いHC-SR04を使ってみることにしました。
そして使用するマイコンですが、今回はM5StickC、その後でRaspberry Piを使います。それでは、作成してみます。
Contents
1.接続方法
HC-SR04とM5StickCを、以下のように接続します。
HC-SR04 – M5StickC
Vcc – 5V
Gnd – Gnd
Trig – GPIO0
Echo – GPIO36
4つの線をジャンパーワイヤーで接続します。簡単ですね。
2.プログラム
HC-SR04は4.5mまで計測できるそうなので、3桁のcm表示とします。
#include <M5StickC.h>
#define S_SEND 0
#define S_RECEIVE 36
int counts;
int distance;
void setup() {
// put your setup code here, to run once:
M5.begin();
pinMode(S_SEND, OUTPUT);
pinMode(S_RECEIVE, INPUT);
M5.Lcd.setRotation(3);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(S_SEND, HIGH);
delayMicroseconds(10);
digitalWrite(S_SEND, LOW);
counts = pulseIn(S_RECEIVE, HIGH);
distance = (int)(counts * 0.017);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextColor(GREEN);
M5.Lcd.setCursor(0, 10, 7);
M5.Lcd.printf("%03d", distance);
M5.Lcd.setCursor(110, 35, 4);
M5.Lcd.print("cm");
delay(500);
}
3.動作結果
問題なく、プログラムが動作しました。個人的には、かなりアバウトな数値が出るのだろうと思っていましたが、予想以上に正確な値が出ています。これであれば、高精度のセンサーを用意する必要もないのでは、と現状では考えています。
そして、M5StickCの万能さが光りました。 M5StickCはモニターとバッテリーを搭載するので、センサー以外に必要なアイテムがありません。今回も、簡単な距離計として、すぐに使えそうです。
さて、この次はRaspberry Pi ATOM Lite用のプログラムを作成します。こちらは、より実用的なものを考えています。乞うご期待。