- ベストアンサー
Arduino×LEDマトリクス×BA823の配線方法が分からない
- 秋月のLEDマトリクス(赤単色)をローム社のシフトレジスタBA823と接続し、Arduinoで制御しようと試みていますが、配線方法が分からず困っています。
- LEDマトリクスのアノード側とカソード側に、それぞれ1台ずつBA823を接続し、データシートに従いVCC、GND、STROBE(LATCH)、SHIFT PULSE(CLOCK)、DATAをArduinoへ繋いでいますが、全く点灯しない状況です。
- ドット単位で明るさが制御できるシフトレジスタの情報がある方がおられましたら、是非ご教示下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
私も256階調表示はプログラムを組んだことはありませんが、大体の流れは1段ずつ表示すると解り易いと思います。 PAGE1_DATA_SET PAGE2_DATA_SET LINE_WAIT PAGE3_DATA_SET LINE_WAIT * 3 PAGE4_DATA_SET LINE_WAIT * 7 PAGE5_DATA_SET LINE_WAIT * 15 PAGE6_DATA_SET LINE_WAIT * 31 PAGE7_DATA_SET LINE_WAIT * 63 PAGE8_DATA_SET LINE_WAIT * 127 で1段分の表示になり、8段繰り返して1ページ分になります 最終的にはタイマ割り込みでデータの更新を行えばWAITが不要になります 1画面更新周期 1/60秒 1段表示周期 1/(60*8)秒 約 2mS 1段最小データ更新時間 1/(60*8*256)秒 約8uS 最小割り込み周期 これは高速なマイコンでないと難しいかもしれません、LEDがI/Oポート直結なら簡単なのですが 健闘を祈ります。
その他の回答 (2)
- koujikuu
- ベストアンサー率43% (429/993)
BA823 74HC595 の組み合わせで大丈夫です、74HC595はドライブ電流20mAまでなので8ヶLEDを駆動できません 74HC595に8ビットデータをセットしBA823でカラムアドレスを切り替えるようになります 256階調データを表示する場合は、8ページのデータを用意し各ページの表示時間を 1,2,4,8,16,32,64,128で切り替える必要があります
お礼
無事BA823と74HC595を使用してマトリクスを動作させることができました。ありがとうございます! 256階調のデータの表示について、もう少し詳しく記述して頂けないでしょうか。サンプルコードなどあるととても助かります。 本当に申し訳ないのですが、お時間ありましたら、よろしくお願いします。
- koujikuu
- ベストアンサー率43% (429/993)
BA823は電流を吸い込むのみです、-207mA 74HC595は吸出し吸い込みOK -20mA or +20mA よって74HC595の出力に抵抗をかましてLED+へ LED-をBA823の出力へつなぐ必要があります BA823の参考回路がありましたので http://www.binzume.net/library/avr_matrix_led.html ftp://ftp.elektroda.net/pub/Karty%20katalogowe/ba823-j.pdf http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf 二枚の画像を交互に表示すれば擬似階調が実現できます。
お礼
koujikuu様 回答ありがとうございます。分かりやすい返答を頂きとても嬉しいです。非常に参考になりました。 ということは、BA823と74HC595を組み合わせて駆動する、もしくは74HC595のみで駆動する、ということでしょうか。 続けて質問になり申し訳ないのですが、その場合、マトリクスの各ドットへ、リアルタイムでArduinoからLEDの明るさの数値を送り続けることは可能でしょうか。 具体的には、このようなことを→(http://kousaku-kousaku.blogspot.jp/2008/08/arduinoprocessingledweb.html)シフトレジスタをはさんで行いたいのですが・・・。
お礼
とても参考になりました。 何度も質問に答えて頂きありがとうございました。頑張ります。