ESP32 チュートリアル 23/55 - ESP32 を使用したポテンショメーターの電圧測定 | SunFounder の ESP32 IoT キット

ESP32 チュートリアル 23/55 - ESP32 を使用したポテンショメーターの電圧測定 | SunFounder の ESP32 IoT キット

このチュートリアルでは、SunFounderのESP32モジュールを使用して、ポテンショメータからのDC電圧を測定する方法を学びます。このプロジェクトでは、ポテンショメータの位置に基づいてLEDをフェードさせる方法も示します。ポテンショメータを反時計回りに回すと、電圧の読み取り値が減少し、LEDがそれに応じてフェードします。この演習は、ESP32のアナログ-デジタルコンバータ(ADC)の使用に関する実践的な理解を提供します。

ポテンショメーター
ポテンショメーターまたは可変抵抗器
ポテンショメーターまたは可変抵抗器

ESP32は、内蔵のWi-FiおよびBluetooth機能を備えた強力なマイクロコントローラーで、IoTプロジェクトに最適です。このチュートリアルでは、アナログ入力機能を利用してポテンショメーターから電圧レベルを読み取り、これらの読み取りに基づいてLEDの明るさを制御します。結果として、ポテンショメーターを調整することでその強度が変化する応答性のあるLEDが得られます。

ハードウェアの解説

このプロジェクトには、以下のコンポーネントが必要です:

  • ESP32モジュール:ポテンショメーターの電圧を読み取り、LEDを制御する主要なマイクロコントローラー。
  • ポテンショメータ電圧を調整するために使用される可変抵抗器です。3つのピンがあります:2つは固定抵抗用、1つは変化するものです。
  • LED:ポテンショメーターの位置に基づいて明るさが制御される発光ダイオード。
  • 抵抗器:LEDを通る電流を制限するための220オームの抵抗器。

ポテンショメーターは、そのピン間の抵抗を変化させることで機能し、ESP32がADCを通じて読み取ることができる電圧を生成します。LEDの明るさは、アナログ読み取りに基づいて供給される電力を調整するためにパルス幅変調(PWM)を使用して制御されます。

データシートの詳細

配線指示

ESP32-23-fading-LED_pot-wiring

コンポーネントを配線するには、まずポテンショメーターを接続します。外側のピンの1つをESP32の3.3V電源に接続します。もう一方の外側のピンをグラウンド(GND)に接続します。ポテンショメーターの中央のピンはピンに接続します。35アナログ電圧を読み取るために使用されるESP32上で。

次に、LEDの長いピン(アノード)をピンに接続します。26ESP32を220オームの抵抗器を介して接続します。LEDの短いピン(カソード)をグラウンドに接続します。すべての接続が確実であることを確認し、LEDの向きを再確認して損傷を防ぎます。

Potentiometer or variable resistor

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

以下のコードスニペットは、ポテンショメータを読み取り、LEDを制御するためのESP32の設定方法を示しています。

const int potPin = 35; // Potentiometer connected to
const int ledPin = 26; // LED connected to

// PWM settings
const int freq = 5000; // PWM frequency
const int resolution = 12; // PWM resolution (bits)

この抜粋では、ポテンショメータとLEDのピンを定義します。また、PWMの周波数と解像度も設定され、これによりLEDの明るさのレベルが決まります。

次に、セットアップを初期化します。

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

  // Configure PWM
  ledcAttach(ledPin, freq, resolution);
}

setup関数では、シリアル通信を初期化し、LEDのPWM設定を構成します。このセットアップは、プログラムが開始されるときに一度実行されます。

最後に、ループ関数はポテンショメーターの値を継続的に読み取ってLEDの明るさを調整します。

void loop() {
  int potValue = analogRead(potPin); // read the value of the potentiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Read the voltage in millivolts

  ledcWrite(ledPin, potValue);
  // Serial output omitted for brevity
}

ループ内で、ポテンショメーターからアナログ値を読み取り、それをLEDの明るさを制御するために変換します。シリアル出力はポテンショメーターの値と電圧を表示し、読み取りの確認を助けます。

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

回路が正しくセットアップされ、コードがアップロードされると、ポテンショメーターを回すことでシリアルモニターに表示される電圧読み取り値が対応する変化を示すはずです。ポテンショメーターが調整されると、LEDは滑らかに明るくなったり暗くなったりします。LEDが期待した通りに反応しない場合は、配線接続を確認し、ポテンショメーターが正しく機能しているかを確認してください(動画内の11:30)。

動画のタイムスタンプ

  • 00:00 開始
  • 2:02 ポットとは何ですか
  • ポットの抵抗を測定する 4:15
  • 6:59 ドキュメンテーションページ
  • 8:56 配線の説明
  • 12:28 Arduinoコードの説明
  • 15:58 Arduino IDEでESP32ボードとCOMポートを選択中
  • 17:40 ESP32を使用したポット値の読み取りデモンストレーション

画像

Potentiometer or variable resistor
Potentiometer or variable resistor
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-wiring
ESP32-23-fading-LED_pot-wiring
potentiometer
potentiometer
822-ESP32 Tutorial 23/55- Arduino code for fading LED
言語: C++
コピーしました!

リソースと参考文献

ファイル📁

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