本記事の内容
Raspberry Pi Picoを用いて、5161BS「7セグメントLED」に任意の数字を表示させるコードをMicroPythonで作成しました。
タイマーや温度計などの表示機器として、7セグメントLEDを活用してみてください。
5161BS「7セグメントLED」とは
発光ダイオード(LED)にて数値と小数点が表示できるデジタル表示モジュールの一つです。「LED数字表示器」や「7セグLED」とも呼ばれるそうです。
LED表示器には、共通ピンが「+」のアノードコモンと、共通ピンが「−」のカソードコモンの2種類のがあります。今回使用する「5161BS」は、アノードコモンの回路になります。(データシート)
配線
アノードコモンである5161BS「7セグメントLED」の配線は、以下の通りです。共通ピンを3V3に繋ぎ、他のピンを適当なGPIOピンに繋げば完成です。

プログラムコード
たまには、Githubでなく自力で作成してみました。GPIOピンの配線が異なる場合は、numberlist配列を調整してください。
import machine
import time
numberlist = [
[0,1,1,1,1,0,1,1], #0
[0,0,1,0,1,0,0,0], #1
[1,0,1,1,0,0,1,1], #2
[1,0,1,1,1,0,1,0], #3
[1,1,1,0,1,0,0,0], #4
[1,1,0,1,1,0,1,0], #5
[1,1,0,1,1,0,1,1], #6
[0,1,1,1,1,0,0,0], #7
[1,1,1,1,1,0,1,1], #8
[1,1,1,1,1,0,1,0] #9
]
def clear():
machine.Pin(12, machine.Pin.OUT).value(1)
machine.Pin(13, machine.Pin.OUT).value(1)
machine.Pin(14, machine.Pin.OUT).value(1)
machine.Pin(15, machine.Pin.OUT).value(1)
machine.Pin(16, machine.Pin.OUT).value(1)
machine.Pin(17, machine.Pin.OUT).value(1)
machine.Pin(18, machine.Pin.OUT).value(1)
machine.Pin(19, machine.Pin.OUT).value(1)
for n in range(10):
for i in range(8):
if numberlist[n][i]==1:
machine.Pin(12+i, machine.Pin.OUT).value(0)
time.sleep(0.5)
clear()
numberlist配列と5161BS「7セグメントLED」の関係は以下の通りです。

まとめに代えて(実行結果)

抵抗の並びが美しくはありませんが、数字を綺麗に表示させることができました。
気温などを小数点も用いて表示させたい場合は、3個以上の7セグメントLEDが必要そうですね。
コメント
picoでも光らせる事が出来るのですね