[ESP32]振動センサースイッチ(KY-002/SW-18015) with Arduino IDE
はじめに
SW-18015 は、振動センサースイッチです。
KY-002 は、SW-18015 の振動センサースイッチと抵抗が基板上に接続されています。
データシート👇
https://soldered.com/productdata/2016/02/Soldered_SW-18020_datasheet.pdf

KY-002 は、こちらのスターターキットの一部です。
開発環境
OS : Windows 11 Pro
ESP32:ESP-WROOM-32
統合開発環境 : Arduino IDE 2.3.2
Arduino core for the ESP32:2.0.17
使用ライブラリ:なし
使用パーツ
ESP32開発ボード(38Pin)

電子工作ステーション https://electronicwork.shop/items/64134541d91711003035a5a6
振動センサースイッチ (KY-002/SW-18015)
ジャンパーワイヤー(メスーメス)
センサーについている場合は、必要ありません。
電子工作ステーション https://electronicwork.shop/items/637f92415988dc5175f8a9ec
作業内容
配線図
KY-002 とは GPIO 23 を使用して接続します。

KY-002 | ESP32開発ボード(38Pin) |
– | GND |
S | GPIO 23 |
ライブラリインストール
なし
スケッチ作成
#define VIBRATION_SENSOR 23
void setup ()
{
Serial.begin(115200);
pinMode(VIBRATION_SENSOR, INPUT_PULLUP);
}
void loop ()
{
if (digitalRead(VIBRATION_SENSOR) == LOW) {
Serial.println("Vibration detected !!");
delay(250);
}
}
コード説明
使用するGPIOピンを設定します。
#define VIBRATION_SENSOR 23
使用するGPIOピンをプルアップに設定します。
pinMode(VIBRATION_SENSOR, INPUT_PULLUP);
HIGH,LOWを読み取ります。
if (digitalRead(VIBRATION_SENSOR) == LOW) {
プルアップに設定したため通常は HIGH になりますが、振動を検知した場合にスイッチが OFF になり LOW となります。
動作確認
KY-002 を軽く叩くか、指で弾いてみてください。

振動を検知した時に、「Vibration detected !!」と表示されれば、成功です。
ゆっくり動かしても反応せず、叩いたり弾いたりして振動させると反応すると思います。
コメント