[wd_asp elements=’search’ ratio=’100%’ id=1]

Basic DC motor control robot code – Raspberry Pi

9th December 2014

Raspberry-Pi

Raspberrypi - Codehaven


# left forward 18
# left backward 22
# right forward 17
# right forward 23

# Let's import the modules we will need!
import time
import RPi.GPIO as GPIO
# Next we setup the pins for use!
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(23,GPIO.OUT)
GPIO.setup(17,GPIO.OUT)
GPIO.setup(22,GPIO.OUT)
GPIO.setup(18,GPIO.OUT)
print('Starting motor sequence!')

def forward():
GPIO.output(18, False)
GPIO.output(22, False)
GPIO.output(23, True)
GPIO.output(17, True)
time.sleep(1)

def backward():
GPIO.output(23, False)
GPIO.output(17, False)
GPIO.output(18, True)
GPIO.output(22, True)
time.sleep(1)

def turnleft():
GPIO.output(23, False)
GPIO.output(17, True)
GPIO.output(18, True)
GPIO.output(22, False)
time.sleep(0.5)

def turnright():
GPIO.output(23, True)
GPIO.output(17, False)
GPIO.output(18, False)
GPIO.output(22, True)
time.sleep(0.5)

def stop():
GPIO.output(23, False)
GPIO.output(17, False)
GPIO.output(22, False)
GPIO.output(18, False)

while True:
try:
choice = input("INPUT..")
if choice == 1:
print "Going Forwards"
forward()
stop()

elif choice == 2:
print ("Going Backwards")
backward()
stop()

elif choice == 3:
print ("Turn Left")
turnleft()
stop()

elif choice == 4:
print ("Turn Right")
turnright()
stop()

except(KeyboardInterrupt):
# If a keyboard interrupt is detected then it exits cleanly!
print('Finishing up!')
GPIO.output(23, False)
GPIO.output(17, False)
GPIO.output(22, False)
GPIO.output(18, False)
quit()