高感度な非指向性振動センサーです。
モジュールが安定している状態では回路がオンとなり、出力はハイレベルです。動きや振動が発生すると、回路が一時的に断たれ、出力はローレベルになります。同時に、ご自身のニーズに応じて感度を調整することも可能です。
https://wiki.seeedstudio.com/Grove-Vibration_Sensor_SW-420
M5StickC Plus2 × Grove Vibration Sensor(SW-420)
(直挿し・即動作)
1. 準備
- M5StickC Plus2
- Grove – Vibration Sensor(SW-420)
- Groveケーブル
2. 接続
- Grove端子にそのまま挿す
- 以上
※前の Magnetic Switch と同じ
3. 動作の考え方(1行)
- 静止中:HIGH
- 揺れた瞬間:LOW(一瞬)
👉「揺れたら 0 になるスイッチ」
4. 最小サンプルコード(画面表示)
#include <M5Unified.h>
const int VIB_PIN = 32; // Grove端子(SDA側)
void setup() {
M5.begin();
pinMode(VIB_PIN, INPUT);
M5.Display.setTextSize(2);
}
void loop() {
int v = digitalRead(VIB_PIN);
M5.Display.setCursor(0, 0);
if (v == LOW) {
M5.Display.println("STABLE ");
} else {
M5.Display.println("VIBRATION!");
}
delay(50);
}
5. 確認方法
- 書き込み
- 本体を 軽くトントン する
STABLE→VIBRATION!
が一瞬でも出れば成功

6. 感度調整(重要)
- 基板上の 青い可変抵抗(VR1) を回す
- 時計回り:鈍感
- 反時計回り:敏感
👉 授業では
「反時計回りに回しすぎると常に反応する」
だけ言えば十分
7. よくあるハマりどころ
Q. ずっと反応しない
- 可変抵抗が鈍感すぎ
→ 少しずつ反時計回りに回す
Q. 常に反応する
- 敏感すぎ
→ 時計回りに戻す
8. 注意(1行だけ)
Grove端子は5Vです。今回は簡単のため直挿ししています。
(※前回と同じ注意書きでOK)
9. 何に使える?
- 振ったら反応する ウェアラブル入力
- 落下・衝撃検知