Ejemplo n.º 1
0
 def setPixels(rotation, opacity=0.1):
     for pixel in range(7):
         h = ((rotation + part * pixel) % 100) / 100.0
         r, g, b = [
             int(c * 255) for c in colorsys.hsv_to_rgb(h, 1.0, opacity)
         ]
         rainbow.set_pixel(pixel, r, g, b)
         rainbow.show()
Ejemplo n.º 2
0
def show_graph(v, r, g, b):
    v *= blinkt.NUM_PIXELS
    for x in range(blinkt.NUM_PIXELS):
        if v < 0:
            r, g, b = 0, 0, 0
        else:
            r, g, b = [int(min(v, 1.0) * c) for c in [r, g, b]]
        blinkt.set_pixel(x, r, g, b)
        v -= 1

    blinkt.show()
Ejemplo n.º 3
0
def show_graph(v, r, g, b):
    v *= blinkt.NUM_PIXELS
    for x in range(blinkt.NUM_PIXELS):
        hue = ((hue_start +
                ((x / float(blinkt.NUM_PIXELS)) * hue_range)) % 360) / 360.0
        r, g, b = [int(c * 255) for c in colorsys.hsv_to_rgb(hue, 1.0, 1.0)]
        if v < 0:
            brightness = 0
        else:
            brightness = min(v, 1.0) * max_brightness
        blinkt.set_pixel(x, r, g, b, brightness)
        v -= 1

    blinkt.show()
Ejemplo n.º 4
0
#!/usr/bin/env python

import colorsys
import time

#import blinkt
from rainbowhat import rainbow as blinkt

spacing = 360.0 / 16.0
hue = 0

blinkt.set_clear_on_exit()
blinkt.set_brightness(0.1)

while True:
    hue = int(time.time() * 100) % 360
    for x in range(blinkt.NUM_PIXELS):
        offset = x * spacing
        h = ((hue + offset) % 360) / 360.0
        r, g, b = [int(c * 255) for c in colorsys.hsv_to_rgb(h, 1.0, 1.0)]
        blinkt.set_pixel(x, r, g, b)
    blinkt.show()
    time.sleep(0.001)
Ejemplo n.º 5
0
 def hide():
     for line in get_lines():
         blinkt.set_pixel(line, 0, 0, 0)
     blinkt.show()
Ejemplo n.º 6
0
def update():
    for i in range(blinkt.NUM_PIXELS):
        blinkt.set_pixel(i, grid[i][0], grid[i][1], grid[i][2])
    blinkt.show()
Ejemplo n.º 7
0
#!/usr/bin/env python

import math
import time

#import blinkt
from rainbowhat import rainbow as blinkt

blinkt.set_clear_on_exit()

reds = [0, 0, 0, 0, 0, 16, 64, 255, 64, 16, 0, 0, 0, 0, 0]

start_time = time.time()

while True:
    delta = (time.time() - start_time) * 16

    # Sine wave, spends a little longer at min/max
    # offset = int(round(((math.sin(delta) + 1) / 2) * 7))

    # Triangle wave, a snappy ping-pong effect
    offset = int(abs((delta % 16) - 8))

    for i in range(blinkt.NUM_PIXELS):
        blinkt.set_pixel(i, reds[offset + i], 0, 0)
    blinkt.show()

    time.sleep(0.1)
Ejemplo n.º 8
0
except ImportError:
    exit(
        "This script requires the requests module\nInstall with: sudo pip install requests"
    )

#import blinkt
from rainbowhat import rainbow as blinkt

blinkt.set_clear_on_exit()


def hex_to_rgb(col_hex):
    col_hex = col_hex.lstrip("#")
    try:
        return struct.unpack("BBB", bytes.fromhex(col_hex))
    except AttributeError:
        return struct.unpack("BBB", col_hex.decode("hex"))


while True:
    r = requests.get(
        "http://api.thingspeak.com/channels/1417/field/2/last.json", timeout=2)
    r, g, b = hex_to_rgb(r.json()["field2"])

    for i in range(blinkt.NUM_PIXELS):
        blinkt.set_pixel(i, r, g, b)

    blinkt.show()

    time.sleep(5)  # Be friendly to the API
Ejemplo n.º 9
0
#!/usr/bin/env python

import random
import time

# import blinkt
from rainbowhat import rainbow as blinkt

