NeoPixel / WS2812 RGB LED入門

[ 動画を再生します ]

このInstructableでは、アドレス可能なRGB LED(WS2812)または一般的にAdafruit NeoPixelとして知られているものについて調査します。 NeoPixelは、パルス、カラフルなミニチュアLEDのリング、ストリップ、ボード、スティックのファミリーです。 これらは次から次へとチェーン可能であるため、NeoPixelsの長いラインに電源を供給してプログラムし、LEDの無限のストリングを形成できます。 これらのLEDストリップを使用して、プロジェクトに複雑な照明効果を追加できます。

私のプロジェクトはすべて//://www.opengreenenergy.com/にあります。

3つの明るいLED(赤、緑、青)と統合ドライバーチップ(WS2811)を含む小型5050(5mm x 5mm)表面実装パッケージが付属しています。 3つのLEDすべての状態、輝度、色を制御するために必要なデータ入力は1つだけです。 データ出力ピンを次のストリップのデータ入力ピンに接続することにより、LEDを理論的に任意の長さにデイジーチェーン接続できます。

RGB値(0-255)の組み合わせにより、ほぼすべての色を再現できるため、ある意味で制御可能なRGB LEDはユニバーサルLEDです。

ステップ1:使用する部品とツール

パーツ:

1. 8 x 8 Neo Matrix(バングッド)

2. Arduino Uno(Amazon)

3. 5V / 2A電源(アマゾン)

4. DCジャック(Amazon)

5.ジャンパー線(Amazon)

6. 8 x 32フレキシブルWS2812マトリックス(Sparkfun)

ツール:

1.はんだごて(Amazon)

2.ワイヤーカッター/ストリッパー(Amazon)

ステップ2:RGB LEDストリップのタイプ

RGB LEDストリップには、アナログストリップとデジタルストリップの2つの主要なタイプがあります。

1.アナログストリップ:

ストリップ内のすべてのLEDは並列に接続されているため、単一の巨大な3色LEDのように機能します。ストリップ/ストリング全体に特定の色を設定できます。非常に使いやすく、安価ですが、このタイプの制限LEDストリップは、個々のLEDの色を制御できないことです。

これらの各ストリップには、最初にLEDが(左から右に)表示され、続いてSMD抵抗器が表示されます。


2.デジタルストリップ:

デジタルストリップとは、各LEDを個別にアドレス指定し、異なる方法で作業することです。 彼らは、LEDごとにチップを持ち、デジタルコーディングされたデータをチップに送信する必要があるストリップを使用します。 チップは非常に複雑であるため、より高価です。

データの方向を示す矢印に注意してください。ストリップを逆方向に接続すると機能しません。

ステップ3:アドレス可能なRGB LEDストリップの種類

アドレス指定可能なLEDには、WS2801、WS2811、WS2812、WS2812Bなどの異なるモデル番号が付いています。 このタイプのLEDを初めて使用する場合は、それらの間で混乱する可能性があります。 基本的にWS2801およびWS2811は、最大3つのLEDを制御できるICの名前です。 ただし、WS2812は、WS2811 ICが5050 RGB LEDパッケージに直接統合された改良版です。 最新のモデルはWS2812Bです。

このチュートリアルでは、最新モデルWS2812Bを使用します。

画像ソース:Adafruit、Sparkfun、Polou

ステップ4:WS2801およびWS2811 / WS2812ピン

WS2801モデルには4つの入力ピン(Vcc、GND、Data、Clock)がありますが、WS2811およびWS2812モデルには3つのピンしかありません

(Vcc、GNDおよびデータ)

PIN ---> WS2801

5V->電源(+ 5V)

CI->クロック信号入力

CO->クロック信号出力

DI->データ入力

DO->データ出力

GND->グラウンド

PIN-> WS2812

5V->電源(+ 5V)
CI-> N / A

CO-> N / A

DI->データ入力

DO->データ出力

GND->グラウンド

ステップ5:電源

LEDストリッププロジェクトを開始する前に、まず考慮する必要があるのは電源です。これらのRGB LEDの1つには3つのLED(赤、青、緑)が含まれています。 単一のLEDが最大輝度で約20mAの電流を消費することがわかっているので、単一のWS2812 LEDは最大輝度-3mAで60mA(白色)を消費できます。

