-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathRobotArcade.py
More file actions
57 lines (41 loc) · 1.5 KB
/
RobotArcade.py
File metadata and controls
57 lines (41 loc) · 1.5 KB
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import gpiozero as gpio
class RobotArcade:
lMotorA = "BOARD11"
lMotorB = "BOARD12"
lMotorEN = "BOARD13"
rMotorA = "BOARD15"
rMotorB = "BOARD16"
rMotorEN = "BOARD18"
#lMotor.motor = -1
#rMotor.motor = -1
robot = -1
axisDeadzone = 0.25
maxSpeed = .8
inputMultiplierY = .8
inputMultiplierX = .5
def setup():
#lMotor.motor = gpio.Motor(forward = lMotorA, backward= lMotorB)
#rMotor.motor = gpio.Motor(forward = rMotorA, backward= rMotorB)
RobotArcade.robot = gpio.Robot(left=(RobotArcade.lMotorA, RobotArcade.lMotorB, RobotArcade.lMotorEN), right=(RobotArcade.rMotorA, RobotArcade.rMotorB, RobotArcade.rMotorEN))
def update(axisY, axisX):
if (abs(axisY) < RobotArcade.axisDeadzone):
axisY = 0
if (abs(axisX) < RobotArcade.axisDeadzone):
axisX = 0
axisY = axisY * RobotArcade.inputMultiplierY
axisX = axisX * RobotArcade.inputMultiplierX
valL = axisY - axisX
valR = axisY + axisX
if(valL > RobotArcade.maxSpeed) :
valL = RobotArcade.maxSpeed
if(valR > RobotArcade.maxSpeed) :
valR = RobotArcade.maxSpeed
if(valL < -RobotArcade.maxSpeed) :
valL = -RobotArcade.maxSpeed
if(valR < -RobotArcade.maxSpeed) :
valR = -RobotArcade.maxSpeed
RobotArcade.robot.value = (valL, valR)
def stop():
RobotArcade.robot.value = (0,0)
def endControl():
gpio.close()