[ESP32]振動センサースイッチ(KY-002/SW-18015) with Arduino IDE

ESP32

[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)

ESP32 Development Board ESP-32S NodeMCU-32S MICRO/TYPE-C Wireless Module WiFi+Bluetooth ESP-WROOM-32 IOT Expansion Board - AliExpress 502
Smarter Shopping, Better Living! Aliexpress.com

電子工作ステーション https://electronicwork.shop/items/64134541d91711003035a5a6

振動センサースイッチ (KY-002/SW-18015)

ジャンパーワイヤー(メスーメス)

センサーについている場合は、必要ありません。

電子工作ステーション https://electronicwork.shop/items/637f92415988dc5175f8a9ec

作業内容

配線図

KY-002 とは GPIO 23 を使用して接続します。

KY-002ESP32開発ボード(38Pin)
GND
SGPIO 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 !!」と表示されれば、成功です。
ゆっくり動かしても反応せず、叩いたり弾いたりして振動させると反応すると思います。

おわりに

コメント

タイトルとURLをコピーしました