[ESP32]傾斜(水銀)スイッチ(KY-017)with Arduino IDE

ESP32

[ESP32]傾斜(水銀)スイッチ(KY-017) with Arduino IDE

はじめに

KY-017 は、傾斜(水銀)スイッチです。
水銀センサーと抵抗・LEDが基板上に接続されています。

ガラス製の容器の中に水銀が入っており、容器を傾けると水銀が移動します。端子に水銀が接触すると通電し、端子から水銀が離れると電気が通らなくなることで、傾きを検知しています。
チャタリングが発生しないという特徴があります。

水銀は強い毒性があるため、容器を割らないように注意してください。

KY-017 は、こちらのスターターキットの一部です。

開発環境

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

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

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

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

作業内容

配線図

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

KY-017ESP32開発ボード(38Pin)
GND
middle3.3V or 5V
SGPIO 23

ライブラリインストール

なし

スケッチ作成

#define TILT_SENSOR 23

void setup ()
{
  Serial.begin(115200);
  pinMode(TILT_SENSOR, INPUT);
}

void loop ()
{
  if (digitalRead(TILT_SENSOR) == HIGH) {
    Serial.println("Tilt not detected");
  } else {
    Serial.println("Tilt detected !!");
  }
  delay(1000);
}
コード説明

使用するGPIOピンを設定します。

#define TILT_SENSOR 23

使用するGPIOピンをインプットに設定します。

  pinMode(TILT_SENSOR, INPUT);

HIGH,LOWを読み取ります。

  if (digitalRead(TILT_SENSOR) == HIGH) {

水銀が端子に接触しているとき、 LOW となります。

動作確認

KY-017 を傾けてみてください。

水銀が端子に接触していない時、LEDが消灯しシリアルモニタに「Tilt not detected」と表示されます。
水銀が端子に接触している時、LEDが点灯しシリアルモニタに「Tilt detected !!」と表示されます。

おわりに

コメント

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