認可されたオンライン小売業者:
このプロジェクトでは、Osoyoo Basicボードを使用して、単一の7セグメントLEDディスプレイを駆動する方法を紹介します。
1桁の7セグメントディスプレイは、出力の範囲が事前に分かっている組み込みシステムや産業用途で使用されます。基本的な1桁の7セグメントディスプレイは、0〜9の数字といくつかの文字を表示できます。7セグメントディスプレイには、ディスプレイで表示できる桁数/文字数が異なるタイプがあります。基本的に、7セグメントディスプレイは1つのユニットであり、1桁または1文字しか表示できません。より多くの桁数を表示するには、単一のユニットの7セグメントディスプレイを多重化して2桁ディスプレイ、3桁ディスプレイ、または4桁7セグメントディスプレイを形成します。Arduinと7セグメントディスプレイを接続するのは非常に簡単です!それでは、チュートリアルを始めましょう。
7セグメントディスプレイには、表示できる文字の範囲が特に制限されています。市場には、7セグメントディスプレイよりもはるかに高度なディスプレイがあり、ほとんどのアルファベットの文字を表示できます。たとえば、16×2のLCDはほぼすべてのASCII文字を表示できます。なぜ7セグメントディスプレイがまだ市場に存在しているのかと思うかもしれません。それは、7セグメントディスプレイが市場で利用可能なディスプレイデバイスの中で最も安価な選択肢であるためです。単一の桁/文字の7セグメントディスプレイユニットは、16×2 LCDモジュールの1/10のコストで入手できます。
ディスプレイ内の各LEDには、接続ピンの1つが長方形のプラスチックパッケージから出ている位置のセグメントが与えられます。これらのLEDピンは、「a」から「g」までラベル付けされ、各個別LEDを表しています。他のLEDピンは共通ピンに接続されています。したがって、LEDセグメントの適切なピンを順番にフォワードバイアスすることにより、いくつかのセグメントが明るくなり、他のセグメントは暗くなり、表示される対応する文字が表示されます。
ディスプレイの共通ピンは通常、そのタイプを示します。ピンの接続には、共通カソード(CC)と共通アノード(CA)の2つのタイプがあります。名前の通り、CCディスプレイは7つのLEDのカソードがすべて接続されているのに対し、CAディスプレイは7つのセグメントのアノードがすべて接続されています。
共通カソード7セグメントディスプレイ
共通カソードディスプレイでは、すべてのLEDセグメントのカソードが論理「0」またはグラウンドに接続されています。次に、個々のセグメント(a-g)は、そのアノードをフォワードバイアスするための限流抵抗を介して、「HIGH」または論理「1」信号で励起されます。
以下の図に示すように、セグメントピンbとcが「HIGH」に設定されます。
共通アノード7セグメントディスプレイ
共通アノードディスプレイでは、すべてのLEDセグメントのアノードが論理「1」に接続されています。次に、個々のセグメント(a-g)は、そのカソードをフォワードバイアスするための限流抵抗を介して、グラウンド、論理「0」または「LOW」信号で励起されます。
以下の図に示すように、セグメントピンbとcが「LOW」に設定されます。
注:
上記回路図に従うさまざまな種類の7セグメントLEDディスプレイがあるものの、それが保証されているわけではありません。接続方法を知るためには、使用するLEDディスプレイのデータシートを入手するか、各ピンに電源を接続してどれが点灯するかを調べることが最善策です。接続を正しく行わない場合、回路は数字0〜9を表示する出力を生成しないため、どのピンがどれかを知ることは非常に重要です。
この実験では、7セグメントディスプレイの各ピンA-Gをそれぞれ1つの200Ω電流制限抵抗器に接続し、次にピン4〜11に接続します。GNDはGNDに接続します。プログラミングにより、ピン4〜11の1つまたは複数をハイレベルに設定して、対応するLEDを点灯させることができます。
7セグメントディスプレイとOSOYOO Basicボードの配線:
7セグメントディスプレイ |
Osoyoo Basic ボード |
A |
7 |
B |
6 |
C |
5 |
D |
11 |
E |
10 |
F |
8 |
G |
9 |
DP |
4 |
Com |
GND |
上記の操作が完了したら、USBケーブルを使用してボードをコンピューターに接続します。緑色の電源LED(PWRと表示されているもの)が点灯するはずです。次に、 以下のスケッチ をボードにアップロードします。
int a=7; int b=6; int c=5; int d=11; int e=10; int f=8; int g=9; int dp=4; //display number 1 void display1(void) { digitalWrite(b,HIGH); digitalWrite(c,HIGH); } //display number2 void display2(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(g,HIGH); digitalWrite(e,HIGH); digitalWrite(d,HIGH); } // display number3 void display3(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(g,HIGH); } // display number4 void display4(void) { digitalWrite(f,HIGH); digitalWrite(b,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); } // display number5 void display5(void) { digitalWrite(a,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); } // display number6 void display6(void) { digitalWrite(a,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); } // display number7 void display7(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); } // display number8 void display8(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); } void clearDisplay(void) { digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(g,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); } void display9(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(f,HIGH); } void display0(void) { digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); } void setup() { int i; for(i=4;i<=11;i++) pinMode(i,OUTPUT); } void loop() { while(1) { clearDisplay(); display0(); delay(2000); clearDisplay(); display1(); delay(2000); clearDisplay(); display2(); delay(2000); clearDisplay(); display3(); delay(2000); clearDisplay(); display4(); delay(2000); clearDisplay(); display5(); delay(2000); clearDisplay(); display6(); delay(2000); clearDisplay(); display7(); delay(2000); clearDisplay(); display8(); delay(2000); clearDisplay(); display9(); delay(2000); } }
アップロードが完了して数秒後には、今度は0から9までの7セグメントディスプレイが表示されるはずです。
DownLoad Url osoyoo.com