示例#1
0
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()
示例#4
0
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()