工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

MSGEQ7オーディオビジュアライザー付きRGB LEDバックライト(TV・デスク用)

部品と材料

Arduino Nano R3×1
Digilent WS2812 アドレサブルLEDストリップ×1
MSGEQ77バンド グラフィックイコライザー オーディオスペクトラムアナライザー×1
Digilent 5V 2.5A スイッチング電源×1

必要な工具と機械

ハンダごて(汎用)

アプリとオンラインサービス

Arduino IDE

このプロジェクトについて

これは私のオリジナル Instructables からの移植です(こちらをクリック)。

TVやデスクの背面用 RGB LEDバックライト の作り方を紹介します。

回路は非常にシンプルです。WS2812 LEDストリップ は Arduino Nano などと非常に簡単にインターフェースできます。

注意: オーディオビジュアライザー機能が不要な場合、MSGEQ7オーディオアナライザー回路は省略可能です。

使用部品の詳細リストと購入先:

ステップ1:回路図の作成

メイン回路:

WS2812ストリップとArduinoの接続は、Adafruit_NeoPixelライブラリを使えば非常に簡単です。

LEDストリップは3ピン:VCC、DATA、GND。VCCを5V、GNDをGND、中央の DATAピン を ArduinoのD6(LED_DATA) に接続。ストリップ上の各LEDに搭載されたWS2812チップがデータを受け取り、次のLEDへパススルーするため、最初のLEDに一度データを送るだけで全LEDを制御できます。

モード切替用タクトスイッチと輝度調整用ポテンショメータのロジックは次ステップで説明します。

正確な回路図は、ダウンロード可能なFritzingファイルのスクリーンショットをご覧ください。

重要: Arduinoの5Vピンを電源に接続する際は、必ずダイオードを介して 接続してください。そうしないとUSBケーブルを挿してプログラム書き込みをした際にArduinoが破損する恐れがあります。10nFと1000μFのコンデンサも安全対策(電源変動防止)として入れています。

MSGEQ7回路:

MSGEQ7をArduinoに接続する最も一般的な回路です。ここで 3.5mmオーディオジャック が必要です。ほとんどのオーディオジャックの中央ピンがGND、左右のピンがステレオチャンネルで、それぞれ10nFコンデンサを介してMSGEQ7のSignal Inピンに接続します。感度調整用にSignal Inピンにポテンショメータを追加することも可能ですが、必須ではありません。

MSGEQ7 と Arduino の接続: Analog Outピン → A1 (MSGEQ_OUT)、 Strobeピン → D2 (STROBE)、 Resetピン → D5 (RESET)。

rgb_controller.fzz

ステップ2:コード

GitHub に 完全なスケッチ を公開: RGBStripe_Control_WS2812

コードのポイント:

コード内で、LED数(ご自身の環境に合わせてNUM_LEDSを変更)、ArduinoのLED_DATA接続ピン、カラーデータ伝送のコーディングタイプと速度を指定して Adafruit_NeoPixel オブジェクトを生成します。

setup() で setBrightness(0-255) でデフォルト輝度を設定し、begin() でストリップを開始。setPixel(LED, Color) で各ピクセル/LEDを個別にRGB色指定し、設定完了後に strip.show() でストリップを更新。これがアニメーションプログラミングの基本ロジックです。

アニメーション/モード制御のために タクトスイッチ を追加。一方をVCC、もう一方を Arduino D3ピン と10kΩ抵抗でGNDに接続。setup() でこのピンに 割り込みをアタッチ し、ボタン押下時に changeMode() を呼び出すようにします。changeMode() では単純に 次のモードへ切り替え、現在のアニメーションを中断させます。すると loop() が再実行され、新しいアニメーション/モードが再生されます。

用意されているアニメーション:虹色フェード、赤、緑、青、白、ミュージックアナライザーモード

