なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

Arduinoで遊ぼう - 秋月電子32x16LEDドットマトリクス

Posted by arms22 on 2009年01月03日 9  0

Arduino Duemilanove with 32×16 LED Matrix

秋月電子の32x16LEDドットマトリクス表示基板をArduino Duemilanoveで制御してみました。制御プログラムはArduino IDEで使えるようライブラリにしています。AkiMatrix001.zipを下記URLからダウンロードし、ご自由にお使いください。

Akiduki 32×16 LED Matrix sch
LEDドットマトリクス表示基板の回路図です。表示基板上にはシフトレジスタ(74VHC595)2つ、トランジスタアレイ(TD62783)2つ、16bit定電流LEDドライバ(TB62706)2つが実装されています。表示基板はSIN1、SIN2、SIN3、CLOCK、LATCH、STROBEの6つの信号を使って制御します。

ライブラリの使い方
1.AkiMatrix001.zipを展開し、arduino-0012/hardware/librariesにコピーしてください。
2.Arduino IEDを起動し、メニューからSketch > Import Library > AkiMatrixを選択してください。

サンプルスケッチ

#include <AkiMatrix.h>

const uint8_t hello_tbl[][8] = {
  {9,9,201,47,233,41,201,0},
  {0,20,148,85,84,84,148,0},
  {0,0,1,2,2,2,1,0},
  {0,0,0,0,0,0,0,0},
};

const uint8_t the2009_tbl[][8] = {
  {0,0,0,0,0,0,0,0},
  {0,192,32,0,192,32,224,0},
  {0,24,165,165,164,164,25,0},
  {0,99,148,148,228,132,99,0},
};

/* 
  pin 0: sin1 (row)
  pin 1: sin2 (led1)
  pin 2: sin3 (led2)
  pin 3: clk
  pin 4: latch (inverted)
  pin 5: strob
*/
AkiMatrix myMatrix = AkiMatrix(0,1,2,3,4,5);

void setup()
{
  myMatrix.bitBlt( 0,0,hello_tbl[0],8,8);
  myMatrix.bitBlt( 8,0,hello_tbl[1],8,8);
  myMatrix.bitBlt(16,0,hello_tbl[2],8,8);
  myMatrix.bitBlt(24,0,hello_tbl[3],8,8);
  
  myMatrix.bitBlt( 0,8,the2009_tbl[0],8,8);
  myMatrix.bitBlt( 8,8,the2009_tbl[1],8,8);
  myMatrix.bitBlt(16,8,the2009_tbl[2],8,8);
  myMatrix.bitBlt(24,8,the2009_tbl[3],8,8);
  
  myMatrix.setOutputEnable(true);
}

void loop()
{
  myMatrix.hsync();
  delay(1);
}
コンストラクタには表示基板制御用の端子を6つ(SIN1、SIN2、SIN3、CLOCK、LATCH、STROBE)指定します。

setup関数で表示するパターンを書き込みます。ver001ではbitBlt関数、bitWrite関数をサポートしています。bitBlt関数はまとまったデータの書き込みに、bitWrite関数はドット1つ1つ指定してデータを書き込みます。マトリクスの座標系は左上原点です。
bitmapのフォーマットは次の通り。
dotmatrix_bitmapf.png

setOutputEnable関数でマトリックスの表示を有効にします。
loop関数ではhsync関数を繰り返し呼び出す必要があります。hsync関数を1回呼び出す毎に1行分のデータをシフトレジスタに転送します。


AkiMatrix001
http://xfind.hp.infoseek.co.jp/electric/arduino/AkiMatrix001.zip

サンプルスケッチ: Hello 2009
http://xfind.hp.infoseek.co.jp/electric/arduino/sketch_081230a.zip

Arduinoで遊ぼう - フルカラーLED
http://arms22.blog91.fc2.com/blog-entry-196.html

Arduino - LibraryTutorial
http://arduino.cc/en/Hacking/LibraryTutorial


Arduino Uno SMD
Arduino Uno SMD
posted with amazlet at 11.02.04
スイッチサイエンス
売り上げランキング: 21734


Ads by Google

9 Comments

yatto says..."回路図に関して"
はじめまして。
当ページを参考にしてLEDドットマトリクスを製作しているものです。
回路の作成やArduinoの使用は初めてです。

基盤の回路図を参考に回路を組んでいるのですが、
CN1A・CN1B・CN2A・CN2Bは
どのようにArduinoとつなげばよいのでしょうか?

初歩的な質問となってしまい申し訳ありません。

回答よろしくお願いいたします。
2009.10.28 15:16 | URL | #N6lYgV0s [edit]
arms22 says..."No title"
こんばんわ、arms22です。
arduinoとの接続はこちらの回路図のほうがわかりやすいです。

http://arms22.blog91.fc2.com/blog-entry-237.html

回路図のLED1,LED2,LED3と書かれている部品が秋月のドットマトリクスLEDになります。
2009.10.28 18:09 | URL | #j7sy4omY [edit]
yatto says..."Re:No title"
こんにちは。yattoです。

早急なレスありがとうございます。
非常に参考になりました。

早速取り掛かってみようと思います。

改めましてありがとうございました。
2009.10.30 15:50 | URL | #N6lYgV0s [edit]
says..."管理人のみ閲覧できます"
このコメントは管理人のみ閲覧できます
2010.05.01 00:39 | | # [edit]
arms22 says..."Re: AkiMatrix001のURL"

次のURLで新しいバージョンを公開しています。
http://arms22.blog91.fc2.com/blog-entry-220.html

2010.05.01 09:13 | URL | #- [edit]
clip says..."TB62706について"
LEDマトリクスの実験で、回路図を参考にさせていただいています。
TB62706についてですが、入手性があまりよくないようでTLC5940で代用できないかと考えていますが、これは可能でしょうか。
また、ピン配置の互換性などをご存じでしたらご教示いただけますと幸いです。

よろしくお願いします。
2013.08.26 17:58 | URL | #8RbaLkjU [edit]
arms22 says..."Re: TB62706について"
できるとおもいますよー。
TB62706はただのシフトレジスタですね。
TLC5940は輝度調整ができるLEDドライバです。
ピン互換はありません。
たぶん。
データーシート確認してみてください。
2013.08.26 20:51 | URL | #- [edit]
says..."管理人のみ閲覧できます"
このコメントは管理人のみ閲覧できます
2014.12.09 20:16 | | # [edit]
arms22 says..."Re: 動かなくなった場合"
新しい基板と交換して確認してみてください。
それでダメなら配線がまずいのでないかと思います。
2014.12.16 23:39 | URL | #- [edit]

Leave a reply






管理者にだけ表示を許可する

該当の記事は見つかりませんでした。