Strandtest
This script just does some fancy patterns to show of the neopixels' capabilities. Runs in an endless loop, take a look at the code to see what it does more precisely.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | import LuxcenaNeo as neo # Can be imported as LuxcenaNeo as well. but anything else and it will fail... import time def colorWipe(color, wait_ms=50): """Wipe color across display a pixel at a time.""" for i in range(neo.strip.numPixels()): neo.strip.setPixelColor(i, color) neo.strip.show() time.sleep(wait_ms/1000.0) def theaterChase(color, wait_ms=50, iterations=10): """Movie theater light style chaser animation.""" for j in range(iterations): for q in range(3): for i in range(0, neo.strip.numPixels(), 3): neo.strip.setPixelColor(i+q, color) neo.strip.show() time.sleep(wait_ms/1000.0) for i in range(0, neo.strip.numPixels(), 3): neo.strip.setPixelColor(i+q, 0) def wheel(pos): """Generate rainbow colors across 0-255 positions.""" if pos < 85: return neo.Color(pos * 3, 255 - pos * 3, 0) elif pos < 170: pos -= 85 return neo.Color(255 - pos * 3, 0, pos * 3) else: pos -= 170 return neo.Color(0, pos * 3, 255 - pos * 3) def rainbow(wait_ms=20, iterations=1): """Draw rainbow that fades across all pixels at once.""" for j in range(256*iterations): for i in range(neo.strip.numPixels()): neo.strip.setPixelColor(i, wheel((i+j) & 255)) neo.strip.show() time.sleep(wait_ms/1000.0) def rainbowCycle(wait_ms=20, iterations=5): """Draw rainbow that uniformly distributes itself across all pixels.""" for j in range(256*iterations): for i in range(strip.numPixels()): neo,strip.setPixelColor(i, wheel(((i * 256 / neo.strip.numPixels()) + j) & 255)) neo.strip.show() time.sleep(wait_ms/1000.0) def theaterChaseRainbow(wait_ms=50): """Rainbow movie theater light style chaser animation.""" for j in range(256): for q in range(3): for i in range(0, neo.strip.numPixels(), 3): neo.strip.setPixelColor(i+q, wheel((i+j) % 255)) neo.strip.show() time.sleep(wait_ms/1000.0) for i in range(0, neo.strip.numPixels(), 3): neo.strip.setPixelColor(i+q, 0) class Main(neo.NeoBehaviour): def onStart(self): # Change the brightness of the strip neo.strip.setBrightness(100) # Do an endless loop with some default neopixel test patterns while True: colorWipe(neo.Color(255, 0, 0)) # Red wipe colorWipe(neo.Color(0, 255, 0)) # Blue wipe colorWipe(neo.Color(0, 0, 255)) # Green wipe theaterChase(neo.Color(127, 127, 127)) # White theater chase theaterChase(neo.Color(127, 0, 0)) # Red theater chase theaterChase(neo.Color( 0, 0, 127)) # Blue theater chase rainbow() rainbowCycle() theaterChaseRainbow() |