1、七彩探照灯

您当前位置: 首页 > 树莓派-4WD小车 > 编程语言视频教学

C语言_wiringPi版本程序下载

ColorLED.c  点击下载

Python语言_版本程序下载

ColorLED.py  点击下载

实验一:树莓派平台-------七彩探照灯

 

1、实验前准备

blob.png

1-1 树莓派Pi3主控板                                                                               

blob.png

 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.看懂原理图

blob.png

 

                        图4-1 树莓派电路图

blob.png

4-2  RGB LED

blob.png

图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 程序代码如下:

 

blob.png

blob.png

编译之前先使用gpio readall查看引脚的模式和电平状态变化。

blob.png

我们先在树莓派系统中编译该文件。注意需要加上-lwiringPi 连接到库文件。

blob.png

/*先进入到SmartCar文件夹*/ 

① cd SmartCar 

/*运行编译*/   

② gcc ColorLED.c -o ColorLED -lwiringPi  

/*即可看到我们的七彩灯模块的led点亮了*/ 

③ ./ColorLED    

此时再次查看gpio的状态:

gpio readall

blob.png

相应的管脚的电平和模式已经改变了。

需要停止时我们通过ctrl+c,表示向linux内核发送一个终止当前进程的信号,但是此时相关的引脚的状态是不确定的,我们还需要运行一个初始化引脚的脚本对所有引脚初始化。直接运行SmartCar目录下的initpin.sh脚本完成引脚初始化。

  首先改变initpin.sh的文件权限:

  ① chmod 777 initpin.sh

 初始化管脚:

  ② ./initpin.sh