• 締切済み

赤色LEDドットマトリクスの使い方

赤色LEDドットマトリクス(8×8)38x38mmってどうやって68個もある点の中のたった一つだけを光らしたりするのですか?

みんなの回答

  • inara
  • ベストアンサー率72% (293/404)
回答No.1

半導体メモリ内部の特定のデータの読み出しや書き込みや、昔の液晶ディスプレイの表示方法と同じように、マトリクス(行列)状に並んだ素子のX方向の位置とY方向の位置を指定することで、特定の素子を選んで駆動しているからです(マトリクス駆動)。なぜ特定のLEDだけ光るかというのは、LEDが逆方向に電流を流さないという性質を利用しているからです。以下にそのカラクリを説明します。 下図のように縦方向と横方向に配線をした状態で、縦線(A)と横線(B)が交叉する部分にLEDを配置します。ドットマトリクス型LEDの内部はこのようになっています。▽がLEDで、上から下に電流を流すと発光しますが、したから上には電流は流れません。R はLEDの明るさを決める抵抗で、これは外部に取り付けるものです。        A1    A2    A3        │    │    │        R     R     R        │    │    │  B1 ─┬─)─┬─)─┬─)─ ・・ LED→ ▽ │  ▽ │  ▽ │      └-┤  └-┤  └-┤  B2 ─┬─)─┬─)─┬─)─ ・・      ▽ │  ▽ │  ▽ │      └-┤  └-┤  └-┤ まず、A1 のラインを 0V、A2以降のラインを全て 5V にします。次にB1 のラインを 5V、B2 以降をすべて 0V にします。すると LEDのアノード側(▽ の上側)が5Vでカソード側(▽ の下側)の電圧が5Vより低くなるのは、A1 と B1 が交叉するところのLEDだけです。他のLEDは、アノードもカソードも 5V になっているか、あるいは、アノードが 0V でカソードが 5V という逆バイアス状態になっているので光りません。したがって、発光するのは A1 と B1 が交叉するところのLEDだけになります。 次に、A2 のラインを 0V、他の A列のラインを全て 5V にします。すると、LEDが点灯するのは A2列 とB1行が交叉する部分のLEDだけになります。上の場合は、左上隅のLEDだけ点灯しましたが、今度はその右隣のLEDだけが点灯します。 さらに、A3 のラインを 0V、他の A列のラインを全て 5V にします。するとさらに右隣のLEDだけが点灯します。このようにA列に加える電圧を変えていくと、点灯するLEDの横方向の位置を次々に変えることができます。 上の例では B1 行だけ5Vにして、他のB行は 0V にしましたが、今度は B2 行だけ5Vにして他のB行を全て0Vにすれば、2番目の行のLEDについても同じような光らせ方ができます。 このように、A列とB行に加える電圧を変えれば、任意のLEDのを光らせることができます。この場合、光らせることができるのは1個だけです(アノードが5Vで、カソードがそれより低電圧になるのは1個しかない)。しかし、A列全部を 0V にすれば、同じB行に属する複数のLEDを同時に全部光らせることもできます。つまり、5Vがかかっている行がアノードになっている全てのLEDが発光します。もちろんB行全部を5Vにすれば、全部のLEDが発光します。 しかし、全てのLEDを同時に発光させたのでは文字や数字を表示できません。文字や数字を表示させるには、以下のいずれかの方法を使います。   ・ブラウン管方式のTVと同じように、まず一番上の行(B1)について、A1から右方向に順番にLEDを発光させて右端まで行ったら、今度はその下の行(B2)について、左端から右端まで光らせる。これを一番下の行までを繰り返す。このような表示を非常に早く行えば、人間の目は複数のLEDが同時に光っているように見えるので、文字や数字を表すことができる。   ・A列の1つだけを0Vにするのではなく、同時に0Vとなる列が複数ある状態で、B1に5Vをかかけると、0Vにした列のLEDが同時に点灯する。次に、A列の電圧パターンを変えて、B2にだけ5Vを変えると、今度はB1に属するのLEDの中で、A列が0Vになっている複数のLEDが同時に点灯する。これを順次繰り返すことで、一番上の行(ライン)から順番に下のラインまで、特定のLEDが次々に発光する。

すると、全ての回答が全文表示されます。

関連するQ&A