Skip to content

Commit a8ca070

Browse files
authored
Merge pull request #7 from arduino/dev
0.1.0
2 parents 3ccb00c + a271be5 commit a8ca070

16 files changed

+642
-116
lines changed

arduino_alvik.py

+417-58
Large diffs are not rendered by default.

examples/led_setting.py renamed to examples/leds_setting.py

+12-14
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,10 @@
33
import sys
44

55
alvik = ArduinoAlvik()
6-
7-
alvik.run()
8-
sleep_ms(100)
9-
alvik.reset_hw()
6+
alvik.begin()
107

118
while True:
129
try:
13-
#alvik._set_leds(0xff)
14-
#sleep_ms(1000)
15-
#alvik._set_leds(0x00)
16-
#sleep_ms(1000)
1710
alvik.set_builtin_led(1)
1811
sleep_ms(1000)
1912
alvik.set_illuminator(1)
@@ -22,18 +15,23 @@
2215
sleep_ms(1000)
2316
alvik.set_illuminator(0)
2417
sleep_ms(1000)
25-
alvik.set_left_led_color(0,0,1)
18+
alvik.left_led.set_color(0, 0, 1)
19+
sleep_ms(1000)
20+
alvik.left_led.set_color(0, 1, 0)
21+
sleep_ms(1000)
22+
alvik.left_led.set_color(1, 0, 0)
2623
sleep_ms(1000)
27-
alvik.set_right_led_color(0,0,1)
24+
alvik.left_led.set_color(1, 1, 1)
2825
sleep_ms(1000)
29-
alvik.set_left_led_color(0,1,0)
26+
alvik.right_led.set_color(0, 0, 1)
3027
sleep_ms(1000)
31-
alvik.set_right_led_color(0,1,0)
28+
alvik.right_led.set_color(0, 1, 0)
3229
sleep_ms(1000)
33-
alvik.set_left_led_color(1,0,0)
30+
alvik.right_led.set_color(1, 0, 0)
3431
sleep_ms(1000)
35-
alvik.set_right_led_color(1,0,0)
32+
alvik.right_led.set_color(1, 1, 1)
3633
sleep_ms(1000)
3734
except KeyboardInterrupt as e:
3835
print('over')
36+
alvik.stop()
3937
sys.exit()

examples/message_reader.py

+10-9
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,27 @@
33
import sys
44

55
alvik = ArduinoAlvik()
6+
if alvik.begin() < 0:
7+
sys.exit()
68

7-
alvik.run()
8-
sleep_ms(100)
9-
alvik.reset_hw()
109
speed = 0
1110

1211
while True:
1312
try:
1413
print(f'VER: {alvik.version}')
15-
print(f'LSP: {alvik.l_speed}')
16-
print(f'RSP: {alvik.r_speed}')
14+
print(f'LSP: {alvik.left_wheel.get_speed()}')
15+
print(f'RSP: {alvik.right_wheel.get_speed()}')
16+
print(f'LPOS: {alvik.left_wheel.get_position()}')
17+
print(f'RPOS: {alvik.right_wheel.get_position()}')
1718
print(f'TOUCH: {alvik.touch_bits}')
1819
print(f'RGB: {alvik.red} {alvik.green} {alvik.blue}')
1920
print(f'LINE: {alvik.left_line} {alvik.center_line} {alvik.right_line}')
2021

21-
alvik.set_speeds(speed, speed)
22+
alvik.set_wheels_speed(speed, speed)
2223
speed = (speed + 1) % 60
2324
sleep_ms(1000)
2425
except KeyboardInterrupt as e:
2526
print('over')
26-
alvik.set_speeds(0, 0)
27-
break
28-
sys.exit()
27+
alvik.stop()
28+
sys.exit()
29+

examples/move_wheels.py

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
from arduino_alvik import ArduinoAlvik
2+
from time import sleep_ms
3+
import sys
4+
5+
alvik = ArduinoAlvik()
6+
alvik.begin()
7+
8+
while True:
9+
try:
10+
alvik.left_wheel.set_speed(10)
11+
sleep_ms(1000)
12+
print(f'LSP: {alvik.left_wheel.get_speed()}')
13+
print(f'RSP: {alvik.right_wheel.get_speed()}')
14+
15+
alvik.right_wheel.set_speed(10)
16+
sleep_ms(1000)
17+
18+
print(f'LSP: {alvik.left_wheel.get_speed()}')
19+
print(f'RSP: {alvik.right_wheel.get_speed()}')
20+
21+
alvik.left_wheel.set_speed(20)
22+
sleep_ms(1000)
23+
24+
print(f'LSP: {alvik.left_wheel.get_speed()}')
25+
print(f'RSP: {alvik.right_wheel.get_speed()}')
26+
27+
alvik.right_wheel.set_speed(20)
28+
sleep_ms(1000)
29+
30+
print(f'LSP: {alvik.left_wheel.get_speed()}')
31+
print(f'RSP: {alvik.right_wheel.get_speed()}')
32+
33+
except KeyboardInterrupt as e:
34+
print('over')
35+
alvik.stop()
36+
sys.exit()

