このセッションでは、8x8LEDマトリックスとATmega8マイクロコントローラーを備えた8x8LEDディスプレイを設計します。これにより、アルファベットや名前を表示できます。典型的な8x8のLEDマトリックスを以下に示します。
8x8 LEDマトリックスには、マトリックスの形で配置された64個のLED(発光ダイオード)が含まれているため、LEDマトリックスと呼ばれています。これらのマトリックスは、64個のLEDを回路化することで作成できます。ただし、そのプロセスには時間がかかります。現在、図に示すように、コンパクトな形式で入手できます。これらのコンパクトなモジュールは、さまざまなサイズと多くの色でご利用いただけます。都合に合わせて選ぶことができます。
モジュールのコストは64LEDのコストと同じなので、愛好家にとってこれは最も簡単に作業できます。モジュールのPIN構成は図のようになります。PINは、エラーを回避するために、図に示されているとおりの番号にする必要があります。モジュールの内部回路構成について詳しく説明します。
コンポーネント
ハードウェア: ATMEGA8、電源(5v)、AVR-ISPプログラマー、100 uFコンデンサー(電源の両端に接続)、1KΩ抵抗(8個)。
ソフトウェア: Atmel studio 6.1、progispまたはflashmagic。
回路図と動作
ATMEGA8とLEDマトリックスモジュールの間で行われる接続を下の図に示します。
PORTD、PIN0 ------------------ LEDモジュールのPIN13
PORTD、PIN1 ------------------ LEDモジュールのPIN03
PORTD、PIN2 ------------------ LEDモジュールのPIN04
PORTD、PIN3 ------------------ LEDモジュールのPIN10
PORTD、PIN4 ------------------ LEDモジュールのPIN06
PORTD、PIN5 ------------------ LEDモジュールのPIN11
PORTD、PIN6 ------------------ LEDモジュールのPIN15
PORTD、PIN7 ------------------ LEDモジュールのPIN16
PORTB、PIN0 ------------------ LEDモジュールのPIN09
PORTB、PIN1 ------------------ LEDモジュールのPIN14
PORTB、PIN2 ------------------ LEDモジュールのPIN08
PORTB、PIN3 ------------------ LEDモジュールのPIN12
PORTC、PIN0 ------------------ LEDモジュールのPIN01
PORTC、PIN1 ------------------ LEDモジュールのPIN07
PORTC、PIN2 ------------------ LEDモジュールのPIN02
PORTC、PIN3 ------------------ LEDモジュールのPIN05
8x8LEDマトリックスディスプレイの回路図を下図に示します。
マトリックス状に配置された64個のLEDがあります。したがって、図に示すように、8つの列と8つの行があります。それらの行と列の上に、行のすべての正の端子がまとめられます。各行には、その行の8つのLEDすべてに共通の正端子が1つあります。下図に示しますが、
したがって、8行の場合、8つの共通の正の端子があります。最初の行について考えてみます。写真で見られるように、D1からD8までのLEDは共通のプラス端子を持ち、PIN9としてLEDモジュールから取り出されます。
行のすべての一般的なポジティブがLEDモジュールから整然と取り出されるわけではないことがわかります。いずれの場合も、共通端子には非常に不規則性があります。端末を接続するときは、このことに注意する必要があります。
マトリックスの最初の行のいずれかまたはすべてのLEDをオンにする場合は、PIN0ではなくLEDマトリックスモジュールのPIN9に電力を供給する必要があります。
マトリックスの3番目の行のいずれかまたはすべてのLEDをオンにする場合は、PIN2ではなくLEDマトリックスモジュールのPIN8に電力を供給する必要があります。
したがって、行内の1つまたはすべてのLEDをオンにするときはいつでも、LEDモジュールの対応するピンに電力が供給されます。
ROWSが何も生み出さないパワーを残すだけでは、これはまだ終わっていません。もう一方の端を接地する必要があります。以下で説明します。
ここで、このインスタンスでは、一般的な正の行を無視し、一般的な負の列に焦点を合わせます。
したがって、そのモジュールでは、最初の列のすべてのマイナス端子がPIN13にまとめられます。これを下図に示します。
ここでもモジュールのPINOUTAGEに異常があります。最初の列のLEDコモンネガティブはPIN13で引き出されます。2列目のLEDコモンネガティブはPIN3で引き出されます。
接続中はピンに注意する必要があります。ここで、最初の列の1つまたはすべてのLEDを接地する場合は、MATRIXMODULEのPIN13を接地します。この方法は、他の7つの一般的な負の列にすべて行きます。両方のケースを組み合わせると、以下に示すような回路に出くわします。
上記の回路は、LEDモジュールの完全な内部図です。 マトリックスのLEDD10をオンにする場合は、モジュールのPIN14に電力を供給し、モジュールのPIN3を接地する必要があるとします。これでD10がオンになります。これを下図に示します。これは、最初にMATRIXがすべてを順番に知っていることを確認する必要があります。
D1をオンにする場合は、マトリックスのPIN9に電力を供給し、PIN13を接地する必要があるとします。そのLEDでD1が点灯します。この場合の現在の方向を下の図に示します。
ここで注意が必要なのは、D1とD10の両方を一度にオンにすることです。したがって、PIN9、PIN14の両方に電力を供給し、PIN13、PIN3の両方を接地します。これで、D1とD10とともにD2とD9がオンになります。共通の端末を共有しているからです。したがって、対角線に沿ってLEDをオンにしたい場合は、途中ですべてのLEDをオンにする必要があります。これを下図に示します。
したがって、この問題を解消するために、一度に1つのLEDのみをオンにします。t = 0m SECで、LEDD1がオンに調整されているとします。t = 1m SECで、LED D1がオフに調整され、LEDD2がオンになります。再びt = 2 m SECで、LED D2がオフになり、LEDD1がオンになります。これは続きます。
ここでの秘訣は、人間の目は30HZを超える周波数をキャプチャできないということです。これは、LEDが30Hz以上の速度で連続的にオンとオフを切り替える場合です。目はLEDが継続的に点灯しているように見えます。ただし、そうではありません。LEDは常にオンとオフになります。この手法は多重化と呼ばれます。
多重化を使用することにより、一度に1行だけを回転させ、8行を連続して循環させます。これは、肉眼で完全にオンになったマトリックスとして視覚化されました。
ここで、マトリックスに「A」を表示するとします。
言われたように、私たちは瞬時に1つの行をオンにします、
t = 0m SECで、この時点でPIN09がHIGHに設定され(この時点で他のROWピンがLOW)、PIN3、PIN4、PIN10、PIN6、PIN11、PIN15が接地されます(この時点で他のCOLUMNピンがHIGH)
t = 1m SECで、PIN14はHIGHに設定され(この時点で他のROWピンはLOW)、この時点でPIN13、PIN3、PIN4、PIN10、PIN6、PIN11、PIN15、PIN16は接地されます(他のCOLUMNピンはこの時点でHIGHです) )
t = 2m SECで、PIN08がHIGHに設定され(この時点で他のROWピンがLOW)、この時点でPIN13、PIN3、PIN15、PIN16が接地されます(この時点で他のCOLUMNピンがHIGH)
t = 3m SECで、PIN12がHIGHに設定され(この時点で他のROWピンがLOW)、この時点でPIN13、PIN3、PIN15、PIN16が接地されます(この時点で他のCOLUMNピンがHIGH)
t = 4m SECで、PIN01がHIGHに設定され(この時点で他のROWピンがLOW)、この時点でPIN13、PIN3、PIN4、PIN10、PIN6、PIN11、PIN15、PIN16が接地されます(他のCOLUMNピンはこの時点でHIGHです) )
t = 5m SECで、PIN07がHIGHに設定され(この時点で他のROWピンがLOW)、この時点でPIN13、PIN3、PIN4、PIN10、PIN6、PIN11、PIN15、PIN16が接地されます(他のCOLUMNピンはこの時点でHIGHです) )
t = 6m SECで、PIN02がHIGHに設定され(この時点で他のROWピンがLOW)、この時点でPIN13、PIN3、PIN15、PIN16が接地されます(この時点で他のCOLUMNピンがHIGH)
t = 7m SECで、PIN05がHIGHに設定され(この時点で他のROWピンがLOW)、この時点でPIN13、PIN3、PIN15、PIN16が接地されます(この時点で他のCOLUMNピンがHIGH)
この速度では、ディスプレイに「A」の文字が連続して表示されます。図に示します。
これは、すべての文字が表示される方法です。回路図に示すように、適切な方法で回路を接続した後。名前を表示するために、コントローラーに多重化を順番に実行するように直接指示することができます。