ESP32 チュートリアル 21/55 - PIR モーションセンサーを使用した人間の検出 | SunFounder の ESP32 IoT 学習キット

ESP32 チュートリアル 21/55 - PIR モーションセンサーを使用した人間の検出 | SunFounder の ESP32 IoT 学習キット

このチュートリアルでは、ESP32を使用してPIRモーションセンサーで人の存在を検出する方法を学びます。ESP32はWi-FiとBluetoothの両方の機能を備えた強力なマイクロコントローラーで、IoTプロジェクトに最適です。PIRセンサーを統合することで、動きが検出されるたびにLEDまたはブザーをアクティブにするシステムを構築でき、人間の活動を監視するシンプルで効果的な方法を提供します。

PIR センサー RE 200B

PIR(パッシブ赤外線)センサーは、特に人間のような温かい物体から発せられる赤外線を感知することで動きを検出します。動きが検出されると、センサーはESP32に信号を送り、これによりLEDの点灯やブザーの鳴動などの出力をトリガーすることができます。このチュートリアルでは、システムを正しく機能させるために必要なハードウェアのセットアップ、配線、コードについて説明します(ビデオは00:45で)。

ESP32-21_motion_sensor-回路図

ハードウェアの解説

このプロジェクトにはいくつかの重要なコンポーネントが含まれています。ESP32マイクロコントローラは操作の頭脳として機能し、センサデータを処理し、出力を制御します。PIRモーションセンサは赤外線放射の変化を測定することで動きを検出します。LEDまたはブザーは動きが検出されると視覚的または音響的なアラートを提供します。

ESP32はWi-FiとBluetoothを搭載しており、クラウド接続などの拡張機能を可能にします。PIRセンサーはレンズを含んでおり、赤外線を焦点に当てることで熱電対センサーに導きます。このセンサーは赤外線レベルの変化を検知すると電圧信号を生成し、動きを示します。

データシートの詳細

製造元 サンファウンダー
部品番号 PIRセンサーフィルム
論理/IO電圧 3.3 V
供給電圧 3.3 V
出力電流(チャンネルごと) 最大20 mA
ピーク電流(チャネルあたり) 最大50 mA
PWM周波数ガイダンス N/A
入力ロジック閾値 0.3 V (低), 2.0 V (高)
電圧降下 / RDS(on)/ 飽和度 N/A
熱的限界 0 から 70 °C
パッケージ モジュール
ノート / バリアント 調整可能な感度と遅延

  • 適切な電源供給(3.3 V)を確保して、損傷を避けてください。
  • LEDのために抵抗器を使用して電流を制限してください。
  • 適切な配線を維持して短絡を防止してください。
  • 必要に応じてPIRセンサーのツマミを調整して感度と遅延を設定してください。
  • さまざまな環境でセンサーをテストして、最適なパフォーマンスを確認してください。

配線指示

ESP32-21_motion_sensor-wiring

PIRセンサーとLEDをESP32に接続するには、まずPIRセンサーのVCCピンをESP32の3.3 V出力に接続します。次に、PIRセンサーのグラウンドピンをESP32のグラウンドピンに接続します。信号ピン(多くの場合、次のようにラベル付けされています)SPIRセンサーからの)はESP32のGPIOピン14に接続する必要があります。

LEDの場合、長い脚(アノード)を220オームの抵抗を通してGPIOピン26に接続し、短い脚(カソード)をグラウンドに接続します。すべての接続が確実であることを確認し、適切に機能するようにしてください。LEDの代わりにブザーを使用する場合は、ブザーの1ピンをGPIOピン26に接続し、もう1ピンをグラウンドに接続し、LEDのセットアップを置き換えます。

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

コード内で、PIRセンサーとLEDのピン番号を定義します。私たちは使用します。const int pirPin = 14;PIRピンを設定してconst int ledPin = 26;LEDピン用です。これらの定数は、プログラムの実行中にピン番号が変更されないことを保証します。

const int pirPin = 14;  // the number of the pir pin
const int ledPin = 26;     // LED pin

このスニペットは、使用するピンを初期化します。setup()関数では、PIRピンを入力として、LEDピンを出力として設定します。この設定は、センサーの状態を読み取り、LEDを制御するために重要です。

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

中でloop()機能として、PIRセンサーの状態を継続的に読み取ります。digitalRead(pirPin);センサーが動きを検知した場合(HIGH状態で示される)、LEDを点灯させます。digitalWrite(ledPin, HIGH);そうでなければ、LEDを消します。

if (pirState == HIGH) {
    digitalWrite(ledPin, HIGH);  // turn LED on
} else {
    digitalWrite(ledPin, LOW);    // turn LED off
}

このロジックにより、LEDはPIRセンサーによって検知された動きに応答します。完全な機能を確保するために、この記事の下に提供された完全なコードをアップロードしてください。

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

すべての設定が完了し、コードがアップロードされると、PIRセンサーによって動きが検知されるとLEDが点灯します。センサーの前で動いてテストできます;LEDはすぐに点灯するはずです。センサーが遅延に設定されている場合、指定された時間の間は点灯し続け、その後再び消灯します(動画の12:15にて)。

一般的な落とし穴には、不適切な配線が含まれ、これによりセンサーが機能しなくなることがあります。PIRセンサーに適切な電源が供給されており、信号ピンがESP32の正しいGPIOピンに接続されていることを確認してください。PIRセンサーの感度と遅延のつまみを調整することで、環境に応じたパフォーマンスの最適化にも役立ちます。

ビデオのタイムスタンプ

  • 00:00 スタート
  • 1:54 PIRセンサーの紹介
  • 6:38 配線の説明
  • 10:21 Arduinoコードの説明
  • 12:45 Arduino IDEでESP32ボードとCOMポートを選択中
  • 14:27 PIRセンサーのデモとキャリブレーション

画像

ESP32-21_motion_sensor-wiring
ESP32-21_motion_sensor-wiring
PIR SENSOR RE 200B
PIR SENSOR RE 200B
ESP32-21_motion_sensor-schematic
ESP32-21_motion_sensor-schematic
820-ESP32 Tutorial 21/55- Arduino code for motion sensor
言語: C++
コピーしました!

リソースと参考文献

まだリソースはありません。

ファイル📁

データシート(pdf)

他のファイル