def __init__(self): print "SawsDisplay on serial", SawsConfig.SERIAL_PORT serialPorts = glob.glob(SawsConfig.SERIAL_PORT) try: port = serialPorts[0] self.bt = BlinkyTape(port) self.status = [999, 999, 999] len = id = idx = 0 for i in SawsConfig.LENGTHS: self.blocks.append(BlinkyBlock(idx, 1)) idx = idx + 1 self.blocks.append(BlinkyBlock(idx, SawsConfig.LENGTHS[id])) len = len + 1 + SawsConfig.LENGTHS[id] idx = idx + SawsConfig.LENGTHS[id] id = id + 1 self.blocks.append(BlinkyBlock(idx, 1)) len = len + 1 if len > SawsConfig.MAX_LEDS: raise Exception("Max LEDs is {}, you specified {}".format( SawsConfig.MAX_LEDS, len)) sys.exit(0) self.draw() except IndexError: print "Could not connect to Blinkytape on serial", SawsConfig.SERIAL_PORT sys.exit(0)
def __init__(self, port): self.t = None self.blinky = BlinkyTape(port) self.strip1 = Strip(self.blinky) self.min_tick = 0.01 self.max_tick = 0.1 self.multiplier = (self.max_tick - self.min_tick) / self.strip1.num_of_lights
def main(): """[Main function to run custom light program] """ logging.basicConfig(filename='lights.log', format='%(asctime)s %(message)s', level=logging.DEBUG) logging.getLogger().addHandler(logging.StreamHandler()) logging.debug('Begining to Run Program') usb_devices = find_usb_dev() bt = BlinkyTape(usb_devices) while True: driver(bt)
parser.add_option("-p", "--port", dest="portname", help="serial port (ex: /dev/ttyACM0)", default="/dev/ttyACM0") (options, args) = parser.parse_args() if options.portname is not None: port = options.portname else: print "Usage: python wakeup.py -p <port name>" print "(ex.: python wakeup.py -p /dev/ttyACM0)" exit() sense = SenseHat() bt = BlinkyTape(port) # wake phase - gradually get brighter, linearly sleepTime = 18 # 18 sec for 30 min in 100 steps maxPower = 100 # flickers or cuts out above 100 for y in xrange(maxPower): sense.clear(y * 2, y * 2, y * 2) for x in xrange(sleepTime): bt.displayColor(y, y, y) sleep(1) # on phase - at full brightness for the same time sense.clear(255, 255, 255)
def __init__(self, device='/dev/ttyACM0', *args, **kwargs): self.bb = BlinkyTape(device)
""" Easily see your GPU temperature while gaming! This sets the LED colors base on your Nvidia GPU temperature, every second. 60F = green, 70F = yellow, 80F = red """ import time from BlinkyTape import BlinkyTape import subprocess import os import re ## To find your COM port number in Windows, run "Pattern Paint -> Help -> System Information" #bb = BlinkyTape('/dev/tty.usbmodemfa131') bb = BlinkyTape('COM3') while True: output = subprocess.check_output( ["C:\\Program Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe", "-a"], shell=True) #os.popen('C:\\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe') #output=os.popen("C:\\Program Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe").read() #print("====" + str(output) + "=====") temp = re.search("GPU Current.*", output).group()[30:33] temp_baseline = 60 temp_multiplier = 5 color_temp = (int(temp) - temp_baseline) * temp_multiplier green = 100 - color_temp red = 0 + color_temp blue = 0 print "Current GPU Temp: %s RGB: %s %s %s" % (temp, red, green, blue)
# initialize variables # saymtric = say metric measurement (in mm) else imperial (in inches) # last = last measurement read - used to determine movement # inches = used if conversion to imperial units desired # delta = value in mm to determine motion between readings # inrange = if closer then this, speak! (1800mm = 6' == 72") # mmmm[ ] = used to determine median of multiple readings -- filter out noise saymetric = False last = 0 inches = 0 delta = 2 #5#10 inrange = 1800 mmmm = [0, 0, 0] bb = BlinkyTape('/dev/ttyACM0', 60) red = (255, 0, 0) green = (0, 255, 0) yellow = (255, 255, 0) blue = (0, 0, 255) # Loop forever for constant measuring. Will speak if closer than 6 ft (180 cm) while True: # validate & convert text to numeric value in mm # filter noise by using median of 3 readings mmmm[0] = getDist() mmmm[1] = getDist() mmmm[2] = getDist()
def send_binary(word, length, blinky, r, g, b): fmt = "{0:0" + str(length) + "b}" array = list(fmt.format(word)) for bit in array: blinky.sendPixel(r * int(bit), g * int(bit), b * int(bit)) parser = optparse.OptionParser() parser.add_option("-p", "--port", dest="portname", help="serial port (ex: /dev/ttyUSB0)", default=None) options, args = parser.parse_args() if options.portname is not None: port = options.portname else: print "Usage: python binary_clock.py -p <port name>" print "(ex: python binary_clock.py -p /dev/ttypACM0)" exit() blinky = BlinkyTape(port) time.sleep(1 - datetime.now().microsecond / 1000000.0) # roughly synchronize with seconds while True: timeBegin = time.time() display(blinky) timeEnd = time.time() timeElapsed = timeEnd - timeBegin time.sleep(1 - timeElapsed)
from BlinkyTape import BlinkyTape import time bb = BlinkyTape('/dev/ttyACM0', 120) #bb = BlinkyTape('COM8') while True: for x in range(60): bb.sendPixel(100, 100, 100) bb.show() time.sleep(.5) for x in range(120): bb.sendPixel(0, 0, 0) bb.show() time.sleep(.5)
parser.add_option("-s", "--size", dest="size", help="Size of the light wave", default=60, type=int) (options, args) = parser.parse_args() if options.portname is not None: port = options.portname else: print("Usage: python scanline.py -p <port name>") print("(ex.: python scanline.py -p /dev/ttypACM0)") exit() blinky = BlinkyTape(port, options.ledcount) while True: for position in range(options.ledcount): print(position) for led in range(options.ledcount): if position < led: blinky.sendPixel(0, 0, 0) else: print(led) print(f[led]) blinky.sendPixel(*f[led]) blinky.show() if position < dead or position > (options.ledcount - dead): pass
from BlinkyTape import BlinkyTape import time from random import randint bb = BlinkyTape() led_count = 60 rgb_max = 100 pixel_half_on = [rgb_max, rgb_max, rgb_max] pixel_off = [0, 0, 0] def shuttle_extend(n=1,step=2): for i in range(n): bb.clear_all() for s in range(0,led_count,step): pixel_random_on = [randint(0,rgb_max), randint(0,rgb_max), randint(0,rgb_max)] for t in range(s+1): pixel_list = map(lambda x: pixel_random_on if x<=t else pixel_off, range(led_count)) bb.send_list(pixel_list) for t in range(s, -1, -1): pixel_list = map(lambda x: pixel_random_on if x<=t else pixel_off, range(led_count)) bb.send_list(pixel_list) bb.clear_all() def kitt_eye_pixel(x,w,s): # kitt's eye is w pixels wide and starts at position s return pixel_half_on if (x>=s and x<(s+w)) else pixel_off def kitt_eye(w=5): # kitt's eye is w pixels wide bb.clear_all() for s in range(led_count-w): pixel_list = map(lambda x: kitt_eye_pixel(x,w,s), range(led_count))