結構前から通っている秋葉原のジャンク屋、日米商事で、マトリックスLEDが210円で売られていました。ということで買ってみます。 (写真右) 16x16で、実際点灯させてみたら赤LEDでした。足の配列も調べておきます。ジャンクなので自分で調べないと何もわかりませんw で、ユニバーサル基板に載せてみると…… ピッチ(足の間隔)がちがう……。 とりあえず、ちょっとずつ曲げて基板のピッチにあわせました。 マトリックスLEDは、LEDの足が格子状の縦線と横線に接続されているので、1ラインずつ高速で点灯させるダイナミック点灯方式を使用します。あたりまえですが、思い通りに光らせるには、何らかのコンピュータが必要なので、今回はH8マイコンを使用しました。 マイコンにはIOポート(入出力端子)がついているので、そこにLEDの足を全部つないでやれば、思い通りに点灯させることができるわけです。実際にはIOポートからはあまり電流がとれないので工夫がいりますが。ところで、このLEDの足は32本。そんなにIOポートがありませんw ということで、ここで登場するのがシフトレジスタ(上の写真左)。今回は東芝のTC4094を使用しました。今回使うシフトレジスタは、1本の入力と8本の出力を持っていて、8本ぶんの出力状態を、入力端子から順番に決めていくことができます。実際にはクロックを送信したり、出力状況を固定する端子を使ったりしますが説明は省略します。 入力 出力 ■ ■□□□□□□□ □ □■□□□□□□ ■ ■□■□□□□□ ■ ■■□■□□□□ ■ ■■■□■□□□ □ □■■■□■□□ □ □□■■■□■□ ■ ■□□■■■□■ 1本の入力端子に、順番に ON OFF ON ON ON ON OFF OFF ON と送っていったら、シフトレジスタの8本の出力が ON OFF ON ON ON ON OFF OFF ON の状態になります。 これで、マイコンのIOポートを1本(実際にはクロックとかをあわせて3本)で、8本の出力ができるようになりました。今回は、クロックと出力状況を固定する端子を共通にし、2個の8bitシフトレジスタを1個の16bitシフトレジスタとして使用するという方法(マイコンから入力を受けるシフトレジスタのQs'という端子を次のシフトレジスタの入力につなぐ。)で、シフトレジスタを4個使用して、マイコンのIOポートは4個しか使わずに32本のLEDの端子を制御します。 こんなかんじ。 実はこれ失敗作で、LEDに流れる電流が足りず、きれいに表示されません(理論的には問題ないと思ったんだけどなぁ…)。一応ちゃんとうつりますがね。裏の配線は、どこまで空中をとばさずにできるかを試してみた物で、マイコンからのデータをつないでいる線をのぞけば、皮膜付きの線は3カ所しか使ってません。 >>その2 |