Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from _thread import start_new_thread
- from machine import Pin
- from random import randrange as rng
- import time
- class matrix:
- # A B C D E F G
- segments = [ 9,10,11,12,13,14,15]# pin numbers for segments
- digits = [28,27,26,22]# pin numbers for digits
- value = [11,11,11,11]# default array index for each digit, see segments array
- # setup pins
- outs_high=[matrix.digits, matrix.segments]
- for x in range(len(outs_high)):
- for i in range(len(outs_high[x])):
- outs_high[x][i]=Pin(outs_high[x][i], mode=Pin.OUT)
- outs_high[x][i].value(1)
- def LED_panel():
- print("LED panel running on core 2")
- # 7 Segment LED layout
- # A
- # F B
- # G
- # E C
- # D
- segments=[
- #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
- [1,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
- [1,1,1,1,1,1,0],# -
- [1,1,1,1,1,1,1],# blank
- [0,0,0,1,0,0,0],# A
- [0,1,1,0,0,0,1],# C
- [0,1,1,0,0,0,0],# E
- [0,1,1,1,0,0,0],# F
- [1,0,0,0,0,1,1],# J
- [1,1,1,0,0,0,1],# L
- [0,0,1,1,0,0,0],# P
- [1,0,0,0,0,0,1] # U
- #A B C D E F G
- ]
- then=3
- now=0
- while True:
- then=now
- now=then+1
- if now>3:
- now=0
- matrix.digits[then].value(1)
- ct=0
- for i in segments[matrix.value[now]]:
- matrix.segments[ct].value(i)
- ct=ct+1
- matrix.digits[now].value(0)
- time.sleep_ms(7)
- start_new_thread(LED_panel,())
- #test output on panel
- matrix.value[0]=1
- matrix.value[1]=2
- matrix.value[2]=3
- matrix.value[3]=4
- time.sleep(5)
- while True:
- #random ouptut every second
- for i in [0,1,2,3]:
- matrix.value[i]=rng(0,19)
- time.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment