- ベストアンサー
Arduino×LEDマトリクス×BA823の配線方法が分からない
koujikuuの回答
- koujikuu
- ベストアンサー率43% (428/992)
BA823 74HC595 の組み合わせで大丈夫です、74HC595はドライブ電流20mAまでなので8ヶLEDを駆動できません 74HC595に8ビットデータをセットしBA823でカラムアドレスを切り替えるようになります 256階調データを表示する場合は、8ページのデータを用意し各ページの表示時間を 1,2,4,8,16,32,64,128で切り替える必要があります
関連するQ&A
- Arduinoで複数のLEDマトリクスに映像出力
私はこのページを参考に( http://kousaku-kousaku.blogspot.jp/2008/08/arduinoprocessingledweb.html )ArduinoMegaの互換機ChipKitMax32を使用して、12×32のLEDマトリクスを制御し映像を表示させています。 が、映像を表示させるには速度的に問題があり、参考先のプログラムではdelayMicrosecondsで各ドットの明るさを制御していますがそれも怪しく、映像自体のフレームレートを下げるなどしても改善せず、マイコン1台で映像表示するのは厳しいか…と思い、 8×8のLEDマトリクスにつき1台のArduino unoを使用し、それを何個も連結させ大きなLEDマトリクスにしようと考えました。 複数のArduinoを接続する方法として、I2CやSPI通信等がありますが、SPIでは後々Arduino unoのピン数が足りなくなるかもという不安もあり、複雑そうですがI2CでArduino同士を通信させようと思いました。 回路のイメージは添付画像の通り、 プログラムの内容は、 1 Processingから映像の各ドットの明るさの数値を受け取る 2 Arduinoマスタからスレーブ1へ最初の8つの数値を送る 3 スレーブ1がマスタから受け取った8つの数値をLEDマトリクス1の一行目の各ドットの明るさに割り振り点灯 4 Arduinoマスタからスレーブ2へ次の8つの数値を送る 5 スレーブ2がマスタから受け取った8つの数値をLEDマトリクス2の一行目の各ドットの明るさに割り振り点灯(LEDマトリクス1・2の一行目が点灯完了) これをあと7回くりかえし、LEDマトリクスの全画面の点灯完了 最終的には8×8のLEDマトリクスを10台程使用して、16×40のLEDマトリクスに映像を表示させたいです。 Arduinoで複数のLEDマトリクスを扱う場合、「映像表示の速度に耐えられるようにするために、Arduino自体の数を増やす、その通信をI2Cで行い、上記のようなプログラムで制御する」という方法で正しいか、可能かどうかの判断をお願いしたいです。 また、これより良い方法や、その他アドバイス等ありましたらお願い致します。
- 締切済み
- その他([技術者向] コンピューター)
- LEDマトリクス BU5004-RG
BU5004-RGの足のデータが分かる方、教えてください。 8×8のドットマトリクスなのですが、足が8×3=24本あります。 カソードは赤・青共通ということで、アノードは別だと色々なブログに書いてありますが、正確な配線やデータが分かりません。 教えてください。
- 締切済み
- 物理学
- LEDマトリクスの回路
LEDマトリクスの回路(16×16)を作成使用と思っているのですが、マイコンの他に、トランジスタアレイ、シフトレジスタ、定電流ドライバ、は必ずしも必要なのでしょうか。 教えてください。
- 締切済み
- C・C++・C#
- LEDマトリクスについて質問です。
LEDマトリクスについて質問です。 今LEDマトリクスを制御しようとしているのですが、プログラムの方法がいまちよく分かりません。 LEDマトリクスはアノードコモン、アノード側の制御はPNPトランジスタ、 カソード側の制御はNPNトランジスタで行っています。 なので、自分は1行目(アノード)1列目(カソード)のLEDを表示させるために1行目 (PNPトランジスタ)に0を、1列目(NPNトランジスタ)に1を出力しているのですが点灯してくれません。 アノード側のPNPトランジスタに接続しているのはポートAで、カソード側NPNトランジスタに接続しているのはポートBです。 以下にソースコードを示すので、間違いの指摘のことよろしくお願いします。 void wait(long wait) /* 時間を指定できる時間稼ぎ関数 */ { while(wait--); } int main(void) /* 実際に表示をする関数 */ { PADDR = 0xff; /* ポートA全ビット入力 */ PAPCR = 0xff; PBDDR = 0xff; /* ポートB全ビット出力 */ int i; for(;;) { for(i = 0;i <= 8;i++) { /* 1列目の表示 */ PADR = 0x01 ; PBDR = 0x01 << i; wait(50000); PBDR = 0; } PADR = 0; wait(1000); for(i = 8;i >= 0;i--) { /* 2列目の表示 */ PADR = 0x01 << 1; PBDR = 0x01 << i; wait(50000); PBDR = 0; } PADR = 0; wait(1000); for(i = 0;i <= 8;i++) { /* 3列目の表示 */ PADR = 0x01 << 2; PBDR = 0x01 << i; wait(50000); PBDR = 0; } PADR = 0; wait(1000); for(i = 8;i >= 0;i--) { /* 4列目の表示 */ PADR = 0x01 << 3; PBDR = 0x01 << i; wait(50000); PBDR = 0; } PADR = 0; wait(1000); for(i = 0;i <= 8;i++) { /* 5列目の表示 */ PADR = 0x01 << 4; PBDR = 0x01 << i; wait(50000); PBDR = 0; } PADR = 0; wait(1000); for(i = 8;i >= 0;i--) { /* 6列目の表示 */ PADR = 0x01 << 5; PBDR = 0x01 << i; wait(50000); PBDR = 0; } PADR = 0; wait(1000); for(i = 0;i <= 8;i++) { /* 7列目の表示 */ PADR = 0x01 << 6; PBDR = 0x01 << i; wait(50000); PBDR = 0; } PADR = 0; wait(1000); for(i = 8;i >= 0;i--) { /* 8列目の表示 */ PADR = 0x01 << 7; PBDR = 0x01 << i; wait(50000); PBDR = 0; } PADR = 0; wait(1000); } }
- ベストアンサー
- その他(趣味・娯楽・エンターテイメント)
- LEDのラッシュについて
LEDの制御回路を考えております。 市販のものを買ってきたのですが、電源ONですぐ点灯するのはよいのですが、消灯の場合は、電源OFFでゆっくり消えます。すぐ消えるようにしたいのですが、LEDにダイオードを並列に接続すればいいでしょうか(アノードはマイナスに、カソードはプラスに結線)。 また、LEDの電源投入時のラッシュ電流ってどの程度なのでしょうか。 宜しくお願い致します。
- ベストアンサー
- その他(機械加工)
- Arduinoを使ってニキシー管8桁表示をコントロールしたいです
Arduinoを使ってニキシー管8桁表示をコントロールしたいです まったく、方針がわかりません。 シフトレジスタ74HC595を8個つかってK155ID1を8個 そして高圧昇圧回路あたりをじょじょに理解していけば、何とかなるでしょうか?
- 締切済み
- その他(ホビー・玩具)
- ドットマトリクスLED制御回路についての質問です。
ドットマトリクスLED制御回路についての質問です。 この前ドットマトリクスLEDを購入しマイコンで点灯させようと思っているのですが、 詳しい接続方法があまり理解できません。 一応回路図を書いたのですが、これが正しいのか自信がなく質問に至りました。 回路図の説明(間違っているかも・・・) 1.電源から[tr1] のコレクタに6Vを供給、抵抗器で2V 20mA にする。 2.I/Oポートからの出力(5V?)を抵抗器で2V 0.1mA にして[tr1]のベースに流す。 3. 1.2.によってエミッタから2V 20mA が流れる。 4.[tr2][tr3]のベース電流も2.と同様に設定。 5.[tr1]と[tr2]か[tr3]が両方ONの場合それに対応するLEDが点灯。 間違いがあったらご指摘のこと宜しくお願いします。
- ベストアンサー
- その他(趣味・娯楽・エンターテイメント)
- Arduinoによる時計の製作について
Arduinoを使って時計の製作をしようと検討しています。概要としては、 ・7セグLEDx18個;18桁のダイナミック制御 ・リアルタイムクロックモジュール(I2C)による時刻取得 といった感じです。 前者についてはシフトレジスタを複数用いることでデジタル出力x3本、後者に2本、合計デジタル出力5本で制御できると考えていますが、これは実際に行うことが出来るのでしょうか?また、可能であるとして注意すべき点などありましたらお教えくださると助かります。 よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
- フルカラーLEDの制御
技術、予算的に厳しいのでPICを使用せずに、ダイオードマトリックスでフルカラー制御を行いたいと考えています。 1回路8接点のロータリースイッチで、以下の7パターン(8接点目は省略)を切り替える仕様です。 過去ログのhttp://oshiete1.goo.ne.jp/qa1433600.htmlで、似たような事が書いてあったため、参考にして回路図を書いてみました。 ちなみにフルカラーLEDは並列で8つほど接続する予定です。(各LEDのR,G,Bに抵抗を取り付ける予定) 各抵抗値は、20mAを想定して、R=495Ω、G=430Ω、B=430Ωを考えています。 そこで質問なのですが、 1)以下の回路図でうまく制御できるものなのか、教えていただけないでしょうか。 2)1の赤(R)のみ光らせた場合の回路で例えると、GとBはアノードもカソードも同じ電位に なり、光らないという仕様になるのですが、この方法は正規なものなのでしょうか。 (負荷や寿命等に影響されない??) 3)各パターンからアノードコモンへの接続に、定電流ダイオード(E-103)を並列に繋ぎ、 20mAとしていますが、LEDを並列に8つ繋げた場合でも問題なく発光しますでしょうか。 以上、長文となりますが、よろしくお願い致します。 ------------------------------------------------------------------- 【フルカラー制御パターン ( )は点灯する色】 1 赤(R) 2 緑(G) 3 青(B) 4 黄(R+G) 5 紫(R+B) 6 水色(G+B) 7 白(R+G+B) 【フルカラーLED規格】 特殊フルカラーLED、アノードコモンタイプ R ... VF(2.1V) ... IF(50mA) G ... VF(3.4V) ... IF(30mA) B ... VF(3.4V) ... IF(30mA) 【回路図】 12Vアダプター - + | | | └──---┐ロータリースイッチ | ┌-┬-┬-┼-┬-┬-┐ ┷ 1 2 3 4 5 6 7 LR LG LB LC | | | | | | | | R R R | | | | | | | | | | | | | | | | | 1 ───-)-┬-)-┬-)-─┐ | | ▼| ▼| ▽ | | └┤ └┤ └-┤ 2 ──┬-)-─-)-┬-)-─┐ | ▼| | ▼| ▽ | └┤ | └┤ └-┤ 3 ──┬-)-┬-)-─-)-─┐ | ▼| ▼| | ▽ | └┤ └┤ | └-┤ 4 ───-)-─-)-┬-)-─┐ | | | ▼| ▽ | | | └┤ └-┤ 5 ───-)-┬-)-─-)-─┐ | | ▼| | ▽ | | └┤ | └-┤ 6 ──┬-)-─-)-─-)-─┐ | ▼| | | ▽ | └┤ | | └-┤ 7 ───-)-─-)-─-)-─┐ | | | | ▽ | | | | └-┘ | | | ┷ ┷ ┷ ※各記号の説明 LR ... LEDのR端子 LG ... LEDのG端子 LB ... LEDのB端子 LC ... LEDのアノードコモン R ... 抵抗 ▼ ... 汎用整流用ダイオード TAIWAN製 1N4007(1Aタイプ) ▽ ... 定電流ダイオード 石塚電子製 E-103(10mA)並列繋ぎ -)- ... 立体交差 ┷ ... GND
- 締切済み
- 科学
- オシロスコープの使い方
お恥ずかしい話なのですが、オシロスコープを貰ったのですが使い方がまったく解りません(汗 まず手はじめにArduinoのPWMでLEDを調光させた回路の波形を見ようと思って 以下の画像のLEDのアノード側にプローブのカギ針を引っ掛け カソード側にGND?(プローブから出てるヒゲみたいな線)のワニ口クリップを挟み測定してみたのですが。 測定1~2分は波形が見れるのですがその後オシロスコープが反応しなくなり波形も見れなくなってしまいます。 これは接続方法が間違ってるのでしょうか? それとも故障でしょうか? よろしくおねがいします。
- ベストアンサー
- 電子部品・基板部品
お礼
無事BA823と74HC595を使用してマトリクスを動作させることができました。ありがとうございます! 256階調のデータの表示について、もう少し詳しく記述して頂けないでしょうか。サンプルコードなどあるととても助かります。 本当に申し訳ないのですが、お時間ありましたら、よろしくお願いします。