[ESP32]タクトスイッチ(KY-004) with Arduino IDE
はじめに
KY-004 は、タクトスイッチです。
タクトスイッチと抵抗が基板上に接続されています。
タクトスイッチは、通常は通電しておらず、押している間のみ通電します。押すごとにONとOFFが切り替わるわけではありません。

KY-020 は、こちらのスターターキットの一部です。
開発環境
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-004)
リンク
ジャンパーワイヤー(メスーメス)
リンク
電子工作ステーション https://electronicwork.shop/items/637f92415988dc5175f8a9ec
作業内容
配線図
KY-004 とは GPIO 23 を使用して接続します。

KY-004 | ESP32開発ボード(38Pin) |
– | GND |
S | GPIO 23 |
ライブラリインストール
なし
スケッチ作成
#define TACTILE_SWITCH 23
void setup ()
{
Serial.begin(115200);
pinMode(TACTILE_SWITCH, INPUT_PULLUP);
}
void loop ()
{
if (digitalRead(TACTILE_SWITCH) == HIGH) {
Serial.println("OFF");
} else {
Serial.println("ON");
}
delay(500);
}
コード説明
使用するGPIOピンを設定します。
#define TACTILE_SWITCH 23
使用するGPIOピンをインプットプルアップに設定します。
pinMode(TACTILE_SWITCH, INPUT_PULLUP);
HIGH,LOWを読み取ります。
if (digitalRead(TACTILE_SWITCH) == HIGH) {
プルアップに設定したため、ボタンを押した場合は LOW となります。
動作確認
KY-004 を押してみます。

500msec毎に確認してシリアルモニタに状態を表示しています。
ボタンを押していない時は、OFF となり、押している間は ON となります。
コメント