Skip to content

Instantly share code, notes, and snippets.

@bsautner
Created April 11, 2023 15:08
Show Gist options
  • Save bsautner/69ee20cf7abb828a62117c258f7f1e66 to your computer and use it in GitHub Desktop.
Save bsautner/69ee20cf7abb828a62117c258f7f1e66 to your computer and use it in GitHub Desktop.
python to make a bot run around
import time
import math as m
import socket
import RPi.GPIO as GPIO
# import RPi.GPIO
pin_motor_1_a = 21 # GPOIO38
pin_motor_1_b = 20 # GPIO40
pin_motor_2_a = 18 # GPIO12
pin_motor_2_b = 23 # GPIO16
speed = 35
def stop():
print("stop")
motor_a[0].ChangeDutyCycle(0)
motor_a[1].ChangeDutyCycle(0)
motor_b[0].ChangeDutyCycle(0)
motor_b[1].ChangeDutyCycle(0)
def forward():
stop()
print("foward")
motor_b[0].ChangeDutyCycle(speed+20)
motor_b[1].ChangeDutyCycle(0)
def reverse():
stop()
print("reverse")
motor_b[0].ChangeDutyCycle(0)
motor_b[1].ChangeDutyCycle(speed+20)
def left():
stop()
print("left")
motor_a[0].ChangeDutyCycle(0)
motor_a[1].ChangeDutyCycle(speed)
def right():
stop()
print("right")
motor_a[0].ChangeDutyCycle(speed)
motor_a[1].ChangeDutyCycle(0)
if __name__ == '__main__':
print("ok 2")
print(m.pi)
print(socket.gethostname())
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin_motor_1_a, GPIO.OUT)
GPIO.setup(pin_motor_1_b, GPIO.OUT)
motor_1_f = GPIO.PWM(pin_motor_1_a, 1000)
motor_1_r = GPIO.PWM(pin_motor_1_b, 1000)
motor_1_f.start(0)
motor_1_r.start(0)
motor_a = [motor_1_f, motor_1_r]
GPIO.setup(pin_motor_2_a, GPIO.OUT)
GPIO.setup(pin_motor_2_b, GPIO.OUT)
motor_2_f = GPIO.PWM(pin_motor_2_a, 2000)
motor_2_r = GPIO.PWM(pin_motor_2_b, 2000)
motor_2_f.start(0)
motor_2_r.start(0)
motor_b = [motor_2_f, motor_2_r]
time.sleep(1)
forward()
time.sleep(2)
left()
time.sleep(2)
reverse()
time.sleep(2)
right()
time.sleep(2)
print("done")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment