1桁7セグメントLEDを表示させてみる。~手動で力業~
はじめに
7セグメントLEDをRaspberryPiを使って表示させていきます。
今回使用するのは1桁です。0~9の数字を表示することが目標です。
用意するもの
Raspberry Pi | Raspberry Pi 4 |
1桁7セグメントLED | OSL10561-LRA |
抵抗 | 100Ω抵抗 |
ジャンパーケーブル | ジャンパーケーブル |
ブレッドボード | ブレッドボード |
1桁7セグメントLEDはカソードコモンの物を使用します。
抵抗については8本使用します。
素子の接続
7セグメントのピンは以下のようになっています。
データシートの抜粋です。
Raspberry Piと7セグメントのピンの対応は次のようにしました。
7セグの8番は使っていません。
7セグピン | GPIO | 点灯箇所 |
1 | 24 | E |
2 | 25 | D |
3 | GND | – |
4 | 12 | C |
5 | 16 | DP |
6 | 21 | B |
7 | 20 | A |
8 | – | – |
9 | 23 | F |
10 | 18 | G |
GPIOの出力をHIGHにすることで、対応する箇所が点灯します。
数字を点灯させるにはいらないところをLOWにすれば表現できます。
対応は以下の表のとおりです。
数字 | GPIO24 | GPIO25 | GPIO12 | GPIO16 | GPIO21 | GPIO20 | GPIO23 | GPIO18 |
0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
2 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
3 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
4 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
5 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
6 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
7 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
8 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
9 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
数字を点灯させる
GPIOピンモードをアウトプットに設定します。
gpio -g mode 24 out
gpio -g mode 25 out
gpio -g mode 12 out
gpio -g mode 16 out
gpio -g mode 21 out
gpio -g mode 20 out
gpio -g mode 23 out
gpio -g mode 18 out
設定が反映されているか確認します。
BCM欄がGPIOのピン番号、Modeがアウトプット/インプットです。
Modeがアウトプットになっていることが確認できたら準備完了です。
順番に数字を点灯させていきます。
まずは「0」から。
gpio -g write 24 1 #HIGH=1 LOW=0
gpio -g write 25 1
gpio -g write 12 1
gpio -g write 21 1
gpio -g write 20 1
gpio -g write 23 1
入力するたびにセグが点灯していきます。
こんな感じです。(緑のテープはご愛敬・・・)
1~9も表を基に点灯させるとこのようになります。
0~9の数字を表示できました!
終わりに
手動で7セグメントLEDで数字を表示させることができました。
やっていることは簡単ですが正直かなりめんどくさいので、「プログラムとか作りたくないけど・・・とりあえず点灯させてみたい」と思ってる方におすすめです。
今後はこの動作をプログラム化し簡単に切り替えられるようにしていきたいと思ってます。
追記
プログラム作りました。
python編
C言語編