マイコン一覧

フォントデータを読み込んでの表示

 向きだのビット順だのですったもんだしましたが、表示できました。おかげでビット演算に慣れてきた。
 やはり、フォンデータの作りと実回路が縦にも横にも逆なので、高速化するには回路の逆転が必要かな。そこまでの速度は無くても大丈夫なようですが。

20130228_02

「ひなまつり」。ひらがな程度ならOK。

20130228_03

 「重要文化財」。意外と読めるかな。実質7×7のフォントデータだけど美咲フォントあなどれないね。

 次は横スクロールの予定です。


8×8マトリックスLED5個のテストブレッドボード完成

20130228_01
 月末なので、本日は残業代休でお休みをいただきました。

 で、秋月で売ってる一番デカいブレッドボードEIC-108でLEDテスト機を作成。なるべくジャンプコードでなくジャンプワイヤで配線すべく。今回8ピンピッチの部品が多く、それらをパラにつなぐ部分が多いので8ピンサイズのジャンプワイヤが足りない。長いワイヤを切断&皮剥きする作業がメインだったかも。

 あと1個(無理すれば2個)マトリックスLEDを追加するスペースは残したのだけど、電流的にTD62083では厳しそうなのでこのまま(気が向いたら電流を実測してみる)。実際の完成版を作成する際は1.5Aを4回路流せるドライバICを買ってあるのでそれを使います。

 やはりマトリックスLEDのはアノードピンとカソードピンが綺麗に同じ側で並ぶように下駄基板を作って使ったほうがケーブル&ワイヤの取り回しが楽かな。LEDそのままだとクロスする配線が多くてどうしてもジャンプコードになる。スケルトン素材でできていて両面使えるブレッドボードとかあったら楽だし面白いかも。ニッチな需要だねぇ。

 さて、これでテスト環境ができたので、ソフトの開発に入りますよ。
 1個のn x nのマトリックスLEDをクラスにして実装するとこまでやってみたいですね。でも、動けば良いからなあ。


mbedでシフトレジスタ

 今日はちょっと残業して帰ったので、はんだ付けは無し。というか、秋月で売っている中で一番デカいブレッドボードと追加のジャンプワイヤを頼んだので、そっちで作るかも。途中まで作ったブレイクアウト基板はボチボチと配線していきます。完成すれば使い道はあるので。

 で、そのかわりに、ブレッドボードで作成済みの、マトリックスLEDが2つの回路をmbedで駆動してみた。

 行方向のアノード側はmbedのハードウエアSPIでシフトレジスタを駆動。列方向のカソード側は「mbed Shift Register Library, such as for NXP 74HC595」というのを発見したのでこれを利用。なんか、2のn乗-1をやるのにmbedのコンパイラでpow()使ったら怒られたので、ビット操作に変更して無事コンパイル完了。

 20130225_01

 一発動作(パチパチ)。って、大した事してないからw。

 ハードSPIの方はサンプルコードは1MHzクロックだったので、下げてみたが100KHzまで動作。10KHzとかだとmbedがLEDで降参してた。実際の信号がどのくらいのクロック出ているかはオシロつないでみないと。すごーく暇があったらやってみます。DSO Quadは持っているので、使いこなせてないけど。

 列にソフトウエアドライバを使ったのはLED点灯の目視確認の為。最終形になったらこっちもSPIに変えます。mbedはSPIが2つあるので。でも、列方向は8ドットしか無いのでそれほど速度要らないかも。

 最後に、ググっていて見つけたReal time 32×32 LED Displayのページ。32×32は良いとして、PWMで256階調とな。原理はわかるので気が向いたら試してみたいかも。x3になるけどRGB LED使うとか。絶対に手配線したくない領域になるなぁ。ってニコ動の動画へのリンクがあるから見てみたら、やっぱスパゲティーになってた。


マトリックスLED実験基板 2/24版

20130224_01

 実基板をいじってたら気づいたので、電流制限用の抵抗を一番下の線引き出し用のコネクタの部分に揃えました。まだまだ抵抗のはんだ付け中です。実装ではカソード間をつなぐ横のラインはLEDの下の基板上に配線。アノードから抵抗までは基板裏をポリウレタン線でと考えてます。

20130224_02

 うーんETFE単線は硬くて扱いづらいです。そして外皮が伸びてワイヤストリッパーでの剥きに時間がかかる。
 デカいブレッドボードを買っておいたほうがワイヤリングの見た目は悪いけど時間はかからんなとも思った。早速秋月に発注してみた。LED80個程度の電流を流せるトランジスタアレイも欲しかったから、そのついで。
 この基板の完成は今週末以降かも。


実験用の8×8ミニマトリックスLEDの基板設計

 行事から帰宅後Fritzingで配線検討。以下のようになってます。LEDは220Ωを通した実測が7.23mAくらいだったので、冒険出来るように5個配置。5個だと5×8=40個のLEDが同時点灯する可能性があるわけで。カソード側のトランジスタアレイのTD62083に頑張って貰いたい。

 本当にいまさらだけど、トランジスタアレイのピン番号に意味が無いことに気づいたので、隣のシフトレジスタのICとは180度反転した配置になってます。

 下の図は素人の設計なので、利用の際は間違ってる事を加味した上でご利用ください。不具合によって発生した事象の保証はしません。
20130223_01

 で、実装は以下の感じだろうか。LEDは抵抗を表面に持ってくる為に下駄を装着。部品はなるべく基板表面に実装したいのです。結局、ワイヤリングがキツキツなので裏面をポリウレタン線で配線することは確実です。
 LEDのピンなんかもソフトウエア側で補正は出来るのだけも、まずは綺麗な連番で試しておきたいのです。

20130223_02

 シフトレジスタやトランジスタアレイごときにICソケットを使うのは、まぁ電流オーバーでぶち壊れた時の交換を簡単にするためです。

 ちと、個ごとのマトリックスLEDをの動作自体をダイナミック動作させようかとも思ったりしましたが、自分の手に負えず。アノード側のシフトレジスタの出力を別のシフトレジスタで制御すればできそうではありますが、無理しない。ダイナミック制御xダイナミック制御なのでちらつくかもね。まぁ、今後の課題。

 明日はポリウレタン線と格闘です。


ブレッドボードの限界・・・か?

 マトリックスLEDをシフトレジスタで遊び始めて思うこと。

 ブレッドボードだとキツイ。マトリックスLEDの方はアノードなりカソードなりが並んで配置されてればともかくあっちこっちなので制限抵抗もあっちこっちになる。なので結局抵抗を入れるためにブレッドボードの幅を使う。
 シフトレジスタ定番の74HC595も0bitが1~7bitと反対側のピンに出てるので綺麗に収まらない。
 もう、ブレッドボード上がジャンプワイヤだらけになる。

 なので、ホントはブレッドボードでの試作用に買ったaitendoの100円8×8マトリックスLEDなのだけど、ユニバーサル基板にはんだ付け配置して、ブレイクボード化しようと思う。この土日でやりたいな。

20130222_01

 こんな感じで。LEDのアノード側は抵抗入れた上で1列32ピンのピンソケットにしたい。カソード側はトランジスタアレイと74HC595を接続。トランジスタアレイも定番のTD62083なのでMAX500mA。横8dotx4=32で、1LEDに10mA流しても320mA行ってしまうのでマトリックスLEDは4個が瀬戸際かな?PWM使って断続的な通電にすればもうすこし大丈夫なのか?そういうのも含めてのプロトタイプ基板です。
 大きい(かつ高価)な本命のマトリックスLEDを使うのはもう少しあとです。