7セグメントディスプレイ

概要

7セグメントディスプレイは、数字や文字を表示できる装置です。7つのLEDが並列に接続されて構成されています。ディスプレイ上のピンを電源に接続し、関連するピンを有効にすることで、対応するLEDセグメントが点灯し、異なる文字/数字を表示できます。このレッスンでは、特定の文字を表示する方法を学びます。

必要なコンポーネント

このプロジェクトには以下のコンポーネントが必要です。

全セットを購入するのが便利です。こちらがリンクです:

名称

このキットのアイテム数

リンク

Elite Explorer Kit

300+

Elite Explorer Kit

以下のリンクから個別に購入することもできます。

コンポーネント紹介

購入リンク

Arduino Uno R4 WiFi

-

ブレッドボード

BUY

ジャンパーワイヤー

BUY

抵抗器

BUY

7セグメントディスプレイ

BUY

配線図

../_images/13-7_segment_display_bb.png

回路図

この実験では、7セグメントディスプレイのa-gの各ピンをそれぞれ1000オームの電流制限抵抗に接続し、その後4-11ピンに接続します。GNDはGNDに接続します。プログラミングにより、4-11ピンの一つまたは複数をHighレベルに設定して、対応するLED(複数可)を点灯させます。

../_images/13-7_segment_display_schematic.png

コード

注釈

  • ファイル 13-7_segment.inoelite-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);
}
../_images/13_7segment.jpeg

まず、7セグメントディスプレイで数字の 2 がどのように表示されるかを理解する必要があります。これは、a、b、d、e、gのセグメントに電力を供給することで実現されます。プログラミングでは、これらのセグメントに接続されたピンをHighレベルに設定し、cとfはLowレベルに設定します。まず、 turnOffAllSegments() 関数を使用してすべてのセグメントを消灯し、その後必要なセグメントを点灯させます。

この部分を実行すると、7セグメントは 2 を表示します。他の文字の表示も同様です。表示上、大文字の BD は、それぞれ 80 と同じに見えるため、小文字で表示されます。