Explains terms and function uses in Alphabot Class (AlphaBot2.py) ---------------------------------------------------------------- def __init__(self,ain1=20,ain2=21,ena=6,bin1=12,bin2=13,enb=26): self.AIN1 = ain1 self.AIN2 = ain2 self.BIN1 = bin1 self.BIN2 = bin2 self.ENA = ena self.ENB = enb self.PA = 15 self.PB = 15 self.PA = 15 self.PB = 15 Sets default value of speed to 15 Calibrates individual parts of robot ---------------------------------------------------------------- def forward(self): self.PWMA.ChangeDutyCycle(self.PA) self.PWMB.ChangeDutyCycle(self.PB) GPIO.output(self.AIN1,GPIO.LOW) GPIO.output(self.AIN2,GPIO.HIGH) GPIO.output(self.BIN1,GPIO.LOW) GPIO.output(self.BIN2,GPIO.HIGH) forward() Robot moves forward at default speed when called ---------------------------------------------------------------- def stop(self): self.PWMA.ChangeDutyCycle(0) self.PWMB.ChangeDutyCycle(0) GPIO.output(self.AIN1,GPIO.LOW) GPIO.output(self.AIN2,GPIO.LOW) GPIO.output(self.BIN1,GPIO.LOW) GPIO.output(self.BIN2,GPIO.LOW) stop() Stops robot when called ---------------------------------------------------------------- def backward(self): self.PWMA.ChangeDutyCycle(self.PA) self.PWMB.ChangeDutyCycle(self.PB) GPIO.output(self.AIN1,GPIO.HIGH) GPIO.output(self.AIN2,GPIO.LOW) GPIO.output(self.BIN1,GPIO.HIGH) GPIO.output(self.BIN2,GPIO.LOW) backward() Robot moves backward at default speed when called ---------------------------------------------------------------- def left(self): self.PWMA.ChangeDutyCycle(25) self.PWMB.ChangeDutyCycle(25) GPIO.output(self.AIN1,GPIO.HIGH) GPIO.output(self.AIN2,GPIO.LOW) GPIO.output(self.BIN1,GPIO.LOW) GPIO.output(self.BIN2,GPIO.HIGH) left() Robot turns left when called ---------------------------------------------------------------- def right(self): self.PWMA.ChangeDutyCycle(25) self.PWMB.ChangeDutyCycle(25) GPIO.output(self.AIN1,GPIO.LOW) GPIO.output(self.AIN2,GPIO.HIGH) GPIO.output(self.BIN1,GPIO.HIGH) GPIO.output(self.BIN2,GPIO.LOW) right() Robot turns right when called ---------------------------------------------------------------- def setPWMA(self,value): self.PA = value self.PWMA.ChangeDutyCycle(self.PA) Sets all speeds on A to value (int) setPWMA(15) Sets all speeds on A to 15 ---------------------------------------------------------------- def setPWMB(self,value): self.PB = value self.PWMB.ChangeDutyCycle(self.PB) Sets all speeds on B to value (int) setPWMB(15) Sets all speeds on B to 15 ---------------------------------------------------------------- def setMotor(self, left, right): if((right >= 0) and (right <= 100)): GPIO.output(self.AIN1,GPIO.HIGH) GPIO.output(self.AIN2,GPIO.LOW) self.PWMA.ChangeDutyCycle(right) elif((right < 0) and (right >= -100)): GPIO.output(self.AIN1,GPIO.LOW) GPIO.output(self.AIN2,GPIO.HIGH) self.PWMA.ChangeDutyCycle(0 - right) if((left >= 0) and (left <= 100)): GPIO.output(self.BIN1,GPIO.HIGH) GPIO.output(self.BIN2,GPIO.LOW) self.PWMB.ChangeDutyCycle(left) elif((left < 0) and (left >= -100)): GPIO.output(self.BIN1,GPIO.LOW) GPIO.output(self.BIN2,GPIO.HIGH) self.PWMB.ChangeDutyCycle(0 - left) Sets given values to left and right motors (int) setMotor(15, 20) Sets 15 to left motor and 20 to right motor ----------------------------------------------------------------