examples/pose_example.py

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
from arduino_alvik import ArduinoAlvik
2+
from time import sleep_ms
3+
import sys
4+
5+
alvik = ArduinoAlvik()
6+
alvik.begin()
7+
8+
while True:
9+
try:
10+
11+
alvik.move(100.0)
12+
print("on target after move")
13+
14+
alvik.move(50.0)
15+
print("on target after move")
16+
17+
alvik.rotate(90.0)
18+
print("on target after rotation")
19+
20+
alvik.rotate(-45.00)
21+
print("on target after rotation")
22+
23+
x, y, theta = alvik.get_pose()
24+
print(f'Current pose is x={x}, y={y} ,theta={theta}')
25+
26+
alvik.reset_pose(0, 0, 0)
27+
28+
x, y, theta = alvik.get_pose()
29+
print(f'Updated pose is x={x}, y={y} ,theta={theta}')
30+
sleep_ms(500)
31+
32+
print("___________NON-BLOCKING__________________")
33+
34+
alvik.move(50.0, blocking=False)
35+
while not alvik.is_target_reached():
36+
print(f"Not yet on target received:{alvik.last_ack}")
37+
print("on target after move")
38+
39+
alvik.rotate(45.0, blocking=False)
40+
while not alvik.is_target_reached():
41+
print(f"Not yet on target received:{alvik.last_ack}")
42+
print("on target after rotation")
43+
44+
alvik.move(100.0, blocking=False)
45+
while not alvik.is_target_reached():
46+
print(f"Not yet on target received:{alvik.last_ack}")
47+
print("on target after move")
48+
49+
alvik.rotate(-90.00, blocking=False)
50+
while not alvik.is_target_reached():
51+
print(f"Not yet on target received:{alvik.last_ack}")
52+
print("on target after rotation")
53+
54+
x, y, theta = alvik.get_pose()
55+
print(f'Current pose is x={x}, y={y} ,theta={theta}')
56+
57+
alvik.reset_pose(0, 0, 0)
58+
59+
x, y, theta = alvik.get_pose()
60+
print(f'Updated pose is x={x}, y={y} ,theta={theta}')
61+
sleep_ms(500)
62+
63+
alvik.stop()
64+
sys.exit()
65+
66+
except KeyboardInterrupt as e:
67+
print('over')
68+
alvik.stop()
69+
sys.exit()

examples/read_color_sensor.py

+4-7
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,15 @@
33
import sys
44

55
alvik = ArduinoAlvik()
6-
7-
alvik.run()
8-
sleep_ms(1000)
9-
alvik.reset_hw()
6+
alvik.begin()
107
speed = 0
118

129
while True:
1310
try:
14-
r, g, b = alvik.get_color()
11+
r, g, b = alvik.get_color_raw()
1512
print(f'RED: {r}, Green: {g}, Blue: {b}')
1613
sleep_ms(100)
1714
except KeyboardInterrupt as e:
1815
print('over')
19-
break
20-
sys.exit()
16+
alvik.stop()
17+
sys.exit()

examples/read_imu.py

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from arduino_alvik import ArduinoAlvik
2+
from time import sleep_ms
3+
import sys
4+
5+
alvik = ArduinoAlvik()
6+
alvik.begin()
7+
speed = 0
8+
9+
while True:
10+
try:
11+
ax, ay, az = alvik.get_accelerations()
12+
gx, gy, gz = alvik.get_gyros()
13+
print(f'ax: {ax}, ay: {ay}, az: {az}, gx: {gx}, gy: {gy}, gz: {gz}')
14+
sleep_ms(100)
15+
except KeyboardInterrupt as e:
16+
print('over')
17+
alvik.stop()
18+
sys.exit()

examples/read_touch.py

+3-6
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33
import sys
44

55
alvik = ArduinoAlvik()
6-
7-
alvik.run()
8-
sleep_ms(1000)
9-
alvik.reset_hw()
6+
alvik.begin()
107
speed = 0
118

129
while True:
@@ -30,5 +27,5 @@
3027
sleep_ms(100)
3128
except KeyboardInterrupt as e:
3229
print('over')
33-
break
34-
sys.exit()
30+
alvik.stop()
31+
sys.exit()

examples/set_pid.py

+5-8
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,16 @@
33
import sys
44

55
alvik = ArduinoAlvik()
6-
7-
alvik.run()
8-
sleep_ms(1000)
9-
alvik.reset_hw()
6+
alvik.begin()
107
speed = 0
118

