LESSON 019
シフトレジスタ(74HC595)を用いて7セグメントLEDを光らせる。
7セグメントLEDとはLEDを①の様に配置し8本の信号を制御して16進数の 0 ~ F までを表示させルLEDパーツでLED数字表示器とも呼ばれています。
7セグメントLEDの略図として①がよく使われていますが、裏のピンの番号の表が必要になります。②は、表のLEDと裏のピンの番号と合わせた物です。
![](https://www.msyoukai.com/wp-content/uploads/2022/05/74-010-300x228.png)
7セグメントLEDは、アノードまたはカソードのどちらかが共通端子になっています。
今回はカソードコモンを使用します。
例えば、0ならば③と⑧ピンはGNDになりますので、5,10ピン以外のLEDのピンを全てONにすると 0 が表示されます。
次の表の文字が表示出来るようにLEDを点灯させます。
![](https://www.msyoukai.com/wp-content/uploads/2022/05/74-014-300x134.png)
例えば、0ならば③と⑧ピンはGNDになりますので、5,10ピン以外のLEDのピンを全てONにすると 0 が表示されます。
![](https://www.msyoukai.com/wp-content/uploads/2022/05/74-011-300x177.png)
![](https://www.msyoukai.com/wp-content/uploads/2022/05/74-013-173x300.png)
目 次
-
- 構成部品
- 配線図
- スケッチ
- 解説
- 結果
- まとめ
const int SER = 8;
const int RCLK = 9;
const int SRCLK = 10;
const int t = 1000;
byte dataB[] = {
B01110111,
B00010100,
B10110011,
B10110110,
B11010100,
B11100110,
B11100111,
B01110100,
B11110111,
B11110100,
B11110101,
B11000111,
B01100011,
B10010111,
B11100011,
B11100001,
};
void setup() {
pinMode(SRCLK, OUTPUT);
pinMode(RCLK, OUTPUT);
pinMode(SER, OUTPUT);
}
void loop() {
for ( int i=0; i<16; i++ ) {
shiftOut(SER,SRCLK, MSBFIRST, dataB[i]);
digitalWrite(RCLK, LOW);
digitalWrite(RCLK, HIGH);
delay(t);
}
}
リンク
○ 今回はFOR文を使い、0からFまで繰り返しましたが、スケッチなどでカウントする方法もありますよね。
○ Arduino を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。