"""
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Raspberry Pi Pico 7-Segment Display (MicroPython) ┃
┃ ┃
┃ Demonstrates 7-segment display usage ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
"""
import json
from machine import Pin
from utime import sleep
# 7-segment display layout
# A
# ---
# F | G | B
# ---
# E | | C
# ---
# D
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(8, Pin.OUT), # F
Pin(7, Pin.OUT), # G
Pin(0, Pin.OUT) # DP (not connected)
]
def reset():
"""Turns off all segments on the 7-segment display."""
for pin in pins:
pin.value(1)
reset()
switch = Pin(13, Pin.IN)
testBytes = b'\x92\xc0\xf8\x92\x82\xa1\xf8\xc0\xa4\xc0\xf8\x92\xf8\xc0\xa4\xc0\xf8\x99\x82\x80\x92\x92\xa4\xc0\x82\x88\x82\x92\x82\xc6\x82\xc6\xf8\x98'#b'\x98\xf8\xc6\x82\xc6\x82\x92\x82\x88\x82\xc0\xa4\x92\x92\x80\x82\x99\xf8\xc0\xa4\xc0\xf8\x92\xf8\xc0\xa4\xc0\xf8\xa1\x82\x92\xf8\xc0\x92'
while True:
# Ascending counter
for i in range(len(testBytes)):
for j in range(len(pins) - 1):
temp = j
pins[j].value((testBytes[i]>>temp)&(1))
sleep(1)
for j in range(len(pins) - 1):
temp = j
pins[j].value(1)
sleep(1)
ender = b'\xed'
for j in range(len(pins) - 1):
temp = j
pins[j].value((ender>>temp)&(1))
sleep(20)