#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通信に挑戦したいです!!