[ESP32]傾斜(ボール)センサー(KY-020)with Arduino IDE

ESP32

[ESP32]傾斜(ボール)センサー(KY-020) with Arduino IDE

はじめに

KY-020 は、傾斜(ボール)センサーです。
傾斜(ボール)センサーと抵抗が基板上に接続されています。

センサーの中にボールが内蔵されており、そのボールが動くことで HIGH と LOW が切り替わります。
ただし、HIGH の場合は、常に HIGH となるわけではなく、HIGH と LOW を繰り返す動作をします。

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

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

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

ブレッドボード

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

抵抗内蔵LED

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

作業内容

配線図

KY-020 とは GPIO 23 を使用して接続します。
傾斜確認に抵抗内蔵LEDを GPIO12 に接続して使用しています。
(通常LEDを抵抗と一緒に接続しても良いですし、内蔵LEDのあればそちらでも可。)
傾斜(ボール)センサーの性質上、シリアルモニタでの確認はややこしいと思います。

KY-020ESP32開発ボード(38Pin)
GND
middle3.3V or 5V
SGPIO 23
抵抗内蔵LEDESP32開発ボード(38Pin)
アノード(長い方)GPIO12
カソード(短い方)GND

ライブラリインストール

なし

スケッチ作成

#define TILT_SENSOR 23
#define LED 12

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

void loop ()
{
  if (digitalRead(TILT_SENSOR) == HIGH) {
    digitalWrite(LED, HIGH);
  } else {
    digitalWrite(LED, LOW);
  }
}
コード説明

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

#define TILT_SENSOR 23
#define LED 12

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

  pinMode(TILT_SENSOR, INPUT);
  pinMode(LED, OUTPUT);

HIGH,LOWを読み取ります。

  if (digitalRead(TILT_SENSOR) == HIGH) {
動作確認

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

どの状態が通常位置なのか調べてもわかりませんでしたが、ブレッドボードに刺した状態では、LOW となり、そこから傾けると HIGH となって LED が点灯しました。

ただし、HIGH になる時、常に HIGH になっているわけではなく、HIGH LOW を繰り返しています。
よって、シリアルモニタで確認する場合は、注意が必要です。
(LEDでは、HIGH LOW の繰り返しが短いため点灯しているように見えます。)

おわりに

コメント

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