# ---------------------------------------------------- # PROJECT : Module voor Raspberry Pi - Sense HAT # TITEL : Functies LED-matrix patronen & karakters # OPM. : statisch, zonder scrollen # DATUM : 14-03-2025 # AUTEUR : W.V.W # ---------------------------------------------------- # ----LIBS-------------------------------------------- from sense_hat import SenseHat from random import randint from time import sleep # ----SETUP I/O--------------------------------------- # creatie van object van class 'sense HAT' LED_matrix = SenseHat() # ----USER DEFINED FUNCTION 1-------------------------- # parameter 'num' : cijfer van 0 ... 99 (2 digits) # parameter 'col' : RGB-kleur (colour) (tuple) # format: (0...255,0...255,0...255) # return : no return def displayTwoDigits(num,col): # list met patronen van alle cijfers van O ... 9 patterns = [ [[0,1,1,0], [1,0,0,1], [1,0,0,1], [1,0,0,1], [1,0,0,1], [1,0,0,1], [1,0,0,1], [0,1,1,0]], [[0,0,1,0], [0,1,1,0], [0,0,1,0], [0,0,1,0], [0,0,1,0], [0,0,1,0], [0,0,1,0], [0,1,1,1]], [[0,1,1,0], [1,0,0,1], [0,0,0,1], [0,0,0,1], [0,0,1,0], [0,1,0,0], [1,0,0,0], [1,1,1,1]], [[1,1,1,0], [0,0,0,1], [0,0,0,1], [0,1,1,0], [0,0,0,1], [0,0,0,1], [1,0,0,1], [0,1,1,0]], [[0,0,1,0], [0,1,1,0], [1,0,1,0], [1,0,1,0], [1,1,1,1], [0,0,1,0], [0,0,1,0], [0,0,1,0]], [[1,1,1,1], [1,0,0,0], [1,0,0,0], [1,1,1,0], [0,0,0,1], [0,0,0,1], [1,0,0,1], [0,1,1,0]], [[0,1,1,1], [1,0,0,0], [1,0,0,0], [1,1,1,0], [1,0,0,1], [1,0,0,1], [1,0,0,1], [0,1,1,0]], [[1,1,1,1], [0,0,0,1], [0,0,1,0], [0,0,1,0], [0,0,1,0], [0,1,0,0], [0,1,0,0], [0,1,0,0]], [[0,1,1,0], [1,0,0,1], [1,0,0,1], [0,1,1,0], [1,0,0,1], [1,0,0,1], [1,0,0,1], [0,1,1,0]], [[0,1,1,0], [1,0,0,1], [1,0,0,1], [0,1,1,1], [0,0,0,1], [0,0,0,1], [1,0,0,1], [0,1,1,0]] ] digits = [] # list met cijferpatronen for i in range(0,8): if num >= 10: msd = int(num/10) # 10-tallen (most significant digit) digits.extend(patterns[msd][i]) # double index notation else: digits.extend([0,0,0,0]) lsd = int(num % 10) # eenheden (least significant digit) digits.extend(patterns[lsd][i]) for i in range(64): if(digits[i] == 1): digits[i]=col # alle enen in de matrix een kleur geven # tuple (R,G,B) else: digits[i]=(0,0,0) # alle nullen zwart maken LED_matrix.set_pixels(digits) # ----END FUNCTION 1----------------------------------- # ----USER DEFINED FUNCTION 2-------------------------- # parameter 'num' : aantal worpen # parameter 'col' : RGB-kleur (colour) (tuple) # format: (0...255,0...255,0...255) # return : no return def tumblingDice(num,col): # lists met dobbelsteen patronen x = col # tuple (R,G,B) o = (0,0,0) # pixel uit pattern_0 = [ o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o ] pattern_1 = [ o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,x,x,o,o,o, o,o,o,x,x,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o ] pattern_2 = [ x,x,o,o,o,o,o,o, x,x,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,x,x, o,o,o,o,o,o,x,x ] pattern_3 = [ x,x,o,o,o,o,o,o, x,x,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,x,x,o,o,o, o,o,o,x,x,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,x,x, o,o,o,o,o,o,x,x ] pattern_4 = [ x,x,o,o,o,o,x,x, x,x,o,o,o,o,x,x, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, o,o,o,o,o,o,o,o, x,x,o,o,o,o,x,x, x,x,o,o,o,o,x,x ] pattern_5 = [ x,x,o,o,o,o,x,x, x,x,o,o,o,o,x,x, o,o,o,o,o,o,o,o, o,o,o,x,x,o,o,o, o,o,o,x,x,o,o,o, o,o,o,o,o,o,o,o, x,x,o,o,o,o,x,x, x,x,o,o,o,o,x,x ] pattern_6 = [ x,x,o,o,o,o,x,x, x,x,o,o,o,o,x,x, o,o,o,o,o,o,o,o, x,x,o,o,o,o,x,x, x,x,o,o,o,o,x,x, o,o,o,o,o,o,o,o, x,x,o,o,o,o,x,x, x,x,o,o,o,o,x,x ] ogen = [pattern_0,pattern_1,pattern_2,pattern_3,pattern_4,pattern_5,pattern_6] LED_matrix.set_rotation(90) for i in range(num): LED_matrix.set_pixels(ogen[0]) sleep(1) j = randint(1,6) LED_matrix.set_pixels(ogen[j]) print(f"Worp {i + 1}") sleep(1) LED_matrix.set_pixels(ogen[0]) # ----END FUNCTION 2-----------------------------------