Guest User

pici_LED_matrix_demo.py

a guest
Nov 16th, 2022
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. from _thread import start_new_thread
  2. from machine import Pin
  3. from random import randrange as rng
  4. import time
  5.  
  6. class matrix:
  7. # A B C D E F G
  8. segments = [ 9,10,11,12,13,14,15]# pin numbers for segments
  9. digits = [28,27,26,22]# pin numbers for digits
  10. value = [11,11,11,11]# default array index for each digit, see segments array
  11.  
  12. # setup pins
  13. outs_high=[matrix.digits, matrix.segments]
  14. for x in range(len(outs_high)):
  15. for i in range(len(outs_high[x])):
  16. outs_high[x][i]=Pin(outs_high[x][i], mode=Pin.OUT)
  17. outs_high[x][i].value(1)
  18.  
  19. def LED_panel():
  20. print("LED panel running on core 2")
  21. # 7 Segment LED layout
  22. # A
  23. # F B
  24. # G
  25. # E C
  26. # D
  27. segments=[
  28. #A B C D E F G
  29. [0,0,0,0,0,0,1],# 0
  30. [1,0,0,1,1,1,1],# 1
  31. [0,0,1,0,0,1,0],# 2
  32. [0,0,0,0,1,1,0],# 3
  33. [1,0,0,1,1,0,0],# 4
  34. [0,1,0,0,1,0,0],# 5
  35. [1,1,0,0,0,0,0],# 6
  36. [0,0,0,1,1,1,1],# 7
  37. [0,0,0,0,0,0,0],# 8
  38. [0,0,0,1,1,0,0],# 9
  39. [1,1,1,1,1,1,0],# -
  40. [1,1,1,1,1,1,1],# blank
  41. [0,0,0,1,0,0,0],# A
  42. [0,1,1,0,0,0,1],# C
  43. [0,1,1,0,0,0,0],# E
  44. [0,1,1,1,0,0,0],# F
  45. [1,0,0,0,0,1,1],# J
  46. [1,1,1,0,0,0,1],# L
  47. [0,0,1,1,0,0,0],# P
  48. [1,0,0,0,0,0,1] # U
  49. #A B C D E F G
  50. ]
  51.  
  52. then=3
  53. now=0
  54. while True:
  55. then=now
  56. now=then+1
  57. if now>3:
  58. now=0
  59. matrix.digits[then].value(1)
  60. ct=0
  61. for i in segments[matrix.value[now]]:
  62. matrix.segments[ct].value(i)
  63. ct=ct+1
  64. matrix.digits[now].value(0)
  65. time.sleep_ms(7)
  66.  
  67. start_new_thread(LED_panel,())
  68.  
  69. #test output on panel
  70. matrix.value[0]=1
  71. matrix.value[1]=2
  72. matrix.value[2]=3
  73. matrix.value[3]=4
  74. time.sleep(5)
  75. while True:
  76. #random ouptut every second
  77. for i in [0,1,2,3]:
  78. matrix.value[i]=rng(0,19)
  79. time.sleep(1)
  80.  
Advertisement
Add Comment
Please, Sign In to add comment