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()
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()
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()
#!/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)
def hide(): for line in get_lines(): blinkt.set_pixel(line, 0, 0, 0) blinkt.show()
def update(): for i in range(blinkt.NUM_PIXELS): blinkt.set_pixel(i, grid[i][0], grid[i][1], grid[i][2]) blinkt.show()
#!/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)
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
#!/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)
[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()
"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()
# 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)
def show_all(state): for i in range(blinkt.NUM_PIXELS): val = state * 255 blinkt.set_pixel(i, val, val, val) blinkt.show()