NeoPixelマトリックスの作成方法
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
|
アプリとオンラインサービス
> |
|
このプロジェクトについて
マトリックス
いいえ、映画ではなく、NeoPixelマトリックスです!マトリックスを作成するには、個別にアドレス指定可能なNeoPixelLEDのストリップを1つ購入するだけです。ストリップをほどいて、その上の矢印に注意してください。それらは一方向にしか取り付けることができません。方向が間違っていると、それらを台無しにする可能性があります。
<図>30 LED / m 5mのストリップを使用し、それぞれ10個のLEDのストリップにカットしました。
<図>次に、方向を変えながら、厚紙の上にストリップを置き始めました。
<図>次に、ワイヤーを正しい長さに切断し、NeoPixel端子にはんだ付けしました。
<図>それを14回行った後、私のマトリックスはついに完成しました!次に、マルチメーターで短絡がないことを確認しました。短絡するとNano、マトリックス、そしておそらくUSBポートが揚げるからです(私は経験から知っています)。 「NEO_BOTTOM + NEO_LEFT + NEO_COLUMNS + NEO_ZIGZAG」パラメータを使用してneomatrixテストスケッチをアップロードします。ディスプレイ上で「ハウディ」にスクロールすると、完了です。
<図>他のNeoPixelマトリックスのアイデアについては、他のプロジェクトをチェックしてください!
コード
- Arduinoコード
Arduinoコード C / C ++
//単一のNeoPixelシールドのAdafruit_NeoMatrixの例をコピーして貼り付けます。//「Howdy」を縦向き(垂直)の向きでマトリックス全体にスクロールします。 .h> #ifndef PSTR #define PSTR // Arduino Dueを幸せにする#endif#define PIN 6 //マトリックス宣言://パラメータ1 =NeoPixelマトリックスの幅//パラメータ2 =マトリックスの高さ//パラメータ3 =ピン番号(ほとんどが有効)//パラメーター4 =マトリックスレイアウトフラグ、必要に応じて追加:// NEO_MATRIX_TOP、NEO_MATRIX_BOTTOM、NEO_MATRIX_LEFT、NEO_MATRIX_RIGHT://マトリックス内の最初のLEDの位置。 2つ選択します。例://左上隅のNEO_MATRIX_TOP + NEO_MATRIX_LEFT // NEO_MATRIX_ROWS、NEO_MATRIX_COLUMNS:LEDはそれぞれ水平//行または垂直列に配置されます。どちらか一方を選択してください。//NEO_MATRIX_PROGRESSIVE、NEO_MATRIX_ZIGZAG:すべての行/列が同じ順序で//進むか、交互の行が逆方向になります。いずれかを選択してください。//実際のこれらの値については、以下の例を参照してください。 'v1'(v2ではない)FLORAピクセル、WS2811ドライバー)// NEO_GRBピクセルはGRBビットストリーム用に配線されています(ほとんどのNeoPixel製品)// NEO_RGBピクセルはRGBビットストリーム用に配線されています(v2ではなくv1 FLORAピクセル)// NeoPixelシールドの例。このアプリケーションでは、USBポートを// Arduinoの上部に配置して、5x8の高さのマトリックスとして使用したいと思います。そのように保持すると、最初のピクセルが右上にあり、//行が列に順番に配置されます。シールドは、GRBカラーデータを期待する800 KHz(v2)ピクセルを使用します。Adafruit_NeoMatrixmatrix=Adafruit_NeoMatrix(5、8、PIN、NEO_MATRIX_BOTTOM + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG、NEO_GRB + Color(255、0、0)、matrix.Color(0、255、0)、matrix.Color(0、0、255)}; void setup(){matrix.begin(); matrix.setTextWrap(false); matrix.setBrightness(40); matrix.setTextColor(colors [0]);} int x =matrix.width(); int pass =0; void loop(){matrix.fillScreen(0); matrix.setCursor(x、0); matrix.print(F( "Howdy")); if(-x <-36){x =matrix.width(); if(++ pass> =3)pass =0; matrix.setTextColor(colors [pass]); } matrix.show(); delay(100);}
回路図
製造プロセス