山口屋~活動日誌~

私生活で主な出来事をピックアップ

ドットマトリクスに新技術採用

2005-08-12 23:55:38 | 工学
大学のサークル内では、同期のS氏の製作した二足歩行ロボットの顔としてドットマトリクスが使われたのが記憶に新しい。ドットマトリクスはピンが多いため、マイコンでのI/Oポートの使用数をいかに減らすかが課題となる。

最初はそれとは別に、ドットマトリクスは瞬間的にLEDに大電流を流して十分な明るさを確保しているが、(電流の限界値は既知なのに対し、)どのくらい流したら十分な明るさが得られるのだろうか?、という疑問を解決できずにいて、秋月電子で売っているキットを参考にすることにした。7800円で8月7日に買った。電流というパラメータ1つのためにこれだけの金をかけたということになりかけたが、キットを参考にいろいろ考えた結果、素晴らしいアイデアを得ることができた。

そのアイデアとは、8bitシフトレジスタ(IC)を使うことだ。

コモン側の制御では、マイコンの1つのポートからHLLLLLLLの周期でシリアル信号を送り出すと8bitシフトレジスタがパラレル出力してくれるので、あとはマイコンからのクロック出力を8bitシフトレジスタのクロック入力に接続すれば立ち上がりエッジの度に1bitずつシフトし、各列が順に点灯する。実際には8bitシフトレジスタを2個直列に接続して16bitシフトレジスタを構成して使う。これには千石電商で売っているTC74HC164AP(90円)を使う予定。

コモン側とは反対側の制御は、同じシフトレジスタを使うが、ラッチ付のものを使う。ラッチ付のものを使うと、必要な全てのシリアル信号の入力が終わり、ラッチにストアするまで出力を待つことができ、指定したLEDだけを点灯することができる。出力ディセーブル/イネーブル端子の機能もあるが、出力ディセーブル時に全ての出力がHになるのが不都合なので、この機能は使わない。やはり実際には8bitシフトレジスタ・ラッチを2個直列に接続して16bitシフトレジスタ・ラッチを構成して使う。これには千石電商で売っているTC74HC595AP(170円)を使う予定。

坂上の二足歩行ロボットの顔として使ったドットマトリクスでは、デコーダを使って信号の数を減らしていたが、それでもマイコンからの出力信号はパラレルであった。

上手くいけばそれよりも大幅にポートの数を減らすことができ、当初予定していたマイコン使用数が大幅に少なくて済みそうだ。問題は、ドットマトリクスがちらつかないかどうか、クロックとシリアル信号が上手く同期できるかどうか、といったところ。

もう1つ、トランジスタアレイ(IC)を使うといちいち個々のトランジスタを配置しなくてよいのでラクになりそうだ、というアイデアもキットから得た。

あまり作る気もないキットを7800円という高い金でかったとはいえ、それに値するいいアイデアが得られたと自分は満足している。