🥃

M5Stackを学ぶ その4(水位計)

2024/07/07に公開

はじめに

蒸し暑くて寝れなかったので夜遅くの更新となります。

今回作成するのは水位計です。使うパーツはWater Level Sensorです。

※テストする際は水を扱うことになるため、十分注意して行ってください。電子機器の周りには基本的には水分は厳禁です。

それでは始めていきましょう!

1,配線

画像を取り忘れました。ごめんなさいm(__)m

配線は+(プラス)マークの部分を5vに接続し、-(マイナス)マークの部分をGNDに接続。Sのマークの部分を今回は36pinに接続して行いました。

2,コーディング

今回のコードはこちらになります。パーツ単体なので設計は省いて行いました。

#include <M5Stack.h>

// 水位センサーの接続ピン
const int waterLevelSensorPin = 36;

void setup() {
  // M5Stackの初期化
  M5.begin();
  
  // シリアル通信の初期化
  Serial.begin(115200);

  // ディスプレイの初期設定
  M5.Lcd.clear();
  M5.Lcd.setTextSize(2);
  M5.Lcd.setCursor(0, 0);
  M5.Lcd.print("Water Level:");
}

void loop() {
  // センサーからの値を読み取る
  int sensorValue = analogRead(waterLevelSensorPin);

  // 読み取った値をシリアルモニタに表示
  Serial.print("Sensor Value: ");
  Serial.println(sensorValue);

  // 水位の計算(必要に応じて調整)
  float waterLevel = map(sensorValue, 0, 4095, 0, 100);

  // ディスプレイに水位を表示
  M5.Lcd.setCursor(0, 30);
  M5.Lcd.fillRect(0, 30, 320, 20, BLACK);  // 以前の表示をクリア
  M5.Lcd.print(waterLevel);
  M5.Lcd.print(" %");

  // 1秒待機
  delay(1000);
}

M5Stackのライブラリのみで可能だったため、ライブラリの追加は今回は必要ありません。

3,テスト

実際に使ってみます。

上から

横から

目視確認ですが、ちゃんと動いていますね!よかったです。

4,おわりに

水位計は植物の管理などで活用できそうなので、前回作成した温湿度センサーなどと組み合わせて使ってみると面白いかもしれません。

短いですが、今回はこれで失礼します。お疲れさまでした。

Discussion