实验一:树莓派平台-------七彩探照灯
1、实验前准备
图1-1 树莓派Pi3主控板
图1-2七彩探照灯模块
2、实验目的
SSH远程登录树莓派后,运行七彩灯可执行程序,循环显示7种不同颜色的灯。
3、实验原理
树莓派的强大不仅在于它是一个卡式电脑,更重要的是引出的GPIO,可以通过编程使GPIO管脚输出高低电平。
所谓的RGB三色灯和普通的LED灯其实没有什么不同,只是在封装上,RGB灯内封装了三个LED(红,绿,蓝),通过控制三种LED亮度(256种亮度级别可选),可以混合出不同的颜色(256*256*256)。
由电路原理图可知,本实验中采用的RGB LED灯是共阴LED,一个引脚接地,其余的三个RGB引脚分别接在树莓派主控板上的wiringPi编码3,2,5引脚上.同时每个LED灯需要串联一个220欧的电阻作为限流电阻,我们只需在树莓派主控板上控制相应的引脚为高电平,即可点亮相应的LED。
4、实验步骤
4-1.看懂原理图
图4-1 树莓派电路图
图4-2 RGB LED灯
图4-3 树莓派40PIN引脚对照表
4-2 由电路原理图可以知道相应的连接电路,LED_R连接到主控板上的物理引脚15口对应的wiringPi编码的引脚为3,LED_G和LED_B分别接在主控板上的物理引脚为13和18口,对应于wiringPi编码的引脚为2,5。(以后的代码中我们只会显示对应的wiringPi编码的引脚)
LED_R--------- 3(wiringPi)
LED_G--------- 2(wiringPi)
LED_B--------- 5(wiringPi)
注:我们在编写程序采用的是wiringPi库,有关这个库的详细情况,见树莓派软件与文档文件夹。
4-3 程序代码如下:
编译之前先使用gpio readall查看引脚的模式和电平状态变化。
我们先在树莓派系统中编译该文件。注意需要加上-lwiringPi 连接到库文件。
/*先进入到SmartCar文件夹*/
① cd SmartCar
/*运行编译*/
② gcc ColorLED.c -o ColorLED -lwiringPi
/*即可看到我们的七彩灯模块的led点亮了*/
③ ./ColorLED
此时再次查看gpio的状态:
gpio readall
相应的管脚的电平和模式已经改变了。
需要停止时我们通过ctrl+c,表示向linux内核发送一个终止当前进程的信号,但是此时相关的引脚的状态是不确定的,我们还需要运行一个初始化引脚的脚本对所有引脚初始化。直接运行SmartCar目录下的initpin.sh脚本完成引脚初始化。
首先改变initpin.sh的文件权限:
① chmod 777 initpin.sh
初始化管脚:
② ./initpin.sh