实验四:树莓派平台-------舵机旋转控制七彩探照灯
1、实验前准备
图1-1 树莓派主控板
图1-2 SG90舵机
图1-3 七彩灯模块
2、实验目的
ssh服务登录树莓派系统之后,编译运行舵机旋转控制七彩探照灯实验后,先延时0.5s,调用舵机旋转控制七彩灯,当舵机转到相应的角度的时候,改变LED的颜色即可。
3、实验原理
舵机工作原理:控制信号由接收机的通道进入信号调制芯片,获得直流的偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速此轮带动电位器旋转,使得电压差为0,电机停止转动。
舵机的控制:一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分。本次实验的采用的舵机是180度伺服,控制关系如下:
0.5ms-----------------0度
1.0ms-----------------45度
1.5ms-----------------90度
2.0ms-----------------135度
2.5ms-----------------180度
另外关于七彩灯的原理请见实验一。
4、实验步骤
4-1.看懂原理图
图4-1 树莓派主控板电路图
图4-2 RGB三色灯 图4-3 舵机
图4-4 树莓派40pin引脚对照表
注:舵机SG90需连接到舵机接口J1上方可进行实验。
4-2 由电路原理图可以知道相应的连接电路,LED_R连接到主控板上的物理引脚15口对应的wiringPi编码的引脚为3,LED_G和LED_B分别接在主控板上的物理引脚为13和18口,对应于wiringPi编码的引脚为2,5。舵机J1对应的wiringPi编码管脚为4.
LED_R--------- 3(wiringPi)
LED_G--------- 2(wiringPi)
LED_B--------- 5(wiringPi)
J1------------ 4(wiringPi)
4-3 程序代码见源文件:
输入:
① cd SmartCar //进入到SmartCar文件夹
② gcc ServoControlCorlor.c -o ServoControlCorlor -lwiringPi -lpthread //编译生成可执行文件
③ ./ServoControlCorlor
接着
④ ./initpin.sh //初始化引脚