[ESP32]タクトスイッチ(KY-004)with Arduino IDE

ESP32

[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-004ESP32開発ボード(38Pin)
GND
SGPIO 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 となります。

おわりに

コメント

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