4.点亮RGB灯

您当前位置: 首页 > 树莓派散热扩展板 > 树莓派散热扩展板(C语言)

树莓派智能贴身管家需要正确插入到树莓派的GPIO口上,并且打开树莓派的I2C功能。

本次实验现象为设置所有RGB灯的颜色为绿色。

 

一、文件传输(已经有文件可以忽略此步骤)

1. 电脑端安装WinSCP工具,连接树莓派后把资料中下载的temp_control.zip压缩包传到树莓派的pi目录下。树莓派与win电脑传输文件的方法请参考:

https://www.yahboom.com/build.html?id=2631&cid=308

image.png

2.解压文件

打开树莓派的终端,找到刚刚传进树莓派的temp_control.zip文件

image.png

输入以下命令解压

unzip temp_control.zip

image.png

 

二、编译和运行程序

1.进入文件夹并查看当前文件夹下的文件

cd temp_control/

ls

image.png

2.编译程序文件

gcc -o rgb rgb.c -lwiringPi

image.png

其中,调用gcc编译器,-o表示生成文件,后面加生成的文件名,rgb.c是源程序,-lwiringPi是引用树莓派的wiringPi库。

3.运行程序

./rgb

image.png

此时可以看到三个RGB灯同时亮绿色。

 

三、代码解读

1.智能贴身管家板子上有三个RGB灯,所以定义灯的数量为3,声明setRGB和closeRGB函数。

image.png

2. void setRGB(int num, int R, int G, int B)函数:

设置RGB灯颜色,num指的是哪个灯,0为第一个灯,1为第二个灯,2为第三个灯,如果大于等于3,则所有灯同时设置。R,G,B值的取值范围都为0~255。

image.png

 

3.关闭RGB,根据协议可知,关闭RGB的寄存器为0x07,数据为0x00。

image.png

4.在main函数里初始化I2C配置。

image.png

5.先关闭RGB灯,再设置RGB灯,如果不先关闭的话,有时候会影响到显示的效果。setRGB的效果可以自己设置,这里以所有灯亮绿色为例。

image.png