实验三:树莓派平台-------小车前进后退左右综合实验
1、实验前准备
图1-1 树莓派主控板
图1-2 4个直流减速电机
2、实验目的
ssh服务登录树莓派系统之后,编译运行小车前进后退左右实验后,先延时2s,前进1s,后退1s,左转2s,右转2s,原地左转3s,原地右转3s,停止0.5s,并且一直循环下去。
3、实验原理
对于4路直流减速电机的控制我们采用的是TB6612FNG驱动芯片来驱动电机。通过控制驱动芯片的AIN1,AIN2,BIN1,BIN2,PWMA,PWMB的电平高低来控制电机的正转,反转,停止。本次实验主要是控制AIN1,AIN2,BIN1,BIN2的电平状态,进而通过控制PWMA,PWMB在0-255之间控制小车的速度。一路PWM控制小车一侧电机的速度。
4、实验步骤
4-1.看懂原理图
图4-1 树莓派主控板电路图
图4-2 电机驱动芯片TB6612FNG
图4-3 树莓派40PIN引脚对照表
4-2 由电路原理图可知AIN1,AIN2,PWMA,BIN1,BIN2,PWMB分别接在树莓派主控板上的40,38,36,37,35,33物理引脚上。
AIN1-----40----29(wiringPi编码)
AIN2-----38----28(wiringPi编码)
PWMA-----36----27(wiringPi编码)
BIN1-----37----25(wiringPi编码)
BIN2-----35----24(wiringPi编码)
PWMB-----33----23(wiringPi编码)
图4-4 引脚控制逻辑表
4-3 程序代码如下:
注:因为树莓派的40pin均可作为普通的GPIO口来使用,想用到PWM,则需要用到wiringPi中的软件PWM库。可以在任意的树莓派GPIO上输出PWM信号。使用前需包含相应的头文件:
#include
#include
当编译程序时,必须加上pthread库,如下:
gcc advance.c -o advance -lwiringPi -lpthread
具体详情见树莓派软件与文档文件夹中的wiringPi用户手册!
输入:
① cd SmartCar
② gcc CarRun.c -o CarRun -lwiringPi -lpthread
③ ./CarRun
接着执行
④ ./initpin.sh初始化引脚。