使用BPI-BIT上的全彩LED矩阵


#1

前言

  • 今天来学习如何点亮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.内置传感器的定义。

table

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);
}

效果图

TIM%E6%88%AA%E5%9B%BE20190929180600

总结

通过上面的学习,我们还可以自己编写一些小的应用来丰富我们的全彩LED矩阵。


#2

为什么要用 Adafruit_NeoPixel库,这两个单词都是什么意义呢?还有,点亮单个LED不好玩,要流水、呼吸以及渐变这种才好玩哦。