安装方式

前进

后退

水平左移

水平右移



1 没有pwm的控制基本运动
- 前后左右
- 原地左右转
- 水平左右移动
import cv2
import numpy as np
import time
import time
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
# 由于硬件引脚链接电机驱动正反,位置不一样,实际需要逐个测试,输入对应正确引脚
pinLQ1=26 # 左前电机引脚1
pinLQ2=19 # 左前电机引脚2
pinRQ1=20 # 右前电机引脚1
pinRQ2=21 # 右前电机引脚2
pinLH1=6 # 左后电机引脚1
pinLH2=5 # 左后电机引脚2
pinRH1=12 # 右后电机引脚1
pinRH2=16 # 右后电机引脚2
GPIO.setup(pinLQ1, GPIO.OUT) #设置脚为输出模式
GPIO.setup(pinLQ2, GPIO.OUT) #设置脚为输出模式
GPIO.setup(pinRQ1, GPIO.OUT) #设置脚为输出模式
GPIO.setup(pinRQ2, GPIO.OUT) #设置脚为输出模式
GPIO.setup(pinLH1, GPIO.OUT) #设置脚为输出模式
GPIO.setup(pinLH2, GPIO.OUT) #设置脚为输出模式
GPIO.setup(pinRH1, GPIO.OUT) #设置脚为输出模式
GPIO.setup(pinRH2, GPIO.OUT) #设置脚为输出模式
#停止
def stop(time1):
print ("stop")
GPIO.output(pinLQ1, GPIO.LOW) # A停止
GPIO.output(pinLQ2, GPIO.LOW) #灭
GPIO.output(pinRQ1, GPIO.LOW) # B停止
GPIO.output(pinRQ2, GPIO.LOW) #灭
GPIO.output(pinLH1, GPIO.LOW) # A停止
GPIO.output(pinLH2, GPIO.LOW) #灭
GPIO.output(pinRH1, GPIO.LOW) # B停止
GPIO.output(pinRH2, GPIO.LOW) #灭
time.sleep(time1) #延时 秒
#左测前轮前进
def LQGO(move):
if move==1:#前进
GPIO.output(pinLQ1, 1) # A往前转
GPIO.output(pinLQ2, 0) #灭
else:#后退
GPIO.output(pinLQ1, 0) # A往前转
GPIO.output(pinLQ2, 1) #灭
#time.sleep( time) #延时 秒
#左侧后轮前进
def LHGO(move):
if move==1:#前进
GPIO.output(pinLH1, 1) # A往前转
GPIO.output(pinLH2, 0) #灭
else:
GPIO.output(pinLH1, 0) # A往前转
GPIO.output(pinLH2, 1) #灭
#time.sleep( time) #延时 秒
#右侧前轮前进
def RQGO(move):
if move==1:#前进
GPIO.output(pinRQ1, 1) # A往前转
GPIO.output(pinRQ2, 0) #灭
else:
GPIO.output(pinRQ1, 0) # A往前转
GPIO.output(pinRQ2, 1) #灭
#右侧后轮前进
def RHGO(move):
if move==1:#前进
GPIO.output(pinRH1, 1) # A往前转
GPIO.output(pinRH2, 0) #灭
else:
GPIO.output(pinRH1, 0) # A往前转
GPIO.output(pinRH2, 1) #灭
#原地旋转左
def turn_right(Gtime):
print ("turn_right")
LQGO(1)
LHGO(0)
RQGO(1)
RHGO(0)
time.sleep(Gtime) #延时 秒
#水平向右
def right_go(Gtime):
print ("turn_right")
LQGO(1)
LHGO(0)
RQGO(0)
RHGO(1)
time.sleep(Gtime) #延时 秒
#原地左转
def tuen_left(Gtime):
print ("tuen_left")
LQGO(0)
LHGO(1)
RQGO(0)
RHGO(1)
time.sleep(Gtime) #延时 秒
#水平左移动
def left_go(Gtime):
print ("tuen_left")
LQGO(0)
LHGO(1)
RQGO(1)
RHGO(0)
time.sleep(Gtime) #延时 秒
#前进
def go(Gtime):
print ("go_qian")
LQGO(1)
LHGO(1)
RQGO(1)
RHGO(1)
time.sleep(Gtime) #延时 秒
#后退
def back(Gtime):
print ("turn_back")
LQGO(0)
LHGO(0)
RQGO(0)
RHGO(0)
time.sleep(Gtime) #延时 秒
#运动测试
def move_test():
stop(1)
#go(0.5)
#back(0.5)
#turn_right(0.5)
#tuen_left(0.5)
#left_go(0.5)
#right_go(0.5)
#time.sleep( 3) #延时 秒
stop(1)
move_test()
浙公网安备 33010602011771号