ESP32 チュートリアル 22/55 - LED Arduino を使用して光を感じる | SunFounder の ESP32 IoT 学習キット

ESP32 チュートリアル 22/55 - LED Arduino を使用して光を感じる | SunFounder の ESP32 IoT 学習キット

このチュートリアルでは、ESP32マイクロコントローラを使用して光依存抵抗器(LDR)で光の強度を測定する方法を探ります。LDRの抵抗を読み取ることで、光のレベルが特定の閾値を超えたときにブザーを鳴らすなどのアクションをトリガーすることができます。このプロジェクトは、光レベルとESP32のアナログ読み取り機能の相互作用を示し、周囲の光に基づいて応答性の高いアプリケーションを作成できるようにします。(ビデオでは5:30に)

ハードウェアの解説

このプロジェクトで使用する主なコンポーネントは、ESP32マイクロコントローラー、LDR、および10 kΩの抵抗です。LDRは、その表面に当たる光の強さに基づいて抵抗を変化させます:光が多いほど抵抗は低くなり、光が少ないほど抵抗は高くなります。この特性により、抵抗とともにLDRを電圧分割回路に接続することで、さまざまな光レベルを測定することが可能になります。

ESP32マイクロコントローラーは、内蔵のWi-FiとBluetoothを備えており、IoTプロジェクトに最適です。さまざまな電圧レベルを読み取ることができるアナログピンをいくつか備えており、これを利用してLDRの電圧を監視します。この電圧は、ESP32が処理し、ブザーを作動させるなどのアクションをトリガーするために使用できるアナログ値に変換されます。

データシートの詳細

製造者エスプレッシフシステムズ
部品番号ESP32
ロジック/IO電圧3.3 V
供給電圧3.0 - 3.6 V
出力電流(GPIOごと)最大40 mA
PWM周波数ガイダンス1 kHz - 40 kHz
入力ロジック閾値高: 最小2.0 V, 低: 最大0.8 V
電圧降下 / RDS(on)/飽和0.3 V 最大
熱的制限-40 °C から 125 °C
パッケージQFN48
メモ / バリアント複数のWi-FiおよびBluetoothプロトコルをサポートしています。

  • LDRとともに10 kΩの抵抗器を直列に接続して電圧分割を行ってください。
  • ESP32は損傷を避けるために3.3 Vで電源を供給してください。
  • LDRと抵抗を正しく接続して光の強さを測定してください。
  • 必要に応じて、電源を安定させるためにコンデンサをデカップリングに使用してください。
  • アナログ読み取り値を確認し、期待される範囲内に収まっていることを確認してください。

配線指示

ESP32-22_light_sensor-wiring

LDRと抵抗をESP32に配線するには、まずLDRの一端をESP32の3.3 V電源ピンに接続します。LDRのもう一端は10 kΩ抵抗の一端に接続する必要があります。抵抗のもう一端をグラウンドに接続します。

次に、LDRと抵抗器の接続点からピンにジャンパー線を接続します。35ESP32上で。このセットアップは電圧分割回路を作成し、ESP32がLDRに当たる光の強度に基づいて変動する電圧を読み取ることを可能にします。すべての接続が安全であり、LDRが光の変化を正確に感知できる場所に配置されていることを確認してください。

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

コードでは、LDRからの読み取りを監視するためにシリアル通信を初期化することから始めます。ここでの重要な識別子はanalogValueピンからの読み取りを保存する、35.

void setup() {
  Serial.begin(115200);
}

void loop() {
  int analogValue = analogRead(35);
  Serial.printf("ADC analog value = %d\n",analogValue);
  delay(100);
}

このコードスニペットは、ボーレート115200でシリアルモニターを初期化し、ピンからアナログ値を継続的に読み取ります。35値はシリアルモニターに印刷され、異なる光レベルに応じてどのように変化するかを観察できるようになります。

光の強度が変化すると、LDRの抵抗が変わり、それに伴いESP32が読み取る電圧も変化し、光の状態を反映します(動画の12:45にて)。

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

プログラムを実行し、シリアルモニタを観察すると、あなたは次のものを見るべきです。ADC analog value周囲の光条件に応じて変動します。LDRを覆うと、値が増加し、高い抵抗を示すはずです。一方、明るい光にさらすと、値は大幅に低下します。この動作を利用して、あらかじめ設定された閾値に基づいてブザーやその他のアクションをトリガーすることができます。

読み取り値が期待通りに変わらない場合は、配線の問題を確認し、LDRが浮いていないことを確認し、ESP32が正しく電源供給されていることを確認してください。これにより、一般的な落とし穴を避け、スムーズな動作を確保できます(ビデオの15:30)。

動画のタイムスタンプ

  • 00:00 開始
  • 1:48 LDRの紹介
  • 8:33 配線の説明
  • 11:07 Arduinoコードの説明
  • 13:07 Arduino IDEでESP32ボードとCOMポートを選択する
  • 14:49 値の読み取りデモンストレーション
  • 17:24 昼と夜の価値を理解する
  • 18:47 DAC値と電圧の読み取り

画像

ESP32-22_light_sensor
ESP32-22_light_sensor
ESP32-22_light_sensor-wiring
ESP32-22_light_sensor-wiring
821-ESP32 Tutorial 22/55- Arduino code for Light dependant resistor
言語: C++
コピーしました!

リソースと参考文献

ファイル📁

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