Arduinoで直接実行できますか?

答えは単純です。 ストリップ全体に必要な電流量は、Arduinoが処理できる量をはるかに超えるためです。

そのためには、個別の安定化電源が必要です。電源は正しい電圧を供給し、十分な電流を供給できる必要があります。 WS2812ストリップのほとんどでは、動作電圧は5ボルトDCです。

例: WS2812 8 x 8マトリックス(64個のLED)の場合、最大輝度(白色)に設定されたすべてのLEDで64 x 60mA = 3840 mA(3.84 A)が必要です。 しかし、それはお勧めできません、最大の寿命を得るために輝度を低く保ちます。

輝度を50%未満に設定することをお勧めします。 したがって、3.84 x 0.5 = 1.92Aが必要です

したがって、ある程度のマージンを取ることで、推奨される電源は5V / 2Aです。

ステップ6:電源の準備

追加の回路や個別のコンポーネントなしで、WS2812B LEDストリップを非常に簡単に制御できます。 Arduino、5V電源、およびいくつかのジャンパー線があれば、それで遊ぶことができます。

電源の準備:

NeoPixel LEDの実行には、5V / 2Aの安定化電源を使用しました。

2つのGND接続が必要です。1つはLEDストリップに、もう1つはArduinoに接続します。
そこで、DCジャックのマイナス端子に2本のワイヤとプラス端子に1本のワイヤをはんだ付けしました。

Arduino接続:

Arduino接続は非常に簡単です。

LEDストリップDIN-> Arduino D6

電源GND-> Arduino GND

外部電源を使用してLEDストリップとArduinoの両方に電力を供給している場合、5V電源をArduino 5Vピンに接続する必要があります。


Adafruitによるグッドプラクティス:

1. +および–端子間に大きなコンデンサ(1000 µF、6.3V以上)を追加します。 これにより、電流の初期突入によるピクセルの損傷が防止されます。

2.マイクロコントローラーのデータピンと最初のNeoPixelのデータ入力の間に300〜500オームの抵抗を追加すると、最初のピクセルに損傷を与える可能性のある電圧スパイクを防ぐことができます。 microとNeoPixelsの間に追加してください。

3. NeoPixelsを通電中の電源またはマイクロコントローラーに接続する場合は、他のすべての前に常にアース(–)を接続してください。 逆に、分離するときは最後にアースを外してください。

ステップ7:8x8 Neoマトリックスの駆動

LEDマトリックスには、WS8211ドライバーを使用する64個のRGB LEDが含まれています。 各ピクセルは個別にアドレス可能であり、すべてのLEDを制御するために必要なArduinoピンは1つだけです。

マトリックスの裏側には、入力(3ピン)と出力(3ピン)の2つのポートがあります。

入力ポートはArduinoおよび5V外部電源に接続されています。接続は次のとおりです。

マトリックス-> Arduino

DIN-> D6

GND-> GND

マトリックス->電源

5V ---> 5V

GND-> GND

注:電源とArduinoの両方のGNDを接続することを忘れないでください。

回路の電源を入れ、コードをアップロードして、いくつかのアニメーションを視聴します。 LEDの明るさを約30%に設定しました。

Arduinoコード:

コードとライブラリはzipファイルに添付されています。ダウンロードしてください。ソフトウェアを使用する方法を知るためにビデオを見ることができます。

添付ファイル

  • NeoPixel.zipダウンロード

ステップ8:柔軟な8X32 WS2812 RGB MATRIXの駆動

8x32フレキシブルマトリックスはかなりクールで、Sparkfunに注文しました。 アニメーション、ゲームを作成したり、楽しい電子テキスタイルプロジェクトに組み込むこともできます。 さらに、この柔軟なバッキングのおかげで、このLEDマトリックスは、ほとんどすべての曲線状の表面に収まるように曲げたり曲げたりできます。

arduinoとの接続は、他のNeoPixel LEDマトリックス/ストリップに似ています。

マトリックスには端子ワイヤが付属しているため、はんだ付けする必要はありません。

黄:GND

赤:+ 5V

緑:データ

この記事を楽しんだ場合、それを渡すことを忘れないでください!
DIYプロジェクトやアイデアについては、こちらをご覧ください。 ありがとうございました !!!

関連記事