今日はちょっと残業して帰ったので、はんだ付けは無し。というか、秋月で売っている中で一番デカいブレッドボードと追加のジャンプワイヤを頼んだので、そっちで作るかも。途中まで作ったブレイクアウト基板はボチボチと配線していきます。完成すれば使い道はあるので。
で、そのかわりに、ブレッドボードで作成済みの、マトリックスLEDが2つの回路をmbedで駆動してみた。
行方向のアノード側はmbedのハードウエアSPIでシフトレジスタを駆動。列方向のカソード側は「mbed Shift Register Library, such as for NXP 74HC595」というのを発見したのでこれを利用。なんか、2のn乗-1をやるのにmbedのコンパイラでpow()使ったら怒られたので、ビット操作に変更して無事コンパイル完了。
一発動作(パチパチ)。って、大した事してないから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使うとか。絶対に手配線したくない領域になるなぁ。ってニコ動の動画へのリンクがあるから見てみたら、やっぱスパゲティーになってた。