DcMortor
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
ina1 = 33
ina2 = 35
ena = 37
inb1 = 31
inb2 = 29
enb = 23
GPIO.setup(ina1,GPIO.OUT)
GPIO.setup(ina2,GPIO.OUT)
GPIO.setup(ena,GPIO.OUT)
GPIO.setup(inb1,GPIO.OUT)
GPIO.setup(inb2,GPIO.OUT)
GPIO.setup(enb,GPIO.OUT)
pa=GPIO.PWM(ena,1000)
pa.start(25)
pb=GPIO.PWM(enb,1000)
pb.start(25)
print("\n")
print("The default speed & direction of motor is LOW & Forward.....")
print("r-run s-stop f-forward b-backward l-low m-medium h-high e-exit")
print("\n")
while(1):
x=input("")
# a -----
if x=='ar':
print("a run")
if(temp1==1):
GPIO.output(ina1,GPIO.HIGH)
GPIO.output(ina2,GPIO.LOW)
print("a forward")
x='z'
else:
GPIO.output(ina1,GPIO.LOW)
GPIO.output(ina2,GPIO.HIGH)
print("a backward")
x='z'
elif x=='as':
print("a stop")
GPIO.output(ina1,GPIO.LOW)
GPIO.output(ina2,GPIO.LOW)
x='z'
elif x=='af':
print("a forward")
GPIO.output(ina1,GPIO.HIGH)
GPIO.output(ina2,GPIO.LOW)
temp1=1
x='z'
elif x=='ab':
print("a backward")
GPIO.output(ina1,GPIO.LOW)
GPIO.output(ina2,GPIO.HIGH)
temp1=0
x='z'
# a -----
# b -----
if x=='br':
print("b run")
if(temp2==1):
GPIO.output(inb1,GPIO.HIGH)
GPIO.output(inb2,GPIO.LOW)
print("forward")
x='z'
else:
GPIO.output(inb1,GPIO.LOW)
GPIO.output(inb2,GPIO.HIGH)
print("backward")
x='z'
elif x=='bs':
print("b stop")
GPIO.output(inb1,GPIO.LOW)
GPIO.output(inb2,GPIO.LOW)
x='z'
elif x=='bf':
print("b forward")
GPIO.output(inb1,GPIO.HIGH)
GPIO.output(inb2,GPIO.LOW)
temp2=1
x='z'
elif x=='bb':
print("b backward")
GPIO.output(inb1,GPIO.LOW)
GPIO.output(inb2,GPIO.HIGH)
temp2=0
x='z'
# b -----
elif x=='al':
print("a low")
pa.ChangeDutyCycle(25)
x='z'
elif x=='am':
print("a medium")
pa.ChangeDutyCycle(50)
x='z'
elif x=='ah':
print("a high")
pa.ChangeDutyCycle(75)
x='z'
elif x=='bl':
print("b low")
pb.ChangeDutyCycle(25)
x='z'
elif x=='bm':
print("b medium")
pb.ChangeDutyCycle(50)
x='z'
elif x=='bh':
print("b high")
pb.ChangeDutyCycle(75)
x='z'
elif x=='e':
GPIO.cleanup()
break
else:
print("<<< wrong data >>>")
print("please enter the defined data to continue.....")