7セグメントディスプレイ¶
概要¶
7セグメントディスプレイは、数字や文字を表示できる装置です。7つのLEDが並列に接続されて構成されています。ディスプレイ上のピンを電源に接続し、関連するピンを有効にすることで、対応するLEDセグメントが点灯し、異なる文字/数字を表示できます。このレッスンでは、特定の文字を表示する方法を学びます。
必要なコンポーネント¶
このプロジェクトには以下のコンポーネントが必要です。
全セットを購入するのが便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから個別に購入することもできます。
コンポーネント紹介 |
購入リンク |
---|---|
- |
|
配線図¶
回路図¶
この実験では、7セグメントディスプレイのa-gの各ピンをそれぞれ1000オームの電流制限抵抗に接続し、その後4-11ピンに接続します。GNDはGNDに接続します。プログラミングにより、4-11ピンの一つまたは複数をHighレベルに設定して、対応するLED(複数可)を点灯させます。
コード¶
注釈
ファイル
13-7_segment.ino
をelite-explorer-kit-main\basic_project\13-7_segment
のパスで直接開くことができます。または、このコードをArduino IDEにコピーしてください。
コード解析¶
この実験のコードは少し長いかもしれませんが、構文はシンプルです。見てみましょう。
loop()内で関数を呼び出す
digital_1(); //diaplay 1 to the 7-segment
delay(1000); //wait for a second
digital_2(); //diaplay 2 to the 7-segment
delay(1000); //wait for a second
digital_3(); //diaplay 3 to the 7-segment
delay(1000); //wait for a second
digital_4(); //diaplay 4 to the 7-segment
これらの関数をloop()に呼び出すことで、7セグメントが0-Fを表示します。以下に関数の例を示します。 digital_2()
を例にとります:
digital_2()の詳細な分析
void digital_2() //diaplay 2 to the 7-segment
{
turnOffAllSegments();
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(g, HIGH);
digitalWrite(e, HIGH);
digitalWrite(d, HIGH);
}
まず、7セグメントディスプレイで数字の 2 がどのように表示されるかを理解する必要があります。これは、a、b、d、e、gのセグメントに電力を供給することで実現されます。プログラミングでは、これらのセグメントに接続されたピンをHighレベルに設定し、cとfはLowレベルに設定します。まず、 turnOffAllSegments()
関数を使用してすべてのセグメントを消灯し、その後必要なセグメントを点灯させます。
この部分を実行すると、7セグメントは 2 を表示します。他の文字の表示も同様です。表示上、大文字の B と D は、それぞれ 8 と 0 と同じに見えるため、小文字で表示されます。