目录
0.树莓派 wifi小车制作(0)总览
1.树莓派 wifi小车制作(1)获取手柄按键输入
2. 树莓派 wifi小车制作(2)搭建网络摄像头
3.树莓派 wifi小车制作(3)小车移动控制模块
4.树莓派wifi小车制作(4)舵机云台控制
5.树莓派 wifi小车制作(5)socket通讯连接PC与树莓派
6.树莓派wifi小车制作(6)wifi小车大功告成(附源码)
序言
这里其实应该要贴上小车的接线图的……但是太乱了……不是很想弄,以后再说
正文
car_control.py
#!/home/pi/server
# coding=utf-8
import RPi.GPIO as GPIO
import time
PWMA = 18
AIN1 = 22
AIN2 = 27
PWMB = 23
BIN1 = 25
BIN2 = 24
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(AIN2,GPIO.OUT)
GPIO.setup(AIN1,GPIO.OUT)
GPIO.setup(PWMA,GPIO.OUT)
GPIO.setup(BIN1,GPIO.OUT)
GPIO.setup(BIN2,GPIO.OUT)
GPIO.setup(PWMB,GPIO.OUT)
L_Motor= GPIO.PWM(PWMA,100)
L_Motor.start(0)
R_Motor = GPIO.PWM(PWMB,100)
R_Motor.start(0)
def L_motor_control(speed):
if speed>0:
L_Motor.ChangeDutyCycle(speed)
GPIO.output(AIN2,False)#AIN2
GPIO.output(AIN1,True) #AIN1
else:
L_Motor.ChangeDutyCycle(-speed)
GPIO.output(AIN2,True)#AIN2
GPIO.output(AIN1,False) #AIN1
def R_motor_control(speed):
if speed>0:
R_Motor.ChangeDutyCycle(speed)
GPIO.output(BIN2,False)#AIN2
GPIO.output(BIN1,True) #AIN1
else:
R_Motor.ChangeDutyCycle(-speed)
GPIO.output(BIN2,True)#AIN2
GPIO.output(BIN1,False) #AIN1
def car_up(speed,t_time):
L_motor_control(speed)
R_motor_control(speed)
time.sleep(t_time)
def car_move(l_speed,r_speed,t_time):
L_motor_control(l_speed)
R_motor_control(r_speed)
time.sleep(t_time)
def car_stop(t_time):
L_motor_control(0)
R_motor_control(0)
time.sleep(t_time)
def main():
try:
while True:
for i in range(5):
for j in range(5):
print("l speed = ",i*10-20," r speed = ",j*10-20)
car_move(i*10-20,j*10-20,1)
car_stop(3)
except KeyboardInterrupt:
GPIO.cleanup()
如何运行
手动加
main()
然后运行就好