129
while True:
1310
try:
14-
alvik.set_pid('L', 10.0, 1.3, 4.2)
11+
alvik.left_wheel.set_pid_gains(10.0, 1.3, 4.2)
1512
sleep_ms(100)
16-
alvik.set_pid('R', 4.0, 13, 1.9)
13+
alvik.right_wheel.set_pid_gains(4.0, 13, 1.9)
1714
sleep_ms(100)
1815
except KeyboardInterrupt as e:
1916
print('over')
20-
break
21-
sys.exit()
17+
alvik.stop()
18+
sys.exit()

examples/wheels_servo.py

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
from arduino_alvik import ArduinoAlvik
2+
from time import sleep
3+
import sys
4+
5+
alvik = ArduinoAlvik()
6+
alvik.begin()
7+
8+
alvik.left_wheel.reset()
9+
alvik.right_wheel.reset()
10+
11+
while True:
12+
try:
13+
alvik.left_wheel.set_position(30)
14+
sleep(2)
15+
print(f'Left wheel degs: {alvik.left_wheel.get_position()}')
16+
print(f'Right wheel degs: {alvik.right_wheel.get_position()}')
17+
18+
alvik.right_wheel.set_position(10)
19+
sleep(2)
20+
print(f'Left wheel degs: {alvik.left_wheel.get_position()}')
21+
print(f'Right wheel degs: {alvik.right_wheel.get_position()}')
22+
23+
alvik.left_wheel.set_position(180)
24+
sleep(2)
25+
print(f'Left wheel degs: {alvik.left_wheel.get_position()}')
26+
print(f'Right wheel degs: {alvik.right_wheel.get_position()}')
27+
28+
alvik.right_wheel.set_position(270)
29+
sleep(2)
30+
print(f'Left wheel degs: {alvik.left_wheel.get_position()}')
31+
print(f'Right wheel degs: {alvik.right_wheel.get_position()}')
32+
33+
except KeyboardInterrupt as e:
34+
print('over')
35+
alvik.stop()
36+
sys.exit()

examples/move_example.py renamed to examples/wheels_speed.py

+5-9
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,19 @@
33
import sys
44

55
alvik = ArduinoAlvik()
6-
7-
alvik.run()
8-
sleep_ms(100)
9-
alvik.reset_hw()
10-
6+
alvik.begin()
117

128
while True:
139
try:
14-
alvik.set_speeds(10, 10)
10+
alvik.set_wheels_speed(10, 10)
1511
sleep_ms(1000)
1612

17-
alvik.set_speeds(30, 60)
13+
alvik.set_wheels_speed(30, 60)
1814
sleep_ms(1000)
1915

20-
alvik.set_speeds(60, 30)
16+
alvik.set_wheels_speed(60, 30)
2117
sleep_ms(1000)
2218
except KeyboardInterrupt as e:
2319
print('over')
24-
alvik.set_speeds(0, 0)
20+
alvik.stop()
2521
sys.exit()

install.bat

+2
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ if /i "%1"=="-h" (
1919
python -m mpremote %port_string% fs rm :arduino_alvik.py
2020
python -m mpremote %port_string% fs rm :constants.py
2121
python -m mpremote %port_string% fs rm :pinout_definitions.py
22+
python -m mpremote %port_string% fs rm :robot_definitions.py
2223
python -m mpremote %port_string% fs rm :uart.py
2324

2425
python -m mpremote %port_string% fs cp arduino_alvik.py :arduino_alvik.py
2526
python -m mpremote %port_string% fs cp constants.py :constants.py
2627
python -m mpremote %port_string% fs cp pinout_definitions.py :pinout_definitions.py
28+
python -m mpremote %port_string% fs cp robot_definitions.py :robot_definitions.py
2729
python -m mpremote %port_string% fs cp uart.py :uart.py
2830

2931
echo Installing dependencies

install.sh

+2
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,13 @@ fi
4545
$python_command -m mpremote $connect_string fs rm :arduino_alvik.py
4646
$python_command -m mpremote $connect_string fs rm :constants.py
4747
$python_command -m mpremote $connect_string fs rm :pinout_definitions.py
48+
$python_command -m mpremote $connect_string fs rm :robot_definitions.py
4849
$python_command -m mpremote $connect_string fs rm :uart.py
4950

5051
$python_command -m mpremote $connect_string fs cp arduino_alvik.py :arduino_alvik.py
5152
$python_command -m mpremote $connect_string fs cp constants.py :constants.py
5253
$python_command -m mpremote $connect_string fs cp pinout_definitions.py :pinout_definitions.py
54+
$python_command -m mpremote $connect_string fs cp robot_definitions.py :robot_definitions.py
5355
$python_command -m mpremote $connect_string fs cp uart.py :uart.py
5456

5557
echo "Installing dependencies"

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
],
44
"deps": [
55
],
6-
"version": "0.0.7"
6+
"version": "0.1.0"
77
}

0 commit comments

Comments
 (0)