Skip to content
Snippets Groups Projects
Commit 5a5a5f8f authored by SiccoColijn's avatar SiccoColijn
Browse files

Added pwm for all channels

parent 62d14396
No related branches found
No related tags found
No related merge requests found
......@@ -7,8 +7,14 @@ from encoder import Encoder
# GPIO Mode (BOARD / BCM)
GPIO.setmode(GPIO.BCM)
print(GPIO.VERSION)
LEFTMOTOR = 17
GPIO.setup(LEFTMOTOR, GPIO.OUT)
LEFTMOTORFORWARDPIN = 12
LEFTMOTORBACKWARDPIN = 13
RIGHTMOTORFORWARDPIN = 20
RIGHTMOTORBACKWARDPIN = 26
GPIO.setup(LEFTMOTORFORWARDPIN, GPIO.OUT)
GPIO.setup(LEFTMOTORBACKWARDPIN, GPIO.OUT)
GPIO.setup(RIGHTMOTORFORWARDPIN, GPIO.OUT)
GPIO.setup(RIGHTMOTORBACKWARDPIN, GPIO.OUT)
class Driving:
def __init__ (self):
......@@ -106,23 +112,54 @@ class Driving:
try:
# LEFTMOTORFORWARDPIN = 12
# LEFTMOTORBACKWARDPIN = 13
# RIGHTMOTORFORWARDPIN = 20
# RIGHTMOTORBACKWARDPIN = 26
motor = Driving()
motor.__init__()
leftPin = GPIO.PWM(LEFTMOTOR, 50)
leftPin.start(0)
leftPinF = GPIO.PWM(LEFTMOTORFORWARDPIN, 50)
leftPinB = GPIO.PWM(LEFTMOTORBACKWARDPIN, 50)
rightPinF = GPIO.PWM(RIGHTMOTORFORWARDPIN, 50)
rightPinB = GPIO.PWM(RIGHTMOTORBACKWARDPIN, 50)
leftPinF.start(0)
leftPinB.start(0)
rightPinF.start(0)
rightPinB.start(0)
motor.driveForward(30, 1)
while True:
leftDC, rightDC, dir1, dir2 = motor.getPWM()
leftPin.ChangeDutyCycle(leftDC)
print(leftDC)
time.sleep(0.01)
# Update PWM to motordriver according to getPWM()
leftDC, rightDC, dirLeft, dirRight = motor.getPWM()
if dirLeft:
leftPinF.ChangeDutyCycle(leftDC)
leftPinB.ChangeDutyCycle(0)
else:
leftPinB.ChangeDutyCycle(leftDC)
leftPinF.ChangeDutyCycle(0)
if dirRight:
rightPinF.ChangeDutyCycle(rightDC)
rightPinB.ChangeDutyCycle(0)
else:
rightPinB.ChangeDutyCycle(rightDC)
rightPinF.ChangeDutyCycle(0)
#print(leftDC)
time.sleep(0.1)
except KeyboardInterrupt: # Exit by pressing CTRL + C
leftPin.stop()
leftPinF.stop()
leftPinB.stop()
rightPinF.stop()
rightPinB.stop()
GPIO.cleanup()
print("Measurement stopped by User")
finally:
leftPin.stop()
leftPinF.stop()
leftPinB.stop()
rightPinF.stop()
rightPinB.stop()
GPIO.cleanup()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment