ESP32-DevKitC8mbと
Lauify 2X WS2812BLED R フレキシブルピクセルパネル16X16個別にアドレス指定可能なパネルライト2枚
でLEDで電光掲示板に「A B C D E」と表示したいのですが・・・
ネット上にArduinoUNOにWS2812b 8×32パネルを使用しているスケッチをみつけました
-------------------------------------------
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#define PIN 6
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(32, 8, PIN, ←--NeoMatrix(32, 16, PIN,してみましたがダメでした(^^;)
NEO_MATRIX_TOP + NEO_MATRIX_LEFT +
NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG,
NEO_GRB + NEO_KHZ800);
const uint16_t colors[] = {
matrix.Color(255, 0, 0), matrix.Color(255, 69, 0), matrix.Color(255, 255, 0),matrix.Color(0, 0, 255), matrix.Color(255, 0, 255), matrix.Color(0, 255, 255), matrix.Color(255, 255, 255)};
void setup() {
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(10);
matrix.setTextColor(colors[0]);
}
int x = matrix.width();
int pass = 0;
void loop() {
matrix.fillScreen(0); //Turn off all the LEDs
matrix.setCursor(x, 0);
matrix.print(F("A B C D E"));
if( --x < -150 ) {
x = matrix.width();
if(++pass >= 5) pass = 0;
matrix.setTextColor(colors[pass]);
}
matrix.show();
delay(40);
}
----------------------------------------------------
私のESP32-DevKitC8mbとWS2812B LED2枚を使って試しましたら
1枚のみにスクロール表示されてターンして戻ってしまいます(2枚目にはいかないです)
ターンしないで2枚目にいくようにスケツチを変更したいのですが
ArduinoUNOにWS2812b 8×32パネル購入すればできるとは思いますが
私のESP32-DevKitC8mbとWS2812B LED2枚では無理があるでしょうか
教えていただければと思います
よろしくお願いします
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ESP32-DevKitC8mbとWS2812B LED2枚で、LEDで電光掲示板に「A B C D E」と表示するには、次の手順に従ってください。
ESP32-DevKitC8mbにArduino IDEをインストールします。
Adafruit NeoMatrix: https://github.com/adafruit/Adafruit_NeoMatrixライブラリをインストールします。
次のスケッチをArduino IDEにコピーします。
#include <Adafruit_GFX.h> #include <Adafruit_NeoMatrix.h> #include <Adafruit_NeoPixel.h> #define PIN 6 Adafruit_NeoMatrix matrix1 = Adafruit_NeoMatrix(32, 16, PIN, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); Adafruit_NeoMatrix matrix2 = Adafruit_NeoMatrix(32, 16, PIN + 8, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); const uint16_t colors[] = { matrix.Color(255, 0, 0), matrix.Color(255, 69, 0), matrix.Color(255, 255, 0), matrix.Color(0, 0, 255), matrix.Color(255, 0, 255), matrix.Color(0, 255, 255), matrix.Color(255, 255, 255) }; void setup() { matrix1.begin(); matrix1.setTextWrap(false); matrix1.setBrightness(10); matrix1.setTextColor(colors[0]); matrix2.begin(); matrix2.setTextWrap(false); matrix2.setBrightness(10); matrix2.setTextColor(colors[0]); } int x = matrix1.width(); int pass = 0; void loop() { matrix1.fillScreen(0); //Turn off all the LEDs matrix1.setCursor(x, 0); matrix1.print(F("A B C D E")); if( --x < -150 ) { x = matrix1.width(); if(++pass >= 5) pass = 0; matrix1.setTextColor(colors[pass]); } matrix1.show(); matrix2.fillScreen(0); //Turn off all the LEDs matrix2.setCursor(x, 0); matrix2.print(F("A B C D E")); if( --x < -150 ) { x = matrix2.width(); if(++pass >= 5) pass = 0; matrix2.setTextColor(colors[pass]); } matrix2.show(); delay(40); }
スケッチを書き込む前に、Arduino IDEの「ツール」メニューから「ボード」の項目で「ESP32 Dev Module」を選択します。
次に、Arduino IDEの「ツール」メニューから「ポート」の項目でESP32-DevKitC8mbに接続されているCOMポートを選択します。
スケッチを書き込むには、Arduino IDEの「書き込み」ボタンをクリックします。
スケッチが書き込まれたら、ESP32-DevKitC8mbを電源に接続します。
ESP32-DevKitC8mbが起動すると、「A B C D E」と表示されます。
ソース
forum.arduino.cc/t/2-ws2812b-led-matrix-arduino-uno-ht-05/927924
forum.arduino.cc/t/adafruit-neopixel-h-library-hindering-i2c-communication/974402
forum.arduino.cc/t/led-matrix-8x32-ws2812-faire-defiler-du-texte/559894
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 The matrix was inputted into gCLUTO software, mana 2 2023/01/13 09:29
- 英語 Abstract Mucograft is collagen matrix was designed 1 2022/11/05 22:35
- ファンタジー・SF 攻殻機動隊 SAC_2045について 1 2022/05/27 03:10
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
静的でないメンバ関数の呼び出...
-
C++にてtemplateで受け取った任...
-
int main()、void main()、void...
-
【gcc・cygwin】multiple defin...
-
多重定義が起きている?--lnk20...
-
戻り値を返す関数の前に(void)...
-
const_castのつかいどころを教...
-
ArduinoでMouse関数を使用して...
-
c言語。5枚のカードの中に2枚同...
-
Notepad++の関数リスト表示の変...
-
C言語 プロトタイプ宣言
-
C++別のオブジェクトからメンバ...
-
コントロールへのイベント定義...
-
ウインドウの移動禁止
-
VC++でGetKeyboardStateがうま...
-
メッセージマップ(ON_CONTROL_...
-
プログラムを教えてください。...
-
コールバックって・・・
-
AKI-h8 3069f C言語 HEW マイ...
-
stddef.hって何?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Notepad++の関数リスト表示の変...
-
ArduinoでMouse関数を使用して...
-
【gcc・cygwin】multiple defin...
-
戻り値を返す関数の前に(void)...
-
多重定義が起きている?--lnk20...
-
C++にてtemplateで受け取った任...
-
既定のコンストラクタがありま...
-
静的でないメンバ関数の呼び出...
-
gcc: incompatible pointer type
-
C# Controls.Addで動的に配置し...
-
int main()、void main()、void...
-
(void)0 はどんな意味ですか
-
VC++でGetKeyboardStateがうま...
-
void*型の配列について
-
C# KeyDownイベントでショート...
-
const_castのつかいどころを教...
-
H8マイコンのシリアル通信につ...
-
コールバックって・・・
-
関数ポインタについて
-
void main()って誰が最初?:AN...
おすすめ情報