#!/usr/bin/env python #defines appearance for LEDs, such as bouncing effect, circular effect. import Adafruit_WS2801 import Adafruit_GPIO.SPI as SPI import time # count of pixels: PIXEL_COUNT = 19 # specify a hardware SPI connection on /dev/spidev0.0: SPI_PORT = 0 SPI_DEVICE = 0 pixels = Adafruit_WS2801.WS2801Pixels(PIXEL_COUNT, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE)) # colors of each character color_guru = [146, 200, 0] # purple color_pirate = [255, 0, 200] # yellow color_announcer= [0, 100, 200] # aqua blue color_activation= [255, 255, 255] # white def leds_color_intensity(color, intensity): # color: a list of 3 rgb components 0 to 255 # intensity: between 0 and 1 # pixN: number of pixels r = color[0] g = color[1] b = color[2] for i in range(PIXEL_COUNT): pixels.set_pixel_rgb(i, int(r*intensity), int(g*intensity), int(b*intensity) ) # Set the RGB color (0-255) of pixel i pixels.show() # LEDs grow and shrink def leds_color_length(color, intensity): # color: a list of 3 rgb components 0 to 255 # intensity: between 0 and 1 # pixN: number of pixels r = color[0] g = color[1] b = color[2] led_length = int(PIXEL_COUNT * intensity) for i in range(led_length): pixels.set_pixel_rgb(i, int(r), int(g), int(b) ) # Set the RGB color (0-255) of pixel i time.sleep(0.01) pixels.show() pixels.clear() # LEDS for pirate def leds_pirate_blink(color): # color: a list of 3 rgb components 0 to 255 # pixN: number of pixels r = color[0] g = color[1] b = color[2] while True: pixels.clear() pixels.show() time.sleep(0.02) for i in range(PIXEL_COUNT): pixels.set_pixel_rgb(i, int(r), int(g), int(b) ) # Set the RGB color (0-255) of pixel i pixels.show() time.sleep(0.01) def leds_pirate_circle(color): # color: a list of 3 rgb components 0 to 255 # pixN: number of pixels r = color[0] g = color[1] b = color[2] while True: for i in range(PIXEL_COUNT): pixels.set_pixel_rgb(i, int(r), int(g), int(b) ) # Set the RGB color (0-255) of pixel i pixels.show() time.sleep(0.01) pixels.clear() pixels.show() time.sleep(0.3) def leds_pirate_bounce(color): # color: a list of 3 rgb components 0 to 255 # pixN: number of pixels r = color[0] g = color[1] b = color[2] leds = list(range(PIXEL_COUNT))+ (list(range(PIXEL_COUNT))[::-1]) n = 0 while True: n = n + 1 for i in leds: pixels.set_pixel_rgb(i, int(r), int(g), int(b) ) # Set the RGB color (0-255) of pixel i pixels.show() time.sleep(0.01) pixels.clear() pixels.show() time.sleep(0.3) if n > 3: break # activation mode is one white leds bounce def leds_activation(color): # color: a list of 3 rgb components 0 to 255 # pixN: number of pixels r = color[0] g = color[1] b = color[2] leds = list(range(PIXEL_COUNT))+ (list(range(PIXEL_COUNT))[::-1]) n = 0 while True: n = n + 1 for i in leds: pixels.set_pixel_rgb(i, int(r), int(g), int(b) ) # Set the RGB color (0-255) of pixel i pixels.show() time.sleep(0.01) pixels.clear() pixels.show() time.sleep(0.1) if n > 0: break pixels.clear() # Clear all the pixels to turn them off.