Raspberry Pi Pico用 4桁7セグメントLEDディスプレイ

文字高さサイズ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セグメントディスプレイ基板は、スイッチサイエンス委託販売ページにて販売しています。

    スポンサーリンク
    スポンサーリンク
    スポンサーリンク

    シェアする

    • このエントリーをはてなブックマークに追加

    フォローする

    スポンサーリンク
    スポンサーリンク