# NeoPixel library strandtest example # Author: Tony DiCola (tony@tonydicola.com) # # Direct port of the Arduino NeoPixel library strandtest example. Showcases # various animations on a strip of NeoPixels. import time from neopixel import * # LED strip configuration: LED_COUNT = 494 # Number of LED pixels. LED_PIN = 18 # GPIO pin connected to the pixels (must support PWM!). LED_FREQ_HZ = 800000 # LED signal frequency in hertz (usually 800khz) LED_DMA = 10 # DMA channel to use for generating signal (try 10) LED_BRIGHTNESS = 255 # Set to 0 for darkest and 255 for brightest LED_INVERT = False # True to invert the signal (when using NPN transistor level shift) LED_CHANNEL = 0 LED_STRIP = ws.SK6812_STRIP_RGBW #LED_STRIP = ws.SK6812W_STRIP class Led: leds = [] def __init__(self, id, x, y): self.x = x self.y = y Led.leds.append(self) def colorFromIntensity(intensity): #intensity should be 0-255 if intensity>20: return Color(0,int(intensity),int(intensity/2),int(intensity/8)+20) else: return Color(0,0,0,20) def intensityFromDistance(distance): if distance<0: return 0 intensity = 255-(distance/3) if intensity < 0: return 0 else: return intensity # Main program logic follows: if __name__ == '__main__': # Create NeoPixel object with appropriate configuration. strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS, LED_CHANNEL, LED_STRIP) # Intialize the library (must be called once before other functions). strip.begin() print ('Press Ctrl-C to quit.') with open("leds.txt", "r") as infile: for line in infile: entry = [int(x) for x in line.split(',')] Led(entry[0], entry[1], entry[2]) # all LEDs now ready edge = -500 t = 0 while True: t+=1 for i, led in enumerate(Led.leds): if t % 2 ==0: strip.setPixelColor(i, Color(0b10101010, 0b10101010, 0b10101010, 0b10101010)) else: strip.setPixelColor(i, Color(0,0,0,0)) strip.show() time.sleep(1)