文字高さサイズ8mmの小型7セグメントLED(発光色は緑)を使用した4桁の表示器です。74HC595を使用したシリアル転送によりダイナミック点灯により各桁を表示させます。
特徴
- Raspberry Pi Picoに直に接続可能な4桁の7セグメントLEDの表示器
- Raspberry Pi PicoのRUN端子に接続可能なタクトスイッチを実装
- 7セグメントLEDのドライバICは74HC595
- 裏面のはんだジャンパーの2-3をはんだショートすることでRaspberry Pi Picoのはんだ面側から接続可能(デフォルトでは1-2がショートされていてPi Picoの部品面に接続されることを想定)
外観

仕様
- 電源電圧
- 3V〜5V(Raspberry Pi Picoとの接続では3.3V)
- 表示桁数
- 4桁
- 使用7セグメントLED
- LA-301MB(ローム製)x 4
- 回路コモン:アノード
- 文字高さ:8mm
- 発光色:緑
- ドライバIC
- 74HC595
- 基板寸法
- 52mm x 21mm x 1mm
コネクタピン配置
| ピンNO | 信号名 | 説明 | ピンNO | 信号名 | 説明 |
| 3 | GND | グラウンド | 38 | GND | グラウンド |
| 5 | VDD1 | N.C | 36 | VDD | 電源電圧 |
| 11 | GP8 | タクトスイッチS2に接続 | 30 | RUN | タクトスイッチS1に接続 |
| 14 | SRCLK | 74HC595のシフトクロック端子に接続 | 27 | DS1 | Digit1の選択信号。Lowアクティブ |
| 15 | SER | 74HC595のシリアルデータ入力端子に接続 | 26 | DS2 | Digit2の選択信号。Lowアクティブ |
| 16 | XOE | 74HC595の出力イネーブル端子に接続 | 25 | DS3 | Digit3の選択信号。Lowアクティブ |
| 17 | RCLK | 74HC595のラッチクロック端子に接続 | 24 | DS4 | Digit4の選択信号。Lowアクティブ |
サンプルコード
0.1秒毎にカウントアップするMicroPythonのサンプルコード例です。
from machine import Pin, Timer
import utime
# ピンの定義
CLOCK_PIN = Pin(10, Pin.OUT)
SERIAL_PIN = Pin(11, Pin.OUT)
XOE = Pin(12, Pin.OUT)
LATCH_PIN = Pin(13, Pin.OUT)
DIGIT_1_PIN = Pin(21, Pin.OUT)
DIGIT_2_PIN = Pin(20, Pin.OUT)
DIGIT_3_PIN = Pin(19, Pin.OUT)
DIGIT_4_PIN = Pin(18, Pin.OUT)
count = 0
SEGMENTS = [
0b11000000, # 0
0b11111001, # 1
0b10100100, # 2
0b10110000, # 3
0b10011001, # 4
0b10010010, # 5
0b10000010, # 6
0b11111000, # 7
0b10000000, # 8
0b10010000 # 9
]
msTimer = Timer()
def counter(timer):
global count
count += 1
print("COUNT: " + str(count))
if count >= 10000:
count = 0
msTimer.init(period = 100, callback = counter)
# 数値を7セグメントのパターンに変換する関数
def num_to_pattern(num):
digits = [0, 0, 0, 0]
digits[0] = num // 1000
digits[1] = (num // 100) % 10
digits[2] = (num // 10) % 10
digits[3] = num % 10
patterns = [SEGMENTS[digits[i]] for i in range(4)]
return patterns
# 1桁分のパターンをシフトレジスタに送信する関数
def set_digit_pattern(pattern):
for i in range(8):
bit = pattern & 0b10000000
SERIAL_PIN.value(bit)
pattern = pattern << 1
CLOCK_PIN.value(1)
CLOCK_PIN.value(0)
# 1桁の7セグメントLEDを点灯する関数
def light_digit(digit_pin):
digit_pin.value(0)
# 1桁の7セグメントLEDを消灯する関数
def off_digit(digit_pin):
digit_pin.value(1)
# ラッチクロックを生成する関数
def data_latch():
LATCH_PIN.value(1)
LATCH_PIN.value(0)
# メインの処理
def main():
blank = 0b11111111
while True:
patterns = num_to_pattern(count)
XOE.value(0)
LATCH_PIN.value(0)
light_digit(DIGIT_1_PIN)
set_digit_pattern(patterns[0])
data_latch()
utime.sleep_ms(5)
set_digit_pattern(blank)
data_latch()
off_digit(DIGIT_1_PIN)
light_digit(DIGIT_2_PIN)
set_digit_pattern(patterns[1])
data_latch()
utime.sleep_ms(5)
set_digit_pattern(blank)
data_latch()
off_digit(DIGIT_2_PIN)
light_digit(DIGIT_3_PIN)
set_digit_pattern(patterns[2])
data_latch()
utime.sleep_ms(5)
set_digit_pattern(blank)
data_latch()
off_digit(DIGIT_3_PIN)
light_digit(DIGIT_4_PIN)
set_digit_pattern(patterns[3])
data_latch()
utime.sleep_ms(5)
set_digit_pattern(blank)
data_latch()
off_digit(DIGIT_4_PIN)
if __name__ == '__main__':
main()
寸法図

販売
Raspberry Pi Pico用4桁7セグメントディスプレイ基板は、スイッチサイエンス委託販売ページにて販売しています。
