# 7段数码管示例程序
# 教程连接: https://mp.weixin.qq.com/s?__biz=MzkxODMzMzIzNg==&mid=2247483978&idx=1&sn=2c452a13e39b193a4abff362d04f34b9&chksm=c1b3b011f6c43907f5cb5f59b635d072832ecdef3aa413eb32cb3e1bcd3e7fb50a0368337627
# Copyright (c) 2023 树莓派大佬
from machine import Pin
from utime import sleep
# 7段数码管的布局图
# A
# ---
# F | G | B
# ---
# E | | C
# ---
# D
# 数码管的7个引脚连接到GPIO上
pins = [
Pin(2, Pin.OUT), # A
Pin(3, Pin.OUT), # B
Pin(4, Pin.OUT), # C
Pin(5, Pin.OUT), # D
Pin(6, Pin.OUT), # E
Pin(15, Pin.OUT), # F
Pin(14, Pin.OUT) # G
]
numbers = [
#[A,B,C,D,E,F,G]
[0,0,0,0,0,0,1], #0
[1,0,0,1,1,1,1], #1
[0,0,1,0,0,1,0], #2
[0,0,0,0,1,1,0], #3
[1,0,0,1,1,0,0], #4
[0,1,0,0,1,0,0], #5
[0,1,0,0,0,0,0], #6
[0,0,0,1,1,1,1], #7
[0,0,0,0,0,0,0], #8
[0,0,0,1,1,0,0] #9
]
def close_led():
for pin in pins:
display_number([1,1,1,1,1,1,1])
def display_number(number_info):
for i in range(len(number_info)):
pins[i].value(number_info[i])
close_led()
display_number(numbers[1])
while True:
for i in range(len(numbers)):
number_info = numbers[i]
close_led()
display_number(number_info)
sleep(1)