blinkt.set_clear_on_exit()

while True:
    pixels = random.sample(range(blinkt.NUM_PIXELS), random.randint(1, 5))
    for i in range(blinkt.NUM_PIXELS):
        if i in pixels:
            blinkt.set_pixel(i, 255, 150, 0)
        else:
            blinkt.set_pixel(i, 0, 0, 0)
    blinkt.show()
    time.sleep(0.05)
Ejemplo n.º 10
0
    [255, 255, 255],  #9 white
]

blinkt.set_clear_on_exit()

while True:
    hour = time.localtime().tm_hour
    minute = time.localtime().tm_min

    hourten = int(hour / 10)
    hourunit = int(hour % 10)
    minuteten = int(minute / 10)
    minuteunit = int(minute % 10)

    r, g, b = colours[hourten]
    blinkt.set_pixel(6, r, g, b)

    r, g, b = colours[hourunit]
    blinkt.set_pixel(5, r, g, b)
    blinkt.set_pixel(4, r, g, b)

    r, g, b = colours[minuteten]
    blinkt.set_pixel(3, r, g, b)
    blinkt.set_pixel(2, r, g, b)

    r, g, b = colours[minuteunit]
    blinkt.set_pixel(1, r, g, b)
    blinkt.set_pixel(0, r, g, b)

    blinkt.show()
Ejemplo n.º 11
0
        "This script requires the numpy module\nInstall with: sudo pip install numpy"
    )

# import blinkt
from rainbowhat import rainbow as blinkt

blinkt.clear()
start = 0
end = 60

while True:
    wait = np.random.choice(np.random.noncentral_chisquare(5, 1, 1000),
                            1)[0] / 50
    n = np.random.choice(np.random.noncentral_chisquare(5, 0.1, 1000), 1)
    limit = int(n[0])

    if limit > blinkt.NUM_PIXELS:
        limit = blinkt.NUM_PIXELS

    for pixel in range(limit):
        hue = start + (((end - start) / float(blinkt.NUM_PIXELS)) * pixel)
        r, g, b = [
            int(c * 255) for c in colorsys.hsv_to_rgb(hue / 360.0, 1.0, 1.0)
        ]
        blinkt.set_pixel(pixel, r, g, b)
        blinkt.show()
        time.sleep(0.05 / (pixel + 1))

    time.sleep(wait)
    blinkt.clear()
#!/usr/bin/env python

import random
import time

#import blinkt
from rainbowhat import rainbow as blinkt

blinkt.set_clear_on_exit()
blinkt.set_brightness(0.1)

while True:
    for i in range(blinkt.NUM_PIXELS):
        blinkt.set_pixel(i, random.randint(0, 255), random.randint(0, 255),
                         random.randint(0, 255))
    blinkt.show()
    time.sleep(0.05)
 def off(self):
     rainbow.set_pixel(self.identifier, 0, 0, 0)
     rainbow.show()
 def on(self):
     (red, green, blue) = self.__color.rgb_value
     rainbow.set_pixel(self.identifier, red, green, blue)
     rainbow.show()
Ejemplo n.º 15
0
    # Use offset to pick the right colour from the hue wheel
    hue = int(round(offset * 360))

    # Maximum number basex on NUM_PIXELS
    max_val = blinkt.NUM_PIXELS - 1

    # Now we generate a value from 0 to max_val
    offset = int(round(offset * max_val))

    for x in range(blinkt.NUM_PIXELS):
        sat = 1.0

        val = max_val - (abs(offset - x) * FALLOFF)
        val /= float(max_val)  # Convert to 0.0 to 1.0
        val = max(val, 0.0)  # Ditch negative values

        xhue = hue  # Grab hue for this pixel
        xhue += (
            1 - val
        ) * 10  # Use the val offset to give a slight colour trail variation
        xhue %= 360  # Clamp to 0-359
        xhue /= 360.0  # Convert to 0.0 to 1.0

        r, g, b = [int(c * 255) for c in colorsys.hsv_to_rgb(xhue, sat, val)]

        blinkt.set_pixel(x, r, g, b, val / 4)

    blinkt.show()

    time.sleep(0.001)
Ejemplo n.º 16
0
def show_all(state):
    for i in range(blinkt.NUM_PIXELS):
        val = state * 255
        blinkt.set_pixel(i, val, val, val)
    blinkt.show()