-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_rainbow.py
43 lines (38 loc) · 963 Bytes
/
test_rainbow.py
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
import board
import time
import neopixel
# light on only the first LED
#pixels=neopixel.NeoPixel(board.D18, 30)
#pixels[0]=(255,0,0)
num_pixels=16
pixel_pin=board.D18
ORDER=neopixel.GRB
pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.05,auto_write=False,pixel_order=ORDER)
def wheel(pos):
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 in (neopixel.RGB, 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:
rainbow_cycle(0.001)
print(1)