前言
-
今天来学习如何点亮BPI-BIT开发板上的LED面板。
-
下面示例会用到Adafruit_NeoPixel库,我们需要在platformIO上进行库函数的下载。
操作环境
-
测试使用的开发板: bpi-bit v1.2
-
应用到的外设: WS2812b
-
测试使用的软件: vscode上的插件platformIO
矩阵LED灯
1.首先我们了解矩阵LED灯的定义。
Web:Bit 按照 5 * 5 排列方式焊接了 25 颗(编号 0 ~ 24 ) 1600 万色矩阵 LED (WS2812) ,所有的 LED 的控制仅使用一个引脚 (GPIO 4) 即可控制。
2.内置传感器的定义。
3.总结:由以上资料,我们可以知道要使用全彩LED矩阵,我们只需要使用引脚GPIO4,便可以点亮我们的全彩LED矩阵灯。
库函数搜索
1.首先我们在platformIO上的库函数搜索界面中安装我们所需要的Adafruit_NeoPixel库。
2.点击安装后回到我们的main.cpp文件中来编写程序。
示例代码及解析
#include <Arduino.h>
#include <Adafruit_NeoPixel.h> //调用Adafruit_NeoPixel库函数
#define PIN 4 //通过上面的全彩LED矩阵的资料,我们宏定义引脚为4。
Adafruit_NeoPixel strip = Adafruit_NeoPixel(25,PIN,NEO_GRB + NEO_KHZ800);//要先声明一个NeoPixel对象strip,然后才能通过该对象控制彩带上的LED
//解析Adafruit_NeoPixel(a,b,c)函数内形参的含义
//1.a代表彩带上LED的数目,每个LED也称为一个像素。(我们使用的LED为25个)。
//2.b代表首个LED连接单片机的引脚号。
//3.c代表全彩LED的型号和参数。
void setup() {
strip.begin();
strip.setBrightness(20);//彩带中LED的整体亮度可以用setBrightness()进行调整,该方法只需一个参数,0为关闭,255为最大亮度。
strip.show();
}
void loop() {
strip.setPixelColor(2,0,0,255);//设置彩带中各像素的颜色。
//解析setPixelColor(a,b,c,d)函数内形参的含义。
//1.a表示彩带中LED的编号,最接近单片机引脚的编号为0
//2.接下来的三个参数(b,c,d)描述像素颜色,分别表示红色、绿色和蓝色的亮度级别,0为最暗,255是最大亮度。
strip.show();//其功能是将数据推送到LED并显示
delay(1000);
}
效果图
总结
通过上面的学习,我们还可以自己编写一些小的应用来丰富我们的全彩LED矩阵。