ESP32チュートリアル 54/55 - Wifi経由でWS2812 LEDストリップの色を設定 | SunFounderのESP32 IoT学習キット

ESP32チュートリアル 54/55 - Wifi経由でWS2812 LEDストリップの色を設定 | SunFounderのESP32 IoT学習キット

このチュートリアルでは、ESP32マイクロコントローラーを介してWi-FiでWS2812 RGB LEDストリップの色を制御する方法を学びます。カラー選択ツールを使用することで、モバイルデバイスやデスクトップから異なる色を選択し、その情報をLEDストリップに送信できます。このプロジェクトは、ESP32の機能を示しており、ウェブインターフェースを介してLED照明とのシームレスな相互作用を可能にします。

ESP32-54モバイルスクリーンメイン

ESP32 マイクロコントローラーは Wi-Fi と Bluetooth の両方を備えており、IoT アプリケーションにとって多目的な選択肢です。このプロジェクトでは、LED ストリップを制御するために Wi-Fi 機能に焦点を当てます。ユーザーは色を動的に選択でき、視覚的に魅力的な体験を作り出します。このプロジェクトについてのさらに明確な情報を得るために、(ビデオで 00:00) のビデオをぜひご覧ください。

ハードウェアの解説

このプロジェクトの主な構成要素には、ESP32マイクロコントローラーとWS2812 LEDストリップが含まれています。ESP32は強力なマイクロコントローラーで、内蔵のWi-Fi機能により、ワイヤレス通信と制御が可能です。

WS2812 LEDストリップは、個別にアドレス指定可能なRGB LEDで構成されており、各LEDの色を独立して設定することができます。各LEDは、制御回路とRGB LEDを1つのパッケージに組み込んでおり、複数のLEDの配線や制御を簡素化します。

データシートの詳細

製造業者 ワールドセミ
部品番号 WS2812B
ロジック/IO電圧 3.5-5.3 V
供給電圧 5 V
出力電流(チャネルごと) 20 mA
ピーク電流(チャネルあたり) 60 mA
PWM周波数ガイダンス 400ヘルツ
入力論理の閾値 0.3 × VDD (低), 0.7 × VDD (高)
電圧降下 / RDS(on)/ 飽和度 0.5 V
熱的制限 -40から+80 °C
パッケージ 5050 SMD
ノート / バリアント さまざまな長さと構成で利用可能です。

  • LEDを損傷させないように、適切な電源を確保してください。
  • ESP32とLEDストリップの間に共通のグラウンドを使用してください。
  • データラインは短く保ち、信号劣化を防いでください。
  • 電源に安定性を持たせるために、コンデンサー(1000 µF)を追加することを検討してください。
  • データラインに抵抗器(470 Ω)を使用して信号の整合性を保ちます。

配線指示

ESP32-12-WS2812-wiring

ESP32をWS2812 LEDストリップに配線するには、コンポーネントを次のように接続します。最初に、LEDストリップの5VピンをESP32の5V出力に接続します。次に、LEDストリップのグランド(GND)ピンをESP32のGNDピンに接続します。最後に、LEDストリップのデータピン(通常はDIまたはData Inとラベル付けされています)をESP32のGPIOピン13に接続します。すべての接続が安全であることを確認して、正しい機能を確保してください。

動画では代替配線方法について簡単に言及されていますが、ここで説明されている設定は最適なパフォーマンスのために推奨される構成です(動画の03:00)。

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

コードは、WS2812 LEDストリップを制御するための必要なライブラリを含め、ウェブサーバーを設定することから始まります。LEDピンは次のように定義されます。LED_PINストリップ内のLEDの数は設定されています。NUM_LEDS.

#define LED_PIN 13 // NeoPixel LED strip
#define NUM_LEDS 8 // Number of LEDs
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800); 

このスニペットは、NeoPixelライブラリを初期化し、指定されたピンにLEDストリップを設定します。Adafruit_NeoPixel物体、stripLEDの色を制御するために使用するものです。

次に、コードはWi-Fiを初期化し、受信リクエストを処理するためのウェブサーバーをセットアップします。ネットワークのSSIDとパスワードが定義され、ESP32がWi-Fiに接続できるようになります。

const char *ssid = "your_SSID";
const char *password = "your_PASSWORD";
WebServer server(80);

この抜粋では、置き換えますyour_SSIDそしてyour_PASSWORD実際のWi-Fiの認証情報を使用して。この接続により、ESP32は同じネットワーク上のデバイスと通信できるようになり、LEDストリップのリモートコントロールが可能になります。

LEDの色を変更する主な機能はsetColor()各LEDを順番に処理し、選択したRGB値に基づいてその色を設定します。

void setColor() {
  for (int i = 0; i < NUM_LEDS; i++) {
    strip.setPixelColor(i, valueR, valueG, valueB); // Set the color of the i-th LED
    strip.show(); // Update the LED strip with the new colors
    delay(10); // Wait for 10 milliseconds
  }
}

この機能は、ストリップ内の各LEDが選択した色に更新されることを保証します。遅延により、LEDはスムーズに色を変更します。ウェブインターフェースと対話する際、この機能が呼び出されてあなたの色の選択を反映します。

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

ESP32-54-モバイルスクリーン-1
ESP32-54モバイルスクリーンT-2

設定が完了すると、ESP32のIPアドレスを通じてウェブインターフェースにアクセスできるようになります。任意の色を選択できるカラー Picker が表示され、その色が LED テープに送信されます。ESP32がWi-Fi接続を失うと、テープは警告色で点滅し、問題を示します(動画の14:30にて)。

一般的な落とし穴には、配線の誤りが含まれ、これによりLEDが点灯しないことや、不正なSSID/パスワードの組み合わせを使用することによってESP32がネットワークに接続できなくなることがあります。接続と認証情報を必ず再確認してください。

ビデオのタイムスタンプ

  • 00:00 開始
  • 2:01 プロジェクトの紹介
  • 3:09 ドキュメント
  • 3:47 RGBカラーの説明
  • 7:47 配線
  • 8:40 Wi-Fiで説明されたWS2812用のArduinoコード
  • 19:35 Arduino IDEでESP32ボードとCOMポートを選択する
  • 21:17 Wi-Fiを介してLEDストリップを制御するデモ

画像

ESP32-12-WS2812-wiring
ESP32-12-WS2812-wiring
ESP32-54-movile-screen-1
ESP32-54-movile-screen-1
ESP32-54-movile-screen-t-2
ESP32-54-movile-screen-t-2
ESP32-54-movile-screen-main
ESP32-54-movile-screen-main
855-ESP32 Tutorial 54/55- Arduino code Set WS2812 LED Strip Color over Wifi
言語: C++
コピーしました!

リソースと参考文献

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

ファイル📁

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