Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import board
- import neopixel
- # On CircuitPlayground Express, and boards with built in status NeoPixel -> board.NEOPIXEL
- # Otherwise choose an open pin connected to the Data In of the NeoPixel strip, i.e. board.D1
- pixel_pin = board.NEOPIXEL
- # On a Raspberry pi, use this instead, not all pins are supported
- #pixel_pin = board.D18
- # The number of NeoPixels
- num_pixels = 10
- # The order of the pixel colors - RGB or GRB. Some NeoPixels have red and green reversed!
- # For RGBW NeoPixels, simply change the ORDER to RGBW or GRBW.
- ORDER = neopixel.GRB
- pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.1, auto_write=False,
- pixel_order=ORDER)
- def wheel(pos):
- # Input a value 0 to 255 to get a color value.
- # The colours are a transition r - g - b - back to r.
- if pos < 0 or pos > 255:
- r = g = b = 0
- elif pos < 85:
- r = int(pos * 3)
- g = int(255 - pos*3)
- b = 0
- elif pos < 170:
- pos -= 85
- r = int(255 - pos*3)
- g = 0
- b = int(pos*3)
- else:
- pos -= 170
- r = 0
- g = int(pos*3)
- b = int(255 - pos*3)
- return (r, g, b) if ORDER == neopixel.RGB or ORDER == neopixel.GRB else (r, g, b, 0)
- def rainbow_cycle(wait):
- for j in range(255):
- for i in range(num_pixels):
- pixel_index = (i * 256 // num_pixels) + j
- pixels[i] = wheel(pixel_index & 255)
- pixels.show()
- time.sleep(wait)
- while True:
- # Comment this line out if you have RGBW/GRBW NeoPixels
- # pixels.fill((255, 0, 0))
- # Uncomment this line if you have RGBW/GRBW NeoPixels
- # pixels.fill((255, 0, 0, 0))
- # pixels.show()
- # time.sleep(1)
- # Comment this line out if you have RGBW/GRBW NeoPixels
- # pixels.fill((0, 255, 0))
- # Uncomment this line if you have RGBW/GRBW NeoPixels
- # pixels.fill((0, 255, 0, 0))
- # pixels.show()
- # time.sleep(1)
- # Comment this line out if you have RGBW/GRBW NeoPixels
- # pixels.fill((0, 0, 255))
- # Uncomment this line if you have RGBW/GRBW NeoPixels
- # pixels.fill((0, 0, 255, 0))
- # pixels.show()
- # time.sleep(1)
- rainbow_cycle(0.0001) # rainbow cycle with 1ms delay per step
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement