Arduino NanoでNeoPixel LEDマトリクスを自作:ステップバイステップガイド
必要な部品と用品
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino Nano R3 | 1 | |
| NeoPixelストリップ | 1 | 5m、30 LED/mで合計150個 |
| ジャンパーワイヤ(汎用) | 1 |
必要な工具と機械
- ハンダごて(汎用)
使用アプリとオンラインサービス
- Arduino IDE
このプロジェクトについて
マトリクス
映画『マトリックス』ではなく、NeoPixelマトリクスです!マトリクスを作るには、個別にアドレス指定可能なNeoPixel LEDのストリップを1本購入します。ストリップを広げ、矢印の向きに注意してください。1方向にしか接続できません。向きを間違えると破損する恐れがあります。

30 LED/mの5mストリップを使用し、10個ずつのストリップにカットしました。

厚紙の上にストリップを配置し、向きを交互にしました。

適切な長さにワイヤーをカットし、NeoPixelの端子にハンダ付けしました。

これを14回繰り返して、ついにマトリクス完成!次にマルチメータでショートがないか確認しました。ショートがあるとNano、マトリクス、場合によってはUSBポートまで焼損します(経験済み)。「NEO_BOTTOM + NEO_LEFT + NEO_COLUMNS + NEO_ZIGZAG」パラメータでneomatrixテストスケッチをアップロード。「Howdy」がディスプレイをスクロールすれば完成です!

他のNeoPixelマトリクスアイデアは私の他のプロジェクトもチェック!
コード
Arduinoコード (C/C++)
// Adafruit_NeoMatrix example for single NeoPixel Shield. // マトリクスを縦向きで「Howdy」をスクロール表示 #include#include #include #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: 全行/列が同順序または交互に逆方向;どちらか選択 // パラメータ5 = ピクセルタイプフラグ、必要に応じて加算: // NEO_KHZ800 800KHzビットストリーム(WS2812 LED搭載のほとんどのNeoPixel製品) // NEO_KHZ400 400KHz(クラシック'v1' FLORAピクセル、WS2811ドライバー) // NEO_GRB GRBビットストリーム配線(ほとんどのNeoPixel製品) // NEO_RGB RGBビットストリーム配線(v1 FLORAピクセル、v2ではない) // NeoPixel Shieldの例。このアプリでは5x8の縦長マトリクスとして使用し、 // USBポートをArduinoの上部に配置。その向きでは最初のピクセルは右上にあり、 // 列方向にプログレッシブ配列。シールドは800KHz(v2)ピクセルでGRBカラーデータを期待。 Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(5, 8, PIN, NEO_MATRIX_BOTTOM + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); const uint16_t colors[] = { matrix.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); }
回路図

製造プロセス
- 状態基準保全(CBM)の効果を最大化する実践ガイド
- 包括的安全プログラムを機能させる実証済み戦略
- Raspberry Pi と Arduino を連携させてロボットを自作:ステップバイステップガイド
- SolidWorksでプログレッシブカットアウェイアニメーションを作成: ステップバイステップチュートリアル
- 信頼できるサプライチェーンデータを確保する実証済み戦略
- 勝利するプロトタイプ構築:ラピッド製品開発ステップバイステップガイド
- 重機の油圧ホース交換:ステップバイステップガイド
- 金属旋盤チャック自作:プロフェッショナルガイド
- プロセッサ設計の信頼性確保:安全で信頼できるICのためのベストプラクティス
- 射出成形金型の設計・製造エキスパート・ガイド
- ガラス繊維製造の完全ガイド