どうも、なかしーです。
僕は自動車のマイコンにプログラミングをする組み込みエンジニアとして働きつつ、YouTubeでArduinoの使い方を解説しています。
>>なかしーの電子工作部
Arduinoを使って7セグメントLEDで数字や文字を表示するにはどうしたらいいんだろう?
という悩みを解決します。
7セグメントLEDはセンサーの値や時間を表示するときに使われる電子部品です。
7セグメントLEDの中にLEDが7個入っているのでLEDについて知っていれば簡単に制御できますよ!
小数点付きだと8個LEDが入っています!
この記事では「Arduinoで7セグメントLEDを使う方法」について紹介します。
ちなみに、動画でも解説していますよ!
タップできるもくじ
7セグメントLEDの特徴
7セグメントLEDはLEDが複数入っているだけではなく、カソードかアノードが共通化されています。
LEDを7個使おうとするとカソードとアノード合計して14本の配線が必要です。
しかし、7セグメントLEDはカソードもしくはアノードのどちらかが共通化されているので使う配線は8本です。
Arduinoに7セグメントLEDを接続する
Arduinoのデジタルピンを7セグメントLEDに直接つなぐと壊れてしまうので、抵抗を繋げましょう。
まずは抵抗値を選定します!
Arduinoから出力電流は最大で100mAまでとなっています。
この電流を7つのLEDに分けて流すので、1つあたりの電流値は
と計算することが出来ます。
Arduino UNOの場合は出力電圧が5V、LEDの順方向電圧は2Vなので、オームの法則で抵抗値を求めると
となります。
電流を少なくすれば壊れることはないので、抵抗値は214Ωより高い物を選びます。
Arduinoの入門キットに入っていた220Ω(赤 赤 黒 黒)の抵抗を使います。
カソードコモンの7セグメントLEDを使って回路を作りました。
7セグメントLEDは左下から反時計回りに番号が振ってあります。
ピン番号 | 役割 |
1 | e |
2 | d |
3 | カソード |
4 | c |
5 | DP(小数点) |
6 | b |
7 | a |
8 | カソード |
9 | f |
10 | g |
アルファベットのa~gがLEDに対応していて、上から時計回りになっています。
繋ぎ方は下の画像を参考にしてください。
Arduinoで7セグメントLEDを動かすプログラム
7セグメントLEDに数字を表示するプログラムを作りました。
unsigned char data[10][7] = {
{1,1,1,1,1,1,0}, //0
{0,1,1,0,0,0,0}, //1
{1,1,0,1,1,0,1}, //2
{1,1,1,1,0,0,1}, //3
{0,1,1,0,0,1,1}, //4
{1,0,1,1,0,1,1}, //5
{1,0,1,1,1,1,1}, //6
{1,1,1,0,0,0,0}, //7
{1,1,1,1,1,1,1}, //8
{1,1,1,1,0,1,1}}; //9
void setup() {
pinMode(2,OUTPUT); //a
pinMode(3,OUTPUT); //b
pinMode(4,OUTPUT); //c
pinMode(5,OUTPUT); //d
pinMode(6,OUTPUT); //e
pinMode(7,OUTPUT); //f
pinMode(8,OUTPUT); //g
}
void loop() {
int i = 0;
int j = 0;
for (i = 0; i < 10; i++) {
for (j = 0; j < 7; j++) {
digitalWrite((j + 2),data[i][j]);
}
delay(1000);
}
}
7セグメントLEDに表示する数字や文字は配列で用意すると便利です!
アノードコモンの場合はハイとローが反転するのでご注意を!
Arduinoで7セグメントLEDを使う方法|まとめ
この記事では「Arduinoで7セグメントLEDを使う方法」について紹介しました。
7セグメントLEDは内部に7つもしくは8つのLEDが入っており、カソードかアノードのどちらかが共通(コモン)になっています。
7セグメントLEDを使う時はArduinoの出力電流が合計で100mA超えないようにする必要があるので抵抗値を選ぶ際に注意してください。
プログラムはデジタルピンのハイとローの組み合わせで表示パターンを作ります。
表示パターンには配列を使うと便利ですよ!
7セグメントLEDを2個以上使う時はArduinoから出力する電流だけでは足りません。
また、別の記事で紹介します。
7セグメントLEDの参考になる動画を下に貼っておきます。
>>なかしーの電子工作部
当ブログで人気のArduino入門キット