M5StackでGrove超音波距離センサの値を画面表示


1. はじめに

この記事では, M5Stackの画面にGROVE超音波距離センサモジュールの値を表示します.
[注意] Grove超音波距離センサモジュール専用のライブラリを使っているので,
他の超音波距離センサを使う場合は, プログラムの改良が必要です.

↓↓完成画像

2. 開発環境

M5StackとGrove超音波距離センサモジュールは,こちらのリンクから入手可能です.
(1) M5Stack Gray
(2) Grove超音波距離センサ
(3) Arduino IDE 1.8.10

3. Arduino IDE ライブラリ

Arduino IDE ライブラリを2つ使っています.
ライブラリは, Gitからインクルードしています(以下リンクから各Gitライブラリにアクセス可).
(1) M5Stackライブラリ
(2) Grove超音波距離センサの制御用ライブラリ

M5StackをArduino IDEで使うための初期設定(環境設定)は,本記事では終わっている段階です.

4. プログラム

Arduino IDEのシリアルモニタとM5Stackの画面両方で, 超音波距離センサの値が確認できます.
本プログラムでは, 黒画面に黄色文字で表示しています.
超音波距離センサはcm, 整数表示です.

#include "Ultrasonic.h"
#include <M5Stack.h>

Ultrasonic ultrasonic(22);

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

  delay(500);

  M5.Lcd.setTextFont(2);
  M5.Lcd.setCursor(10, 10);


}
void loop()
{
  long RangeInCentimeters;

  Serial.println("The distance to obstacles in front is: ");

  RangeInCentimeters = ultrasonic.MeasureInCentimeters(); // two measurements should keep an interval

  M5.Lcd.clear();

  M5.Lcd.setCursor(10, 10);
  M5.Lcd.setTextColor(YELLOW);
  M5.Lcd.setTextSize(2);
  M5.Lcd.printf("Ultrasonic distance\n");

  M5.Lcd.setCursor(50, 50);
  M5.Lcd.setTextColor(YELLOW);
  M5.Lcd.setTextSize(2);
  M5.Lcd.printf("%d cm\n", RangeInCentimeters);
  delay(500);

  Serial.print(RangeInCentimeters);//0~400cm
  Serial.println(" cm");
  delay(500);

  M5.update();
}

5. 感想

今回は, 超音波距離センサの値を表示するところまでできたので, 次回はこれを使ってIoT通信に挑戦したいです!!