Skip to content

Commit 1a75d9b

Browse files
ste7anste7anste7anste7an
ste7anste7an
authored and
ste7anste7an
committedMay 10, 2023
direct angle setting
1 parent 30c1689 commit 1a75d9b

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# from mindstorms import Motor
2+
import math
3+
from mindstorms.control import wait_for_seconds
4+
# wait for 3 seconds (pause the program flow)
5+
from projects.mpy_robot_tools.uartremote import *
6+
import hub
7+
from projects.mpy_robot_tools.pybricks import Motor, Port
8+
9+
ur=UartRemote('D')
10+
11+
me = Motor(Port.E)
12+
mf = Motor(Port.F)
13+
14+
15+
16+
def goto_zero():
17+
pos_e=motor_e.get_position()
18+
if pos_e>200:
19+
pos_e=pos_e-360
20+
# -60 (omhoog) .. 45
21+
motor_e.run_for_degrees(-pos_e,20)
22+
pos_f=motor_f.get_position()
23+
if pos_f>200:
24+
pos_f-=360
25+
# -70 (rechts) .. 145 (links)
26+
motor_f.run_for_degrees(-pos_f,20)
27+
28+
def move_delta(dxr,dyr):
29+
me.run_angle(200, 7.5*dyr, wait=False)
30+
# mf.run_angle(200, -7.5*dxr, wait=False)
31+
wait_for_seconds(0.1)
32+
# dx=int(dxr)
33+
# dy=int(dyr)
34+
# pos_e=motor_e.get_position()
35+
# pos_f=motor_f.get_position()
36+
# if pos_e>180:
37+
# pos_e-=360
38+
# if pos_f>180:
39+
# pos_f-=360
40+
# print(pos_e,pos_f,dy,dx)
41+
# """ positive is downwards. dy+ need to move up
42+
# """
43+
# if dy<0:
44+
# if pos_e<45:
45+
# #motor_e.run_for_degrees(dy,-50)
46+
# motor_e.start(-dy)
47+
# elif dy>0:
48+
# if pos_e>-60:
49+
# #motor_e.run_for_degrees(dy,50)
50+
# motor_e.start(-dy)
51+
# else:
52+
# motor_e.start(0)
53+
# ''' motor f: clockwise = pos. Dx=positive -> clockwise
54+
# '''
55+
# if dx<0:
56+
# if pos_f<145 :
57+
# print("f<145,dx",-dx)
58+
# #motor_f.run_for_degrees(dx,50)
59+
# motor_f.start(-dx)
60+
# elif dx>0:
61+
# if pos_f>-70:
62+
# print("f>-70,dx",dx)
63+
# #motor_f.run_for_degrees(dx,-50)
64+
# motor_f.start(-dx)
65+
# else:
66+
# motor_f.start(0)
67+
68+
# Create your objects here.
69+
70+
# motor_e = Motor('E')
71+
# motor_f = Motor('F')
72+
# goto_zero()
73+
while True:
74+
75+
for i in range(1):
76+
#try:
77+
ack,q=ur.call('get_pos')
78+
m,avg,mx,my=q
79+
dx=0
80+
dy=0
81+
if m>avg+3:
82+
ddx=mx-3.5
83+
ddy=my-3.5
84+
move_delta(ddx,ddy)
85+
86+
#except:
87+
# print('q=',q)
88+
# 300 .. 359 0..45
89+
# Write your program here.
90+
91+
motor_e.run_to_position(-20)
92+
93+
94+

0 commit comments

Comments
 (0)