前に戻る

これは Grove インターフェース互換のマグネットスイッチモジュールです。CT10 密閉型リードスイッチをベースにしています。CT10 は単極単投(SPST)タイプで、通常開のルテニウム接点を持っています。このセンサーは両端型であり、電磁石、永久磁石、またはその両方の組み合わせで作動させることができます。マグネットスイッチは、近接に基づいて回路をオン・オフするデザインを求める設計者にとって素晴らしいツールです。

https://wiki.seeedstudio.com/ja/Grove-Water_Sensor

M5StickC Plus2 × Grove 水センサー(Water Sensor)資料(Grove直挿し版)

1) 準備

  • M5StickC Plus2
  • Grove – Water Sensor
  • Groveケーブル

2) 接続

  • Grove端子にそのまま挿す(これだけ)

この水センサーは「濡れると導通して値が変わる」タイプ。
水が付くと LOW(0)、乾いてると HIGH(1) になります(仕様通りだと“反転”です)。


3) 最小サンプルコード(デジタル判定・画面表示)

M5のGrove信号線は GPIO32/33のどちらかを使います。前回DHTが33で動いたので、まず 33 からでOK。

#include <M5Unified.h>

const int WATER_PIN = 33;   // まず33(ダメなら32に変更)

void setup() {
  M5.begin();
  M5.Display.setTextSize(2);
  pinMode(WATER_PIN, INPUT);
}

void loop() {
  int v = digitalRead(WATER_PIN);

  // 仕様:濡れるとLOW、乾くとHIGH(反転に注意)
  bool wet = (v == LOW);

  M5.Display.setCursor(0, 0);
  if (wet) {
    M5.Display.println("WATER: YES ");
  } else {
    M5.Display.println("WATER: NO  ");
  }
  M5.Display.printf("RAW: %d     \n", v);

  delay(100);
}

4) 動作確認

  1. 書き込み
  2. センサーの電極部に 水滴をつける(指で触るだけだと反応が弱いことあり)
  3. WATER: NOWATER: YES になれば成功

5) よくあるトラブル

A) 反応しない

  • WATER_PIN33 → 32 に変えて再実行
  • 水滴が少なすぎる/電極が汚れてる → もう少し濡らす・拭く

B) ずっと YES(濡れてる扱い)

  • 電極が濡れたまま/汚れ・イオン(汗や飲み物)で導通してる
    真水で軽く洗って乾かす(授業だとこれが地味に効く)

6) 注意(授業用に最低限)

  • 電極を濡らしっぱなしにすると腐食しやすい(実験後は拭く)
  • Grove直挿しは簡単だけど、センサーによっては電圧周りが雑になるので「今回は簡単のため直挿し」でOK

7) 発展(やると教材として強い)

  • 「濡れた回数」カウント
  • 水滴量を見たい → 本当はアナログ入力で読む方が向いてる(※その場合はGrove端子ではなくADCピンに配線)