さらに 10kΩポテンショメータでストリップの輝度を制御 できるようにしました。checkBrightness() メソッドで、ピンA2(ポテンショメータ中央ピン)の出力を読み取り、ストリップの輝度を更新します。

musicAnalyzer() モード(MSGEQ7使用)について:

このモードでは、MSGEQ7のSignal Inに接続された オーディオ信号を可視化 します。MSGEQ7は単一のオーディオバンド(8バンド、低域から高域へ)を示すアナログ信号を出力します。musicAnalyzer() メソッドは、MSGEQ7をリセットしてからアナログ値をバッファリングすることで 現在のオーディオバンドの値を取得 します。Strobeピンに立上りエッジを与えることで出力バンドを切り替えます。全8バンドをバッファリング後、すべてのLEDピクセル値を1つ後ろにシフトし、LED 0の新しい値を計算** します。色構成は: 低域(ベース)→ 赤、中域 → 緑、高域 → 青。新しい値を読み込む前にシフトすることで、滑らかなタイムベースのアニメーションになります。

ステップ3:PC側のオーディオ設定

音楽/オーディオをMSGEQ7に入力しつつ、スピーカーでも再生するには、Realtek HDのステレオミックス機能を使うか、サウンドカード/マザーボードのリアスピーカー出力にMSGEQ7のオーディオ入力を接続します。

Windows 10でステレオミックスを有効化するには、タスクバーのスピーカーアイコンを右クリック → 「サウンド」 → 「録音」タブでステレオミックスを右クリック → 「有効」。表示されない場合は右クリック → 「無効なデバイスの表示」を選択。ステレオミックスのプロパティで「このデバイスを聴く」にチェックし、メインスピーカーの音声をコピーするように設定。

リアスピーカー出力を使う場合、メインスピーカーのプロパティ → 「拡張」タブ → 「環境」から「部屋」を選択。

これでスピーカーとMSGEQ7の並行オーディオ出力が可能になります。

ステップ4:補足

回路がシンプルで小型のため、USBコネクタ、オーディオジャック、DCジャック、ポテンショメータ、タクトスイッチ用の穴を開けた小さな箱に全回路を収納できます。オス/メスピンヘッダとジャンパーワイヤーでWS2812ストリップの3線を接続すれば完成です。

コード

Arduinoスケッチ ダウンロード

https://github.com/PhilKes/RGBStripe_Control_WS2812

回路図

ArduinoとWS2812ストリップのブレッドボード接続図(ポテンショメータによる輝度制御付き)

MSGEQ7オーディオビジュアライザー付きRGB LEDバックライト(TV・デスク用)

fvwp3zyjs5c4z851_12HuWgZiDT.fzz

スタンドアロンMSGEQ7回路図(オーディオビジュアライザーモードのみで使用)

Signal Inを3.5mmオーディオジャックのL/Rチャンネルに、その他の制御ピンをもう一方の回路図通りに接続

MSGEQ7オーディオビジュアライザー付きRGB LEDバックライト(TV・デスク用)

製造プロセス

  1. 自作LUMAZOID:Arduino音楽ビジュアライザーDIYガイド
  2. Arduinoオーディオ周波数検出器 – 高感度サウンドモジュールで最大音量ピークの周波数を測定
  3. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  4. Arduino UNOとDFPlayer Miniで音声を再生する方法 - ステップバイステップガイド
  5. スマートArduino四足歩行ロボットの製作:ステップバイステップガイド
  6. Arduino RGB LEDカラーミキサー:初心者向けDIYプロジェクト
  7. DIY ArduinoラジオニクスEMR治療デバイスの構築
  8. 屋外対応DMX制御RGB LED投光器 – 低コスト・高性能・自作PCB
  9. DIY LEDルーレットゲーム – Arduino Nanoで作る1人用アーケードゲーム
  10. Arduino駆動スマート自動駐車場システムの製作
  11. パルス光センサー:LED光パルスを増幅して可聴音に変換