ikkei blog

電子工作やパズルのブログです。主にLEDを使った電子工作をやっています。

16x32ドットRGBフルカラーマトリクスLEDを点灯させてみた

2014年05月25日 14時37分08秒 | 電子工作
秋月で買った16x32ドットRGBフルカラーマトリクスLEDを使ってみようと思います。
まずは、秋月のサイトから説明書やライブラリをダウンロードします。

まずは、テストとして説明書通りにジャンプワイヤを使って
Arduino UNOにつないでみます。
LED基板にはシルクが無いのですが、マニュアルのP8の通りのようです。
接続は、P10,P11の通りです。
R1 - 2
G1 - 3
B1 - 4
R2 - 5
G2 - 6
B2 - 7
CLK - 8
OE - 9
A - A0
B - A1
C - A2
LAT -A3
GND - GND (GNDは4ピンありますが、3ピンだけつなぎました)

電源には5V 2A以上のACアダプタにつなぎます。

さっそく、testshapes_16x32 を書き込んでみます。


scrolltext_16x32はこうなりました。


plasma_16x32はこのようになりました。




とりあえずテストは動いたので、2枚つないでみようと思います。
ただ、スイッチサイエンスさんには気になることが書いてあります。
連続コネクタが使えると思ったのですが、無理っぽいようです。
さて、どうしたものか。

最新の画像もっと見る

5 コメント

コメント日が  古い順  |   新しい順
2枚つなぐ方法は (okee)
2016-02-01 13:58:29
こちらのパネルは値段が安いのでいろいろ使いたいのですが、なかなか日本語で使用例やArduinoスケッチがなく苦労しています。
32x16ビットマップを作って、バイナリデータ化して、Arduinoに入れて表示まではできたので、スケッチはアップしたのですが、表示幅が小さく、せめて2枚つなげたいです。
少々のちらつきや遅延は構わないので、Arduinoで2枚表示できるようライブラリをつつきたいのですが、どうやったらできそうですか、ご意見、情報がいただけるとうれしいです。
返信する
残念ながら (ikkei)
2016-02-01 22:16:39
あれ以降手が出せていないです。2枚買ってコネクタや線材まで用意したのですが、他の人がARMのボードで動かしているのを見てモチベーションが下がってしまいました。今度また挑戦しようと思います。
返信する
2枚と32x32 (okee)
2016-02-24 12:29:07

RGBmatrixPanel.cpp
を見てみると
Code common to both the 16x32 and 32x32 constructors:
となっていて、以下のようなコードが書いてあります。
32x32ができるなら、シリアルで送信しているだけなんだろうから、16x32を2枚接続するのはそのままでもできるような気がします。
これを眺めてはなんとかならないかと考えていますが、なにぶん技量が追い付かずとん挫しています。
コードを見ていただいて、ヒントがいただけないでしょうか。
// Constructor for 16x32 panel:
RGBmatrixPanel::RGBmatrixPanel(
uint8_t a, uint8_t b, uint8_t c,
uint8_t sclk, uint8_t latch, uint8_t oe, boolean dbuf) :
Adafruit_GFX(32, 16) {

init(8, a, b, c, sclk, latch, oe, dbuf);
}

// Constructor for 32x32 panel:
RGBmatrixPanel::RGBmatrixPanel(
uint8_t a, uint8_t b, uint8_t c, uint8_t d,
uint8_t sclk, uint8_t latch, uint8_t oe, boolean dbuf) :
Adafruit_GFX(32, 32) {

init(16, a, b, c, sclk, latch, oe, dbuf);

// Init a few extra 32x32-specific elements:
_d = d;
addrdport = portOutputRegister(digitalPinToPort(d));
addrdpin = digitalPinToBitMask(d);
}

ちなみにAdafruit_GFX()は
Adafruit_GFX.cppに
Adafruit_GFX::Adafruit_GFX(int16_t w, int16_t h):
WIDTH(w), HEIGHT(h)
{
_width = WIDTH;
_height = HEIGHT;
rotation = 0;
cursor_y = cursor_x = 0;
textsize = 1;
textcolor = textbgcolor = 0xFFFF;
wrap = true;
}
とあります。
返信する
2枚と32x32 続き (okee)
2016-02-24 13:14:35
ちなみにコネクタにD端子があるのは32x32以上だけです。
https://learn.adafruit.com/32x16-32x32-rgb-led-matrix/new-wiring
返信する
すいません (ikkei)
2016-02-28 22:03:13
読みましたが、サッパリ分かりません。
申し訳ありません。
返信する

コメントを投稿