class Tree(object): Lower = 2 Upper = 28 Period = 20 def __init__(self): self.tree = LEDBoard(*range(Tree.Lower, Tree.Upper), pwm=True) def reset(self): for led in self.tree: led.source_delay = 0 led.source = [0] def off(self): self.tree.off() def on(self): self.tree.on() def pulse(self): self.tree.pulse(fade_in_time=4, fade_out_time=4) def flicker(self): for led in self.tree: led.source_delay = 0.2 led.source = random_values() def sequence(self): delay = Tree.Period * 1.0 / (Tree.Upper - Tree.Lower) values = [] for index in range(Tree.Lower, Tree.Upper): values.append(0) index = 0 for led in self.tree: #delay += 0.1 led.source_delay = delay values[index] = 1 led.source = list(values) values[index] = 0 index += 1 #print( led.source ) #led.on() #sleep( 0.1 ) #led.off() def wait(self): sleep(Tree.Period) def go(self): while True: self.sequence() self.wait() self.pulse() self.wait() self.flicker() self.wait() self.reset()
# 3- Fades in and out using PWN (gpizero api) ## import time from gpiozero import LEDBoard from gpiozero.tools import random_values from signal import pause tree = LEDBoard(*range(2,28),pwm=True) print "DIAG_XMAS - Tree diagnostics terminal..." print "DIAG_X_001 - Loop all LEDs ON" for led in tree: print "DIAG_X_003 - LED "+ str(led.pin) + " - ON" led.on() time.sleep(1) print "DIAG_X_002 - All LEDs OFF" tree.off() time.sleep(1) print "DIAG_X_003 - All LEDs ON" tree.on() time.sleep(3) print "DIAG_X_004 - All LEDs Fade on and off 3 times with PWN" tree.off() tree.pulse(1,1,3,False) print "DIAG_XMAS - Diagnostics Complete. Merry XMAS!"
# And God said, "This is the sign of the covenant I am making between me and you and # # every living creature with you, a covenant for all generations to come: I have set # # my rainbow in the clouds, and it will be the sign of the covenant between me and the # # earth. Whenever I bring clouds over the earth and the rainbow appears in the clouds, # # I will remember my covenant between me and you and all living creatures of every kind. # # Never again will the waters become a flood to destroy all life. # # # ############################################################################################## from gpiozero import LEDBoard from signal import pause rainbow = LEDBoard(red=21, orange=20, yellow=16, green=12, blue=7, purple=8, pink=25, white=23, pwm=True) print("Press Crtl-C to stop the program.") while True: try: rainbow.pulse(fade_in_time=1, fade_out_time=1, n=None, background=True) pause() except KeyboardInterrupt: print("Stopping program.\n") rainbow.close() exit()
from gpiozero import LEDBoard from gpiozero.tools import quantized, random_values from signal import pause from time import sleep from random import randint def random_values_with_zero(): while True: yield randint(0,10)/10 tree = LEDBoard(*range(2,28),pwm=True) tree.off() sleep(1) tree.pulse() sleep(1) for led in tree: ## led.source = quantized(random_values(),10) led.source = random_values_with_zero() print(led.value) led.source_delay = 0.75 pause()