VixenLightsとArduinoを使用してNeoPixelsを構成する方法
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
| |||
|
アプリとオンラインサービス
| ||||
|
このプロジェクトについて
このチュートリアルは英語とスペイン語で書かれており(este tutorial esta eninglesyespañol)、下にスクロールしてイディオムを変更します。
Vixen Lightsとは何ですか?
Vixen Lightsは、日曜大工の照明自動化ディスプレイ用のソフトウェアです。最新バージョン3.xは、アドレス指定可能な「ピクセル」ライトをサポートするために完全に再設計されました。
http://www.vixenlights.com/downloads/からダウンロードできます。このチュートリアルは、versión3.4u264ビットに基づいています。
ピクセルとは何ですか?
ピクセルは、3つの原色(赤、緑、青)で構成される3つの発光ダイオード(LED)のクラスターです。これらの3色(LED)の強度は、他の色を作るために変えることができます。私の例で使用しているWS2812Bピクセルには、1つのポートでデータを受け取り、それにアドレス指定された情報を表示して次のピクセルにデータを渡す集積回路(IC)チップが含まれています。私のディスプレイ用に、1メートルごとに30ピクセル、または5メートルごとに150ピクセルの5メートルのストリングを購入しました。アドレス指定可能なRGB「ピクセル」ストリップは、3本のワイヤーがあるため、通常は識別できます。 1つは電源用、もう1つはアース用、もう1つはデータ用です。対照的に、RGBの「ダム」ストリップは、4本のワイヤーで識別できます。通常、電源用に1つ、赤、緑、青の各色に1つ
<図>RGBピクセルは多くの電力を使用します。 Arduinoボードは内蔵の電圧レギュレーターを使用して数ピクセルに電力を供給できますが、すぐに電力が不足します。したがって、ライトに電力を供給するために外部電源を使用する必要があります。必要な電圧は、購入した特定のライトによって異なります。私が使用しているライトは5V(ボルト)です。電源のもう1つの要件は、使用しているピクセル数をサポートするのに十分な電力があることを確認することです。フルホワイトの各ピクセルには、約60ミリアンペアが必要です。約9A(アンペア)で動作する150RGBピクセルの場合。
残念ながら、ほとんどのLEDストリップに使用されている細い銅のトレースは「抵抗」を引き起こし、電圧レベルの低下につながります。ピクセルの電圧が低くなりすぎると、ちらつき、薄暗いライト、または単に点灯しないなどのさまざまな問題が発生する可能性があります。これらの問題を回避するには、RGBピクセルストリップ内のポイントに電源を「挿入」する必要がある場合があります。ストリップを切り取ってから、DATAラインをジャンプして、電源に戻るPOWERおよびGROUNDワイヤの新しいセットを追加します。ただし、電源線の距離も抵抗を引き起こし、電圧降下を引き起こすことに注意してください。これを回避するには、電力要件に基づいて十分に太いワイヤーを使用する必要があります。次のグラフは、適切なサイズの電力を選択するための適切な出発点です
電源に関しては、大きいほど良いです。必要以上の電力(アンペア)を提供できるものが必要になります。私の場合、40アンペアと60アンペアの中型電源を注文しました。複数の電源装置を使用できますが、電源装置のすべてのアース線を一緒に接続する必要があります。
Arduinoコントローラー
メインストリームのArduinoボードの多くは、VixenLightsを実行しているコンピューターと実際のRGBピクセルストリップの間の仲介役になるためのコントローラーとして使用できます。
さまざまなボードには、プロセッサ速度、メモリ(RAM)サイズ、ストレージサイズなど、ハードウェアの制限が異なります。ただし、テストで見つかった最大の制限要因は、シリアルポートの速度でした。ほとんどのArduinoは115,200bpsより速く進むことはできません。 150ピクセル(別名450色)の3色のそれぞれのカラーコードを115,200 bpsでシリアルポートにプッシュすると、送信が完了するまでに45ミリ秒かかると計算できます。これは、50ミリ秒ごと(または1秒間に20回)に各ピクセルを安全に更新できることを意味します。
<図>このチュートリアルのコードは、DavidHuntのベースです-blog.huntgang.com
Vixenシリアルポートの構成
Arduinoコントローラーを使用するには、Vixen3.x内で構成する必要があります。次のプロセスは
を使用して文書化されています。ステップ1 .- 右上のメニューに汎用シリアルコントローラを追加します。
<図>ステップ2 .- コントローラの出力数を設定します。この数は、ピクセル数の3倍である必要があります。私の例では、30ピクセルを構成しています。つまり、出力カウントを90に設定します。
<図><図>
ステップ3 .- 右下隅にあるGeraアイコンをクリックし、COMポートを構成します。これを行うには、ArduinoのCOMポートを選択します。私の例はCOM13ですが、おそらくあなたの例は異なるでしょう。また、ボーレートを115200に設定します。残りの設定はそのままにしておくことができます。
<図><図>
<図>
ステップ4 .- ここでは、Arduinoが受信するピクセル数を認識できるように、ヘッダーにピクセル数を追加します。ピクセル数は300以下で、3桁の値で入力する必要があります。ここでも、私の例では030ピクセルを使用しているため、その前に2つのゼロを付けます。この時点で、シリアルデータを受信しているArduinoに派手な派手なものがたくさん表示されるはずです。
ピクセルの要素を構成する
ステップ5 .- 左上にドロップボックスが表示され、[単一アイテム]を選択し、[緑を追加]ボタンをクリックして、PixelStripという名前を付けます。
<図>ステップ6 .- 次に、作成したピクセルストリップを右クリックし、[複数追加]を選択します。すべてのピクセルを追加するには、[番号付きアイテム]を選択し、名前を定義して(Pixel Stripを使用)、生成するピクセル数(この例では30)を選択します。 [OK]をクリックする前に、リストにすべての名前が表示されているはずです。
<図><図>
ステップ7 .- 次に、ピクセルストリップを強調表示し、カラー処理プロパティを構成します。 「任意の色にすることができます。完全なRGBであり、混合して任意の色を作成します。」を選択します。
<図><図>
ステップ8 .- 1日と呼ぶ前の最後のステップは、エレメントをコントローラーにパッチすることです。これを行うには、左側のピクセルストリップと右側の汎用シリアルコントローラーを強調表示します。接続されていないパッチポイントの数は一致する必要があります。あとは、[要素をコントローラーにパッチ]をクリックするだけで、クリスマスライトの準備が整います。
<図>ステップ9 .- 成功した場合、グラフィカルビューは次のようになります。
<図>最初のシーケンスを作成する
ステップ10 .- Vixenを開き、[新しいシーケンス]をクリックします…
<図>ステップ11 .- ツールメヌからオーディオをインポートし、mp3を使用しています。
<図>ステップ12 .- 。画面がこのように表示されることに成功した場合は、タイムラインで役立つズームツールを使用してズームインまたはズームアウトできます。
<図>ステップ13 .- 次に、[ツール]、[オーディオ]に戻り、[ビート/バー検出器]を選択します。この手順は、オーディオでエフェクトを完全に調整するのに役立ちます。たくさんの白い線が表示されます。
<図><図>
ステップ14 .- 左側のメニュー呼び出しエフェクトから、2つのサブメニュー、基本照明、ピクセル照明があります。どちらのメニューもピクセルで使用できます。チェイスをクリックして、ピクセルストリップラインをドラッグアンドドロップし、マウスを使用して効果のサイズを変更します。
<図><図>
ステップ15 .- エフェクトを選択します。メニューには、方向、色、パルス、深さなどを変更したり、エフェクトを操作したり、エフェクトプレビューをアクティブにしたりするためのオプションが表示されます。
<図>ステップ16 .- 左上の[再生]をクリックして楽しんでください。YouTubeには多くのサンプルがあります。
注:Arduinoがコンピューターに接続されていて、Vixenソフトウェアを開くと、ArduinoのRXが点滅します。これは、ArduinoがVixenからの指示を待っていることを意味します。
デモを見る
スペイン語-Español
Que es Vixen Lights?
Vixen Lights es un software de DIY(hágaloustedmismo)secuencias deluces。 Laultimoversión3.xserediseñocompletamenteparasoportarpíxelesRGBinteligentes。
Lo puedes descargar en la siguiente ligahttp://www.vixenlights.com/downloads/Estetutorialestábasadoenlaversión3.4u264ビット。
Que es un Pixel?
Un pixel es un cluster de 3 leds que contains en 3 colores primarios(rojo、verde y azul)。 La intensidad de estos colores puede varias para crear otroscolores。 La tira con pixelesWS2812Bqueseestáusandotieneunchip que acepta data en un Puerto、despliegalainformaciónasignadayla pasa la data al siguientepixel。 Para este ejemplo se trata de una tira de pixeles de 4mts、con 60 pixel xmetro。 Sepuedeidentificarmuyfácilunatiradepixeles vs una tira de RGB、la tira de pixeles utiliza 3 cable、+ 5v、Tierra y Data、mientras una de RGB utiliza 4.
<図>損失ピクセルRGButilizanmuchaenergía。 Mientras el Arduino puede alimentar algunos pixeles usando su fuente de regulador interno、perorápidamentesequedarásincorriente。 esto debemos utilizar una fuente externa para alimentar las luces、Elvoltajerequeridodependeráellasespecificacionesde las luces que hayacomprado。 La tira de ledsinteligentesqueseestáusandoutiliza5v、perotambiénhayquetomarenconsideraciónelconsumodeamperes。 Cada pixel cuando se encienden los 3 leds al 100%consumed 60mA、es decir cada led used 20mA、si thinkamos los 60 pixeles por Metro tenemos un consumo de 3.6A x cadametro。
Desafortunadamente las pistas de cobre que seusanenlamayoríadelastirasde leds causan Resistencia por locualsufrenunacaídadevoltaje。 Si el voltaje cae muybajotendrasproblemas con tus luces como parpadeos、atenuación。 Para evitar estos problemas、se necesita insertar voltaje cada 50 pixel、solo corta la pista、aliméntalayel Data solo crea unjumper。 Tambiéntomemosencuentaque si las tiradas de cable son largas debemos tomar en cuenta el grosor delcableparaevitarpérdidas。
Lo grande siempre es mejor cuanto una fuente de poder se refiere、para este tipo se recomiendan fuentes de poder de 40A o 60A o utilizarvarias。
Arduino como Controlador
Lamayoríadelastarjetasde Arduino se pueden usar como controladores que sirven de interface entre la computadora que corre Vixen Lights y las titas depixels。
Soloquevariastarjetasestánlimitadasporlavelocidad del procesador、tamañodememoriaytamañodealmacenamiento、pero la mayor limitante es la velocidad de puertoserial。 Lamayoríadelosarduinosnopuedenirmásrápidode115,200baudios、el topo de pixeles es de 300 para que se puedan refrescar cada50ms。
Siquieresincrementarelnúmerodepixelestienesque incrementalar en Vixenlafrecuenciadeactualizacióna100ms。
<図>Esteチュートリアルestabasado en el tutorial de David Hunt --blog.huntgang.com
Configurando el Puerto Serial en Vixen
Para poder utilizar el Arduino como controlador、tienes queprimero configurar dentro de Vixen 3.x el siguienteproceso。
パソ1 .- Agrega unGenericSerialControllerdelmenú
<図>パソ2 .- Ahora definiremos el#de salidas de nuestro controlador、si en mi caso use 30 pixels debo multiplicarlo x 3、es decir cada pixel tiene 3 leds en su internal、lo que da igual a 90salidas。
<図>パソ3 .- En la parte lower derecha dar clic en el engrane、ahora a configurar el puertoCOM。 Para hacer esto daremos clic en el puerto y seleccionamos el puerto que tiene asignado el Arduino、tambiénconfiguraremoselvelocidad de los baudios a 115200、el resto se queda comoesta。
<図><図>
<図>
ステップ4 .- Configuraremos el Texto de Encabezado、en mi caso es>> 030 <<、estoleindicaalcódigoinstaladoenarduinoelnúmerodepixelesqueestarárecibiendo、siempreelnúmerosedebeingresar envalorde3dígitosporeesoes重要なコロinicio、sinotendráserrorenlospixels。
<図>Configurar un Elemento para Pixeles
パソ5.- En la esquina Superior izquierda dentro del cuadrodeselección、seleccionamos Single Item、damosclicenelbotónverdeconunsigno de +、nómbralocomoPixelStrip。
<図>パソ6 .- Sobre el nombre de Pixel Strip que acabas de crear da clic derecho y selecciona AddMultiple。 Paraañadirtodoslospixeles、seleccionaremosítemnumerados、define un nombre、(yo use Pixel Strip)yluegoseleccionaelnúmerodepixelesqueen micasocon30.Verástodoslosnombresantes de dar clicOK。
<図><図>
パソ7 .- Ahora seleccionamos el Pixel Strip y configuraremos las propiedades del Color Handiling、que se encuentra en la esquina lower izquierda en un cuadro que dice Configure:、da clic y selecciona ColorHandiling。 Seleccionaremos 「どの色でもかまいません。フルRGBで、どの色でも混ぜることができます」 。
<図><図>
パソ8 .- Este es el paso final donde asignamos los elementos al controlador、para hacer este paso selecciona del lado izquierdo yelcontroladorgenéricodelladoderechobajo el nombre que le hayaspuesto。 Elnúmerodepuntossinconectar debe ser elmismo。 LoúnicoquequedaesdarleclicenelbotónPatchElementsyyaestálisto。
<図>パソ9 .- Para comprobarqueestacorrectodeberásverunejemplocomo eldelavistagráfica。
<図>Crear mi Primera Secuencia
パソ10 .- Abrir Vixen y dar clic en New Sequence .....
<図>パソ11 .- Importar nuestro Audio、preferente utilizar formatos mp3
<図>パソ12 .- 。 Asídebedeversenuestra pantalla、pueden notar quelaondademúsicaestácargadaenlaparte Superior、en la barra Superior pueden encuentran dos lupas una de + y otra-、que sirven para alejar oaumentarlalíneadetiempoqueeselá donde estaremostrabajando。
<図>パソ13 .- Vamos a correr un proceso paradetectar los Beatsdelamúsica、yaquenosayudaráalahorade armar las secuencias、podránobservarenlaimagenlaslíneasblancasalineadasalosBeatsdelamúsica。
<図><図>
パソ14 .- De nuestro lado izquierdohayunmenúdeEffects、Basic Lighting、Pixel Lighting、ambosmenúspuedesserutilizados con Pixeles、vamos a dar clic en Chase
<図><図>
パソ15 .- Seleccionamos el efectoenlalíneadetiempo、del ladoderechoseactivaráunmenúdeconfiguracióndelefecto、donde podremos modificar、intensidad、dirección、colorなど
<図>パソ16 .- Da clic en PLAY、diviértete、hay muchoチュートリアル(YouTube)。
注:Una vez que conectes tu Arduino y abras Vixen Light deben empezar a parpadear los leds Rx、estoindicaqueArduinoestáesperandorecibirinformaciónporelpuertoSerial。
コード
- 高速LEDライブラリ
- Arduinoのコード
Fast Led Library Arduino
ドキュメントにインストール-Arduino-ライブラリプレビューなし(ダウンロードのみ)
Arduino Arduino のコード
arduinoIDEにコピーアンドペーストするだけです/ * VixenLights 3.x-アドレス指定可能なピクセル用のArduino汎用シリアルこのコードの使用は非常に簡単です。1本のワイヤー(WS2811またはWS2812)データラインをArduinoのピン6に接続してアップロードするだけです。このコード。 http://fastled.ioからFastLEDライブラリが正しくインストールされていることを確認します。完了したら、外部電源からPixelストリップに電力を供給します。次に、Vixen Lights 3.x内に汎用シリアルコントローラーを構成し、チャネル数に3xピクセルを追加します。 115200、8、none、および1を使用するようにGeneric Serial Controllerを構成します。次に、要素を作成し、「複数のアイテム(1 xピクセル数)」を追加します。最後に、ピクセル要素を選択し、RGBピクセルとして設定してから、コントローラー出力にパッチします。これで、テストを開始する準備が整いました。完全なチュートリアルについては、blog.huntgang.comをご覧ください。2014年11月8日作成RichardSloan-www.themindfactory.comおよびDavidHunt-blog.huntgang.comバージョン1.4 * ///ダウンロードしてインストールする必要がありますhttp://fastled.io/のライブラリ#include//メモリ不足を回避するためにこのコードが処理するLEDの最大数を設定します#defineNUM_LEDS 300 //使用するピンを設定しますLEDピクセルに接続しますstrip#define DATA_PIN 6CRGB leds [NUM_LEDS]; void setup(){//シリアルポートの速度を定義しますSerial.begin(115200);} void loop(){//カウンター/一時ストレージを設定します変数intcnt; unsigned int num_leds; unsigned int d1、d2、d3; //エンドルを開始シリアルデータを受信して処理するためのssループfor(;;){//カウンターを0に設定します。このクーターは、受信したピクセルの色を追跡します。 cnt =0; //シリアルバスでヘッダーが受信されるのを待ち始めます//最初の文字while(!Serial.available()); if(Serial.read()!='>'){続行; } // 2番目の文字while(!Serial.available()); if(Serial.read()!='>'){続行; } //使用するピクセル数のシリアルバスから最初の桁を取得しますwhile(!Serial.available()); d1 =Serial.read(); //使用するピクセル数のシリアルバスから2桁目を取得しますwhile(!Serial.available()); d2 =Serial.read(); //使用するピクセル数のシリアルバスから3桁目を取得しますwhile(!Serial.available()); d3 =Serial.read(); //ヘッダーの終わりを取得しますwhile(!Serial.available()); if(Serial.read()!='<'){続行; } while(!Serial.available()); if(Serial.read()!='<'){続行; } //ヘッダーの数字で指定された文字に基づいてピクセル数を計算しますnum_leds =(d1-'0 ')* 100 +(d2-'0')* 10+(d3-'0 '); //ピクセル数が許可されている数を超えないようにしますif(num_leds> NUM_LEDS){continue; } // FastLEDライブラリに、アドレス指定するピクセル数を通知しますFastLED.addLeds (leds、num_leds); //各ピクセルをループし、各色の値を読み取りますdo {while(!Serial.available()); leds [cnt] .r =Serial.read(); while(!Serial.available()); leds [cnt] .g =Serial.read(); while(!Serial.available()); leds [cnt ++]。b =Serial.read(); } while(-num_leds); // FastLEDライブラリにピクセルのストリップを更新する時間であることを通知しますFastLED.show(); // WOO HOO ...これですべて完了し、最初からやり直す準備ができました。 }}
回路図
470オームの抵抗器を使用してください-470オームの抵抗器を使用してください 470オームの抵抗器を使用-470オームの抵抗器を使用 製造プロセス
- プッシュボタンを使用したPWMによる調光ライト
- ARDUINOを使用した超音波浮揚機
- Arduino、1Sheeld、Androidを使用したユニバーサルリモコン
- Arduinoとスマートフォンを使用したDIY電圧計
- 温度および湿度データロガー
- IOT-ESP8266、Arduino、超音波センサーを使用したスマートジャー
- Arduinoを使用した周波数とデューティサイクルの測定
- Arduinoを使用して地球の質量を測定する方法
- arduinoを使用したソナーと処理IDEでの表示
- Arduino +処理+ PHPを使用したカーカウンター
- ArduinoとProcessingIDEを使用してコンパスを作成する方法