from machine import Pin
import time
# Define pins for each segment in the 7-segment display
a = Pin(23, Pin.OUT)
b = Pin(22, Pin.OUT)
c = Pin(21, Pin.OUT)
d = Pin(19, Pin.OUT)
e = Pin(18, Pin.OUT)
f = Pin(5, Pin.OUT)
g = Pin(17, Pin.OUT)
db = Pin(16, Pin.OUT)
# Define pins for controlling the four displays
first_seven = Pin(4, Pin.OUT)
second_seven = Pin(2, Pin.OUT)
third_seven = Pin(0, Pin.OUT)
fourth_seven = Pin(15, Pin.OUT)
# Function to clear all segments
def clear_display():
a.value(1)
b.value(1)
c.value(1)
d.value(1)
e.value(1)
f.value(1)
g.value(1)
db.value(1)
# Functions to display numbers from 0 to 9
def display_0():
clear_display()
a.value(0)
b.value(0)
c.value(0)
d.value(0)
e.value(0)
f.value(0)
def display_1():
clear_display()
b.value(0)
c.value(0)
def display_2():
clear_display()
a.value(0)
b.value(0)
d.value(0)
e.value(0)
g.value(0)
def display_3():
clear_display()
a.value(0)
b.value(0)
c.value(0)
d.value(0)
g.value(0)
def display_4():
clear_display()
b.value(0)
c.value(0)
f.value(0)
g.value(0)
def display_5():
clear_display()
a.value(0)
c.value(0)
d.value(0)
f.value(0)
g.value(0)
def display_6():
clear_display()
a.value(0)
c.value(0)
d.value(0)
e.value(0)
f.value(0)
g.value(0)
def display_7():
clear_display()
a.value(0)
b.value(0)
c.value(0)
def display_8():
clear_display()
a.value(0)
b.value(0)
c.value(0)
d.value(0)
e.value(0)
f.value(0)
g.value(0)
def display_9():
clear_display()
a.value(0)
b.value(0)
c.value(0)
d.value(0)
f.value(0)
g.value(0)
# Main loop to display the same number on all four displays simultaneously
while True:
for number in range(1, 10):
first_seven.value(1)
second_seven.value(1)
third_seven.value(1)
fourth_seven.value(1)
if number == 1:
display_1()
elif number == 2:
display_2()
elif number == 3:
display_3()
elif number == 4:
display_4()
elif number == 5:
display_5()
elif number == 6:
display_6()
elif number == 7:
display_7()
elif number == 8:
display_8()
elif number == 9:
display_9()
time.sleep(2)