確かに、メーカーがこれらのRGBLEDのセットを複数回使用するプロジェクトを示しているのを見たことがあるでしょう。 これらのストリップの用途は、外部のイベントに応じて色を変えることができる単純な装飾から、光のレースに使用されるものまで、さまざまです。 そのため、この記事では、知っておくべき最も重要な情報をすべて紹介します。 ネオピクセル そしてそれをどのように統合することができるか Arduinoで制御.
ネオピクセルとは何ですか?
Neopixelは、AdafruitIndustriesの登録商標にすぎません。。 ただし、これらのコンポーネントの総称は、個別にアドレス指定可能なRGB LEDです(例:SK6812、WS2811、WS2812など)。 言い換えれば、制御信号の結果として機能し、異なる色を示し、特定の電源投入シーケンスを実行するなど、これらの色付きのライトを備えた論理回路です。
マトリックスを構成する各RGBLEDが4つのピンまたはコネクタを使用していることを知っておくことが重要です。 あなたのピン配置 次のとおりです。
- 5V:高レベル電源。
- GND:低レベルまたはグランドに電力を供給します。
- DIN:色情報を受け取るためのピン。
- 実施:色情報を送信するためのピン留め。
それに加えて、それは電子回路を可能なメモリと統合します 3バイトを格納します、各色にXNUMXつ。 詳細については、購入した特定のモデルのデータシートまたはドキュメントを読むことができます。バリエーションがある場合があります。
Neopixelを購入する場所
Si buscas ネオピクセルを購入する またはDIYプロジェクトの同様の要素は、いくつかの専門の電気店またはAmazonでも見つけることができます。 この点に関するいくつかの推奨事項は次のとおりです。
Neopixelをと統合する Arduino UNO
へ Neopixelまたは他のブランドをArduinoボードと統合する Arduino IDEでコードの作成を開始して、色と照明を制御できるようにするために、次のものが必要になります。
- プラーク Arduino UNO Rev3
- ネオピクセルタイプのLEDマトリックス
- 470抵抗 Ω
- 1000 µF電解コンデンサ ≥6.3V。
- プロトボード
- 接続ケーブル
- 5A電源およびコネクタで1V
ネオピクセルマトリックスと Arduino UNO 前の画像のようになっています。 接続したら、次は ArduinoIDEコード。 この場合、というライブラリを使用する必要があります こちらからダウンロードできるAdafruitNeoPixel、それに付属する例のテストと変更を開始します。 たとえば、Simpleから始めることができます。ここでは、次のようになります。
#include <Adafruit_NeoPixel.h> //Incluir la biblioteca #define PIN 6 //Pin en el que has conectado el Neopixel // Número de píxeles encadenados (en este caso 21, pero puedes modificarlo según necesites) #define NUMPIXELS 21 // Inicializamos el objeto "pixeles" Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); // Argumento 1 = Número de pixeles encadenados // Argumento 2 = Número del pin de Arduino utilizado con pin de datos // Argumento 3 = Banderas de tipo de pixel: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products) #define DELAYVAL 500 //timpo de espera en ms void setup() { pixels.begin(); // Inicializamos el objeto "pixeles" } void loop() { pixels.clear(); // Apagamos todos los LEDs // El primer pixel de una cadena es el #0, el segundo es el #1, y así sucesivamente hasta el n-1 for(int i=0; i<NUMPIXELS; i++) { // Modificamos el LED #i, encendiendolo con un color verde moderadamente brillante pixels.setPixelColor(i, pixels.Color(0, 150, 0)); pixels.show(); // Mandamos todos los colores con la actualización hecha delay(DELAYVAL); // Pausa antes de modificar el color del siguiente LED } }