[ESP32]リードスイッチ(KY-021) with Arduino IDE
はじめに
KY-021 は、リードスイッチです。
リードスイッチと抵抗が基板上に接続されています。
ガラス管内にリードの一部が入っている。磁石を近づけることによりリードが磁化され、たわむことによりリードとリードが接触して通電する。
KY-003 では片極のみ反応していたが、リードスイッチは両極反応する。
KY-021 は、こちらのスターターキットの一部です。
開発環境
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-021)
リンク
ジャンパーワイヤー(メスーメス)
センサーについている場合は、必要ありません。
リンク
電子工作ステーション https://electronicwork.shop/items/637f92415988dc5175f8a9ec
作業内容
配線図
KY-021 とは GPIO 23 を使用して接続します。
KY-021 | ESP32開発ボード(38Pin) |
– | GND |
S | GPIO 23 |
ライブラリインストール
なし
スケッチ作成
#define REED_SWITCH 23
void setup() {
Serial.begin(115200);
pinMode(REED_SWITCH, INPUT_PULLUP);
}
void loop() {
if (digitalRead(REED_SWITCH) == LOW) {
Serial.println("Magnetic detected !!");
delay(1000);
}
}
コード説明
使用するGPIOピンを設定します。
#define REED_SWITCH 23
使用するGPIOピンをインプットプルアップに設定します。
pinMode(REED_SWITCH, INPUT_PULLUP);
HIGH,LOWを読み取ります。
if (digitalRead(REED_SWITCH) == LOW) {
プルアップに設定したため通常は HIGH になり、磁石を検知した場合にスイッチが ON になり LOW となります。
動作確認
KY-021 に磁石を近づけてみてください。
シリアルモニタに「Magnetic detected !!」と表示されれば、成功です。
コメント