from gpiozero import LEDBoard from time import sleep from signal import pause leds = LEDBoard(5, 6, 13, 19, 26) leds.on() sleep(1) leds.off() sleep(1) leds.value = (1, 0, 1, 0, 1) sleep(1) leds.blink() pause()
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()
class Graphic: WIDTH = 12 HEIGHT = 9 RENDER_DELAY = .001 FPS = 60 TPF = float(1) / FPS def __init__(self, panel): self._panel = panel if self._panel.width not in range( Graphic.WIDTH + 1) and self._panel.height not in range(Graphic.HEIGHT + 1): raise SystemError('Panel size is illegal!') self._running = True self._coms = LEDBoard(2, 3, 4, 17, 27, 22, 10, 9, 11) self._segs = LEDBoard(14, 15, 18, 23, 24, 25, 8, 7, 12, 16, 20, 21) self._canvas = Canvas(self._panel.width, self._panel.height) self._render_thread = Thread(target=self.render) self._update_thread = Thread(target=self.update) def render(self): while self._running: for i in range(self._panel.height): self._segs.value = self._canvas.matrix[i] com = self._coms.leds[i] com.on() sleep(Graphic.RENDER_DELAY) com.off() def update(self): last = time() while self._running: start = time() current = time() self._panel.render(self._canvas, current - last) last = current try: sleep(start + Graphic.TPF - time()) except IOError: pass def start(self): self._coms.off() self._segs.on() self._render_thread.start() self._update_thread.start() def stop(self): self._running = False self._render_thread.join() self._update_thread.join() self._segs.close() self._coms.close()
print(rightknobnum) rightknob_count = 0 def rightknobplay(): Popen([ 'bash', '/home/pi/buttonboard/lightshowpiMods/play', rightknobsound[rightknob_count] ]).wait() # LIGHTS CAMERA ACTION while True: allLEDS.off() if redButton.is_pressed: allLEDS.on() redplay() red_count += 1 print(red_count) if red_count >= rednum: red_count = 0 if blueButton.is_pressed: allLEDS.on() blueplay() blue_count += 1 print(blue_count) if blue_count >= bluenum: blue_count = 0 if yellowButton.is_pressed: allLEDS.on() yellowplay()
from gpiozero import LEDBoard from time import sleep from signal import pause leds = LEDBoard(18, 23, 24) # 모두 같이 동작 leds.on() sleep(1) leds.off() sleep(1) # 개별적인 값을 튜플로 지정 leds.value = (1, 0, 1) sleep(1) leds.blink() pause()
18: 19, 17: 20, 4: 21, 24: 22, 23: 23, 13: 24, 5: 25, 12: 26, 11: 27 } leds = LEDBoard(*range(4, 28), pwm=True) def labelToPin(l): return treemap[l] def toBoard(l): return labelToPin(l) - 4 while True: for i in treelights: sleep(0.1) leds.on(toBoard(i)) for i in treelights: sleep(0.1) leds.off(toBoard(i))
#!/usr/bin/env python3 ######################################################################## # Filename : LightWater.py # Description : Use LEDBar Graph(10 LED) # Author : www.freenove.com # modification: 2019/12/27 ######################################################################## from gpiozero import LEDBoard from time import sleep from signal import pause print ('Program is starting ... ') ledPins = ["J8:11", "J8:12","J8:13","J8:15","J8:16","J8:18","J8:22","J8:3","J8:5","J8:24"] leds = LEDBoard(*ledPins, active_high=False) while True: for index in range(0,len(ledPins),1): #move led(on) from left to right leds.on(index) sleep(0.1) #leds.off(index) for index in range(len(ledPins)-1,-1,-1): #move led(on) from right to left leds.off(index) sleep(0.1) #leds.off(index)
def sides(forward): # function that lights the leds on the sides in sequence # direction is defined by forward being True or False side1_leds = LEDBoard(8, 6, 7) side2_leds = LEDBoard(11, 5, 12) side3_leds = LEDBoard(19, 26, 21) side4_leds = LEDBoard(16, 13, 20) side5_leds = LEDBoard(25, 24, 23) side6_leds = LEDBoard(9, 22, 10) side7_leds = LEDBoard(17, 4, 14) side8_leds = LEDBoard(27, 18, 15) sides_time = time.time() + uniform(period_min, period_max) while sides_time > time.time(): if forward: # spin the side leds anticlockwise side1_leds.on() time.sleep(sides_delay) side1_leds.off() side2_leds.on() time.sleep(sides_delay) side2_leds.off() side3_leds.on() time.sleep(sides_delay) side3_leds.off() side4_leds.on() time.sleep(sides_delay) side4_leds.off() side5_leds.on() time.sleep(sides_delay) side5_leds.off() side6_leds.on() time.sleep(sides_delay) side6_leds.off() side7_leds.on() time.sleep(sides_delay) side7_leds.off() side8_leds.on() time.sleep(sides_delay) side8_leds.off() else: # spin the side leds clockwise side8_leds.on() time.sleep(sides_delay) side8_leds.off() side7_leds.on() time.sleep(sides_delay) side7_leds.off() side6_leds.on() time.sleep(sides_delay) side6_leds.off() side5_leds.on() time.sleep(sides_delay) side5_leds.off() side4_leds.on() time.sleep(sides_delay) side4_leds.off() side3_leds.on() time.sleep(sides_delay) side3_leds.off() side2_leds.on() time.sleep(sides_delay) side2_leds.off() side1_leds.on() time.sleep(sides_delay) side1_leds.off()
cathode1.value = BCD.get(lMin) cathode2.value = BCD.get(tMin) time.sleep(.015) # Obtain current time and set both minute and hour value currentTime = time.strftime("%H%M", time.localtime()) # separate time into individual digits leadHour = int(currentTime[0]) trailHour = int(currentTime[1]) leadMin = int(currentTime[2]) trailMin = int(currentTime[3]) getBCD(leadHour, trailHour, leadMin, trailMin) #activates the nixie tubes tubesOn.on() while True: # used so the clock can run independently of the internet after first initialization tMin = time.time() + 60 # run this loop for 1 minute before breaking out into the logical checks while time.time() < tMin: getBCD(leadHour, trailHour, leadMin, trailMin) if offSwitch.is_pressed: break if offSwitch.is_pressed == False: # logic to determine how to increment time for each minute # check if the time is at 11pm or 23:00 if leadHour == 2 and trailHour == 3:
from gpiozero import PWMLED from time import sleep tree = LEDBoard(6, 7, 8) tree1 = LEDBoard(13, 16, 20) tree2 = LEDBoard(19, 21, 26) tree3 = LEDBoard(9, 10, 22) tree4 = LEDBoard(23, 24, 25) tree5 = LEDBoard(15, 18, 27) tree6 = LEDBoard(4, 17, 14) tree7 = LEDBoard(5, 11, 12) tree8 = PWMLED(2) #This is the star while True: tree8.pulse() #Put this first so it starts immediately tree.on() sleep(0.5) tree.off() tree1.on() sleep(0.5) tree1.off() tree2.on() sleep(0.5) tree2.off() tree3.on() sleep(1) tree3.off() tree4.on() sleep(0.5) tree4.off() tree5.on()
# ## speed = 0.5 import time from gpiozero import LEDBoard from gpiozero.tools import random_values from signal import pause east = LEDBoard(16, 13, 20, 19, 26, 21, pwm=True) south = LEDBoard(25, 24, 23, 9, 22, 10, pwm=True) west = LEDBoard(17, 4, 14, 27, 18, 15, pwm=True) north = LEDBoard(8, 6, 7, 11, 5, 12, pwm=True) while True: south.off() north.on() time.sleep(speed) west.off() east.on() time.sleep(speed) north.off() south.on() time.sleep(speed) east.off() west.on() time.sleep(speed)
#Declarations red = LEDBoard(2, 17, 10, 5) yellow = LEDBoard(3, 27, 9, 6) permissiveYellow = LEDBoard(4) rightYellow = LEDBoard(19) green = LEDBoard(22, 11, 13) protectedGreen = LEDBoard(14) rightGreen = LEDBoard(26) while True: #Setup red.off() yellow.off() permissiveYellow.off() rightYellow.off() green.on() protectedGreen.on() rightGreen.off() #Protected to permissive left sleep(5) #Number of seconds protected green light is on. protectedGreen.off() permissiveYellow.blink(1, 1, 10, False) #This blinks every second for 10 blinks. #Permissive left and green to yellow green.off() yellow.on() #Yellow to red sleep(2) #Number of seconds yellow light is on.
time.sleep(1) def lightoff(time): # set number of seconds before light turn off time.sleep(7) while True: #wait for pir to trigger. print("Waiting for motion\n") pir.wait_for_motion() time.sleep(0.5) print("There are motion\nTurn on light and play Sound with delay\n") pir.when_motion led.on() sounddelay(time) # Play random sounds _songs = ('/home/pi/Documents/mp3/K.wav', '/home/pi/Documents/mp3/B.wav') _currently_playing_song = None def play_a_different_song(): global _currently_playing_song, _songs next_song = random.choice(_songs) while next_song == _currently_playing_song: next_song = random.choice(_songs) _currently_playing_song = next_song pygame.mixer.music.load(next_song) pygame.mixer.music.play(0)
board20 = LEDBoard(18, pwm=True) board18 = LEDBoard(19, pwm=True) board17 = LEDBoard(20, pwm=True) board04 = LEDBoard(21, pwm=True) board24 = LEDBoard(22, pwm=True) board23 = LEDBoard(23, pwm=True) board13 = LEDBoard(24, pwm=True) board05 = LEDBoard(25, pwm=True) board12 = LEDBoard(26, pwm=True) board11 = LEDBoard(27, pwm=True) speed = 5.0 # Turn off time.sleep(speed) board24.on() time.sleep(speed) board24.off() board23.on() time.sleep(speed) board23.off() board22.on() time.sleep(speed) board22.off() board21.on() time.sleep(speed) board21.off() board20.on() time.sleep(speed) board20.off() board19.on()
"J8:11", "J8:12", "J8:13", "J8:15", "J8:16", "J8:18", "J8:22", "J8:3", "J8:5", "J8:24" ] leds = LEDBoard(*ledPins, active_high=False) #define array of 10 bit : 0000000000 binary = [] for i in range(10): binary.append(0) print("Init bit array:" + str(binary)) #convert number in binary string number = numberToConvert i = len(binary) - 1 while number > 0: bit = number % 2 binary[i] = bit number = number // 2 i = i - 1 print("Decimal is " + str(numberToConvert) + " Binary is :" + str(binary)) for i in range(len(binary) - 1, -1, -1): if binary[i] == 1: leds.on(i) else: leds.off(i)
## # Press enter to light up the tree ## from time import sleep from gpiozero import LEDBoard tree = LEDBoard(*range(2, 28), pwm=True) tree.off() # Turn all LED's off print("Press Enter to Light Up Tree") while True: raw_input() print("button pressed") tree.on() sleep(.2) tree.off()
class Light(): def __init__(self): ''' initialize the hostIP and leds GPIO pins''' # 18, 19, 20, 21, 22, 23, 24, 25 are the connected GPIO pins self.leds = LEDBoard(18, 19, 20, 21, 22, 23, 24, 25, pwm=False) self.sensor = tsl2591.Tsl2591() self.lux_dictionary = self.calibrate_light() def calibrate_light(self): ''' Return a dictionary of lux and array value for GPIO Pins''' self.leds.on() lux_dictionary = dict() start_level = 120 end_level = 180 interval = 2 for i in range(start_level, end_level, interval): binary = map(int, tuple(format(i, '08b'))[::-1]) print(binary) self.leds.value = binary sleep(.3) (full1, ir1) = self.sensor.get_full_luminosity() (full2, ir2) = self.sensor.get_full_luminosity() (full3, ir3) = self.sensor.get_full_luminosity() full4 = (full1 + full2 + full3) / 3 ir4 = (ir1 + ir2 + ir3) / 3 lux = int(self.sensor.calculate_lux(full4, ir4)) if lux not in lux_dictionary: lux_dictionary[lux] = binary print 'lux {} \xef\xbc\x9a {}'.format(lux, lux_dictionary[lux]) else: print 'lux value already exist' # self.leds.on() # lux_dictionary = dict() # start_level = 100.0 # end_level = 250.0 # interval = 1.0 # for i in range(int(start_level*10), int(end_level*10), int(interval*10)): # self.leds.value = tuple(floatToBinary(float(i)/10.0)) # #print(floatToBinary(float(i)/10.0)) # sleep(.5) # (full1, ir1) = self.sensor.get_full_luminosity() # (full2, ir2) = self.sensor.get_full_luminosity() # (full3, ir3) = self.sensor.get_full_luminosity() # full4 = (full1+full2+full3)/3 # ir4 = (ir1+ir2+ir3)/3 # lux = int(self.sensor.calculate_lux(full4, ir4)) # if lux not in lux_dictionary: # lux_dictionary[lux] = floatToBinary(float(i)/10.0) # print 'lux {} \xef\xbc\x9a {}'.format(lux, # lux_dictionary[lux]) # else: # print 'lux value already exist' return lux_dictionary def run_test(self): start_level = 150.0 end_level = 170.0 interval = 0.5 for i in range(int(start_level * 10), int(end_level * 10), int(interval * 10)): print(floatToBinary(float(i) / 10.0)) self.leds.value = tuple(floatToBinary(float(i) / 10.0)) sleep(.5)