Skip to content

Commit 31eaf03

Browse files
committed
updating content
1 parent 17f036e commit 31eaf03

9 files changed

+531
-0
lines changed

src/kits/h-bridge/03-move-pixel.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from machine import Pin
2+
from time import sleep
3+
from neopixel import NeoPixel
4+
5+
NUMBER_PIXELS = 28
6+
LED_PIN = 12
7+
8+
strip = NeoPixel(Pin(LED_PIN), NUMBER_PIXELS)
9+
10+
while True:
11+
for i in range(0, NUMBER_PIXELS):
12+
strip[i] = (255,0,0) # red=255, green and blue are 0
13+
strip.write() # send the data from RAM down the wire
14+
sleep(.1) # keep on 1/10 of a second
15+
strip[i] = (0,0,0) # change the RAM back but don't resend the data

src/kits/h-bridge/05-rainbow-cycle.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
from machine import Pin
2+
from neopixel import NeoPixel
3+
from utime import sleep
4+
5+
NEOPIXEL_PIN = 12
6+
NUMBER_PIXELS = 28
7+
strip = NeoPixel(Pin(NEOPIXEL_PIN), NUMBER_PIXELS)
8+
9+
def wheel(pos):
10+
# Input a value 0 to 255 to get a color value.
11+
# The colors are a transition r - g - b - back to r.
12+
if pos < 0 or pos > 255:
13+
return (0, 0, 0)
14+
if pos < 85:
15+
return (255 - pos * 3, pos * 3, 0)
16+
if pos < 170:
17+
pos -= 85
18+
return (0, 255 - pos * 3, pos * 3)
19+
pos -= 170
20+
return (pos * 3, 0, 255 - pos * 3)
21+
22+
def rainbow_cycle(wait):
23+
global NUMBER_PIXELS, strip
24+
for j in range(255):
25+
for i in range(NUMBER_PIXELS):
26+
rc_index = (i * 256 // NUMBER_PIXELS) + j
27+
# print(rc_index)
28+
strip[i] = wheel(rc_index & 255)
29+
strip.write()
30+
sleep(wait)
31+
32+
counter = 0
33+
offset = 0
34+
while True:
35+
print('Running cycle', counter)
36+
rainbow_cycle(.05)
37+
counter += 1

src/kits/h-bridge/07-show-segments.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from machine import Pin
2+
from utime import sleep
3+
from neopixel import NeoPixel
4+
5+
NUMBER_PIXELS = 28
6+
LED_PIN = 12
7+
8+
strip = NeoPixel(Pin(LED_PIN), NUMBER_PIXELS)
9+
10+
# one segment for the 6 parts of the H brige
11+
segments = [[0,4], [5,9], [10,14], [15,19], [20, 23], [24, 27]]
12+
num_segments = len(segments)
13+
14+
color_names = ["red", "orange", "yellow", "green", "indigo", "violet"]
15+
red = (255, 0, 0)
16+
off = (0,0,0)
17+
orange = (255, 60, 0) # Gamma corrected from G=128 to be less like yellow
18+
yellow = (255, 150, 0)
19+
green = (0, 255, 0)
20+
blue = (0, 0, 255)
21+
cyan = (255, 0, 255)
22+
indigo = (75, 0, 130) # purple?
23+
violet = (138, 43, 226) # mostly pink
24+
colors = (red, orange, yellow, green, blue, indigo, violet)
25+
26+
for i in range(0, num_segments):
27+
seg_length = segments[i][1] - segments[i][0] + 1
28+
print(i, seg_length)
29+
for j in range(segments[i][0], segments[i][1]+1):
30+
strip[j] = colors[i]
31+
strip.write()
32+
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
from machine import Pin
2+
from utime import sleep
3+
from neopixel import NeoPixel
4+
5+
NUMBER_PIXELS = 28
6+
LED_PIN = 12
7+
8+
strip = NeoPixel(Pin(LED_PIN), NUMBER_PIXELS)
9+
10+
# one segment for the 6 parts of the H brige
11+
segments = [[0,4], [5,9], [10,14], [15,19], [20, 23], [24, 27]]
12+
num_segments = len(segments)
13+
14+
color_names = ["red", "orange", "yellow", "green", "indigo", "violet"]
15+
red = (255, 0, 0)
16+
off = (0,0,0)
17+
orange = (120, 40, 0) # Gamma corrected from G=128 to be less like yellow
18+
yellow = (255, 150, 0)
19+
green = (0, 255, 0)
20+
blue = (0, 0, 255)
21+
cyan = (255, 0, 255)
22+
indigo = (75, 0, 130) # purple?
23+
violet = (138, 43, 226) # mostly pink
24+
colors = (red, orange, yellow, green, blue, indigo, violet)
25+
26+
delay = 0.5
27+
while True:
28+
for i in range(0, num_segments):
29+
seg_length = segments[i][1] - segments[i][0] + 1
30+
print(i, seg_length)
31+
for j in range(segments[i][0], segments[i][1]+1):
32+
strip[j] = colors[i]
33+
strip.write()
34+
sleep(delay)
35+
strip[j] = off
36+
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
from machine import Pin
2+
from utime import sleep
3+
from neopixel import NeoPixel
4+
5+
NUMBER_PIXELS = 28
6+
LED_PIN = 12
7+
8+
strip = NeoPixel(Pin(LED_PIN), NUMBER_PIXELS)
9+
10+
# one segment for the 6 parts of the H brige
11+
segments = [[0,4], [5,9], [10,14], [15,19], [20, 23], [24, 27]]
12+
num_segments = len(segments)
13+
foward_segments = [2,4,5,0]
14+
forward_directions = [1,1,1,-1]
15+
16+
color_names = ["red", "orange", "yellow", "green", "indigo", "violet"]
17+
red = (255, 0, 0)
18+
off = (0,0,0)
19+
orange = (120, 40, 0) # Gamma corrected from G=128 to be less like yellow
20+
yellow = (255, 150, 0)
21+
green = (0, 255, 0)
22+
blue = (0, 0, 255)
23+
cyan = (255, 0, 255)
24+
indigo = (75, 0, 130) # purple?
25+
violet = (138, 43, 226) # mostly pink
26+
colors = (red, orange, yellow, green, blue, indigo, violet)
27+
28+
delay = 0.1
29+
while True:
30+
seg_counter = 0
31+
for i in foward_segments:
32+
seg_length = segments[i][1] - segments[i][0] + 1
33+
print("seg:", i,
34+
" len:", seg_length,
35+
" start:", segments[i][0],
36+
" end:", segments[i][1],
37+
" dir:", forward_directions[seg_counter])
38+
if forward_directions[seg_counter] > 0:
39+
for j in range(segments[i][0], segments[i][1]+1):
40+
strip[j] = colors[i]
41+
strip.write()
42+
sleep(delay)
43+
strip[j] = off
44+
else:
45+
print("range:", segments[i][1], "to:", segments[i][0])
46+
for j in range(segments[i][1], segments[i][0]-1, -1):
47+
# print(j)
48+
strip[j] = colors[i]
49+
strip.write()
50+
sleep(delay)
51+
strip[j] = off
52+
seg_counter += 1
53+

src/kits/h-bridge/10-fwd-rev.py

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
from machine import Pin
2+
from utime import sleep
3+
from neopixel import NeoPixel
4+
5+
NUMBER_PIXELS = 28
6+
LED_PIN = 12
7+
8+
strip = NeoPixel(Pin(LED_PIN), NUMBER_PIXELS)
9+
10+
# one segment for the 6 parts of the H brige
11+
segments = [[0,4], [5,9], [10,14], [15,19], [20, 23], [24, 27]]
12+
num_segments = len(segments)
13+
foward_segments = [2,4,5,0]
14+
forward_directions = [1,1,1,-1]
15+
reverse_segments = [1,5,4,3]
16+
reverse_directions = [-1,-1,-1,1]
17+
18+
color_names = ["red", "orange", "yellow", "green", "indigo", "violet"]
19+
red = (255, 0, 0)
20+
off = (0,0,0)
21+
orange = (120, 40, 0) # Gamma corrected from G=128 to be less like yellow
22+
yellow = (255, 150, 0)
23+
green = (0, 255, 0)
24+
blue = (0, 0, 255)
25+
cyan = (255, 0, 255)
26+
indigo = (75, 0, 130) # purple?
27+
violet = (138, 43, 226) # mostly pink
28+
colors = (red, orange, yellow, green, blue, indigo, violet)
29+
30+
delay = 0.1
31+
while True:
32+
seg_counter = 0
33+
for i in foward_segments:
34+
seg_length = segments[i][1] - segments[i][0] + 1
35+
print("fwd seg:", i,
36+
" len:", seg_length,
37+
" start:", segments[i][0],
38+
" end:", segments[i][1],
39+
" dir:", forward_directions[seg_counter])
40+
if forward_directions[seg_counter] > 0:
41+
for j in range(segments[i][0], segments[i][1]+1):
42+
strip[j] = colors[i]
43+
strip.write()
44+
sleep(delay)
45+
strip[j] = off
46+
else:
47+
# print("range:", segments[i][1], "to:", segments[i][0])
48+
for j in range(segments[i][1], segments[i][0]-1, -1):
49+
# print(j)
50+
strip[j] = colors[i]
51+
strip.write()
52+
sleep(delay)
53+
strip[j] = off
54+
seg_counter += 1
55+
56+
# reverse animation
57+
seg_counter = 0
58+
for i in reverse_segments:
59+
seg_length = segments[i][1] - segments[i][0] + 1
60+
print("rev seg:", i,
61+
" len:", seg_length,
62+
" start:", segments[i][0],
63+
" end:", segments[i][1],
64+
" dir:", reverse_directions[seg_counter])
65+
if reverse_directions[seg_counter] > 0:
66+
for j in range(segments[i][0], segments[i][1]+1):
67+
strip[j] = colors[i]
68+
strip.write()
69+
sleep(delay)
70+
strip[j] = off
71+
else:
72+
# print("range:", segments[i][1], "to:", segments[i][0])
73+
for j in range(segments[i][1], segments[i][0]-1, -1):
74+
# print(j)
75+
strip[j] = colors[i]
76+
strip.write()
77+
sleep(delay)
78+
strip[j] = off
79+
seg_counter += 1
80+
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
from machine import Pin
2+
from utime import sleep
3+
from neopixel import NeoPixel
4+
5+
NUMBER_PIXELS = 28
6+
LED_PIN = 12
7+
8+
strip = NeoPixel(Pin(LED_PIN), NUMBER_PIXELS)
9+
10+
# one segment for the 6 parts of the H brige
11+
segments = [[0,4], [5,9], [10,14], [15,19], [20, 23], [24, 27]]
12+
num_segments = len(segments)
13+
foward_segments = [2,4,5,0]
14+
forward_directions = [1,1,1,-1]
15+
reverse_segments = [1,5,4,3]
16+
reverse_directions = [-1,-1,-1,1]
17+
18+
color_names = ["red", "orange", "yellow", "green", "indigo", "violet"]
19+
red = (255, 0, 0)
20+
lightred = (25, 0, 0)
21+
off = (0,0,0)
22+
orange = (120, 40, 0) # Gamma corrected from G=128 to be less like yellow
23+
yellow = (255, 150, 0)
24+
green = (0, 255, 0)
25+
lightgreen = (0, 25, 0)
26+
blue = (0, 0, 255)
27+
lightblue = (0, 0, 25)
28+
cyan = (255, 0, 255)
29+
indigo = (75, 0, 130) # purple?
30+
violet = (138, 43, 226) # mostly pink
31+
colors = (red, orange, yellow, green, blue, indigo, violet)
32+
33+
delay = 0.1
34+
while True:
35+
seg_counter = 0
36+
for i in foward_segments:
37+
seg_length = segments[i][1] - segments[i][0] + 1
38+
print("fwd seg:", i,
39+
" len:", seg_length,
40+
" start:", segments[i][0],
41+
" end:", segments[i][1],
42+
" dir:", forward_directions[seg_counter])
43+
if forward_directions[seg_counter] > 0:
44+
for j in range(segments[i][0], segments[i][1]+1):
45+
strip[j] = lightblue
46+
strip.write()
47+
sleep(delay)
48+
strip[j] = off
49+
else:
50+
# print("range:", segments[i][1], "to:", segments[i][0])
51+
for j in range(segments[i][1], segments[i][0]-1, -1):
52+
# print(j)
53+
strip[j] = lightblue
54+
strip.write()
55+
sleep(delay)
56+
strip[j] = off
57+
seg_counter += 1
58+
59+
# reverse animation
60+
seg_counter = 0
61+
for i in reverse_segments:
62+
seg_length = segments[i][1] - segments[i][0] + 1
63+
print("rev seg:", i,
64+
" len:", seg_length,
65+
" start:", segments[i][0],
66+
" end:", segments[i][1],
67+
" dir:", reverse_directions[seg_counter])
68+
if reverse_directions[seg_counter] > 0:
69+
for j in range(segments[i][0], segments[i][1]+1):
70+
strip[j] = lightgreen
71+
strip.write()
72+
sleep(delay)
73+
strip[j] = off
74+
else:
75+
# print("range:", segments[i][1], "to:", segments[i][0])
76+
for j in range(segments[i][1], segments[i][0]-1, -1):
77+
# print(j)
78+
strip[j] = lightgreen
79+
strip.write()
80+
sleep(delay)
81+
strip[j] = off
82+
seg_counter += 1
83+

0 commit comments

Comments
 (0)