Exemple #1
0
 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)
Exemple #2
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)
Exemple #4
0
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)
Exemple #5
0
 def __init__(self, device='/dev/ttyACM0', *args, **kwargs):
     self.bb = BlinkyTape(device)
Exemple #6
0
""" 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)
Exemple #7
0
# 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()
Exemple #8
0
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)
Exemple #10
0
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))