ESP32チュートリアル 18/55 - ESP32を使った傾き検出 | SunFounderのESP32 IoT学習キット

ESP32チュートリアル 18/55 - ESP32を使った傾き検出 | SunFounderのESP32 IoT学習キット

このチュートリアルでは、SunFounder ESP32マイコンを使用して、ティルトスイッチを使ったシンプルなプロジェクトを作成します。ティルトスイッチが作動するとLEDが消灯し、直立した位置にあるときはLEDが点灯します。このプロジェクトは、ティルトセンサーの操作を学ぶ素晴らしい導入だけでなく、さまざまなロボティクスアプリケーションの基礎としても機能します。詳細なビジュアルガイドについては、上記にリンクされた動画(00:00の動画)をチェックしてください。

傾斜スイッチ

ハードウェアの説明

このプロジェクトで使用される主なコンポーネントには、ESP32マイクロコントローラー、ティルトスイッチ、およびLEDがあります。ESP32は、Wi-FiとBluetoothが内蔵された強力なマイクロコントローラーであり、IoTアプリケーションに理想的です。ティルトスイッチは、中に金属球が入った簡単なデバイスです。傾くと球が動き、回路が切断されて傾きの状態を検出できるようになります。LEDは、スイッチの状態に基づいて傾きの状態を視覚的に示します。これらのコンポーネントに加えて、電流制限とプルダウン用に抵抗器も使用します。LEDに接続された220オームの抵抗器は、LEDが過剰な電流を引き込むことなく安全に動作することを保証します。10kオームの抵抗器はティルトスイッチのプルダウンとして機能し、スイッチが作動していないときに入力ピンが既知の状態を読み取ることを保証します。

データシートの詳細

製造業者 サンファウンダー
部品番号 ESP32
ロジック/入出力電圧 3.3 V
供給電圧 5 V
出力電流(チャンネルごと) 12 mA
ピーク電流(チャネルごと) 40 mA
PWM周波数ガイダンス 1 kHz
入力ロジック閾値 0.8 V (低), 2.0 V (高)
電圧降下 / RDS(on)/飽和度 0.2 V
熱的制限 85 °C
パッケージ ESP32モジュール
ノート / バリアント Wi-FiおよびBluetooth機能を含む

  • LEDの損傷を防ぐために、適切な抵抗値を確保してください。
  • 配線を整然と保ち、ショート回路を避けてください。
  • 傾斜スイッチからの安定した読み取りを確保するために、プルダウン抵抗を使用してください。
  • 回路に電源を入れる前に接続をテストして、コンポーネントの故障を避けてください。
  • 傾斜スイッチの向きを確認し、正確な機能を確保してください。

配線指示

ESP32-18_tile_wiring

コンポーネントを配線するには、極性がないチルトスイッチから始めますので、どちらの方向にも接続できます。チルトスイッチの1つのピンを3.3Vの電源に接続し、もう1つのピンをESP32のピン14に接続します。スイッチがアクティブでないときにピン14が既知の状態を読み取るために、同じピンからグラウンドに10kオームの抵抗を接続します。次に、LEDを取り、長い脚(アノード)を220オームの抵抗に接続してブレッドボードに挿入します。抵抗のもう一方の端をESP32のピン26に接続します。LEDの短い脚(カソード)はグラウンドに接続してください。最後に、ESP32のグラウンドピンをブレッドボードのグラウンドレールに、3.3Vピンを電源レールに接続します。ショートや不正確な読み取りを防ぐために、すべての接続を再確認することを忘れないでください。これらの手順に従えば、プログラミングの準備が整った機能的なチルトセンサーの設定が完了するはずです。

コード例とウォークスルー

コードは、傾斜スイッチとLEDのピン番号を定義することから始まります。傾斜スイッチはピン14に接続され、LEDはピン26に接続されています。傾斜スイッチの状態は変数に格納されます。tiltState.


// Set pin numbers
const int tiltPin = 14;  // Tilt Switch
const int ledPin = 26;   // LED

// Variable for storing the tilt status
int tiltState = 0;

この抜粋はピン割り当てと、傾き状態を追跡するための変数の宣言を示しています。tiltPinスイッチの状態を読み取るための入力として設定されています。そこでsetup()機能として、シリアル通信が初期化され、ティルトスイッチとLEDのピンモードが設定されます。これにより、ESP32はティルトスイッチからの入力を読み取り、LEDを適切に制御できるようになります。


void setup() {
  Serial.begin(115200);
  // Initialize the tilt pin as an input
  pinMode(tiltPin, INPUT);
  // Initialize the LED pin as an output
  pinMode(ledPin, OUTPUT);
}

このセクションは重要であり、環境を設定し、ESP32が傾きスイッチの状態に基づいて効果的に通信し、出力を制御できるようにします。loop()関数は傾斜スイッチの状態を継続的にチェックします。スイッチが垂直のときはLEDが点灯し、傾いているときはLEDが消灯します。現在の状態はデバッグのためにシリアルモニターに出力されます。


void loop() {
  // Read the state of the tilt switch
  tiltState = digitalRead(tiltPin);

  Serial.println(tiltState);
  // If the switch is upright
  if (tiltState == HIGH) {
    // Turn LED on
    digitalWrite(ledPin, HIGH);
  } else {
    // Turn LED off
    digitalWrite(ledPin, LOW);
  }
}

このループは継続的に実行され、ティルトスイッチの状態とそれに対応するLED制御のリアルタイム監視を可能にします。出力はシリアルモニタで確認できるため、機能を簡単に検証できます。

デモンストレーション / 期待すること

すべてが正しく配線され、コードがアップロードされると、傾斜スイッチが直立しているときにLEDが点灯し、傾けると消灯します。この傾斜状態とLEDの応答との直接的な相関関係は、傾斜スイッチの機能を効果的に示しています。一般的な落とし穴には、配線が正しいことを確認し、ショート回路を避けるために抵抗が適切に配置されていることを検証することが含まれます(ビデオの12:00で)。

ビデオのタイムスタンプ

  • 00:00 スタート
  • 1:44 イントロダクション プロジェクト
  • 2:49 ドキュメンテーション
  • 6:43 Arduino配線の説明
  • 10:39 Arduinoコードの説明
  • 13:40 Arduino IDEでESP32ボードとCOMポートを選択しています。
  • 15:22 プロジェクトティルトのデモンストレーション

画像

ESP32-18_tile_wiring
ESP32-18_tile_wiring
tilt_switch
tilt_switch
ESP32-18_tile_schematic
ESP32-18_tile_schematic
817-ESP32 Tutorial 18/55- Arduino code for tilt sensor
言語: C++
コピーしました!

リソースと参考文献

ファイル📁

ファイルは利用できません。