展示广告在市场营销中起着非常重要的作用,有几种方法,例如报纸,海报,发光招牌等,但是数字LED显示板由于其可靠性和优势而在当今变得越来越流行。尽管它们有点贵,但它们还是耐用且可定制的,例如可以随时根据需要轻松更改广告文字,也可以在任何公共场所用作数字公告板。以前我们使用8x8 LED矩阵和许多电路板来控制在其上面显示的文本,今天我们将在Arduino上使用P10显示器。
在本教程中,我们将使用32x16 LED点矩阵显示模块(也称为P10 LED显示模块)通过Arduino UNO显示滚动文本。P10模块可以级联以构建任何尺寸的广告板。
所需组件
- Arduino UNO-1
- 32 * 16 P10 LED显示模块-1
- 16针FRC连接器-1
- 5V DC,3安培SMPS
- 连接器
P10 LED矩阵模块的工作
甲 P10 LED显示模块是最适合室外或室内LED显示电路板的任何尺寸设计。该面板在塑料外壳上安装了总共512个高亮度LED,以实现最佳显示效果。可以将任何数量的此类面板组合成任何行和列结构,以设计出有吸引力的LED招牌。
32 * 16模块尺寸表示每行有32个LED,每列有16个LED。因此,每个模块单元中总共有512个LED。
P10 LED矩阵模块的功能:
- 亮度:3500-4500nits
- 最大功耗:20W
- 电压输入:DC 5V
- IP65防水
- 1W像素配置
- 高视角
- 高对比度
P10显示模块的引脚说明:
- 使能:此引脚用于通过向其提供PWM脉冲来控制LED面板的亮度。
- A,B:这些称为复用选择引脚。他们采用数字输入来选择任何多路复用行。
- 移位时钟(CLK),存储时钟(SCLK)和数据:这些是常规移位寄存器控制引脚。这里使用了移位寄存器74HC595。
电路原理图
下面给出了带有Arduino的P10模块的完整电路图:
Arduino UNO和P10显示模块按照引脚映射进行互连,如下所示:
P10 LED模组 |
Arduino UNO |
启用 |
9 |
一种 |
6 |
乙 |
7 |
时钟 |
13 |
时钟 |
8 |
数据 |
11 |
地线 |
地线 |
注意:将P10模块的电源端子分别连接到5V DC SMPS。建议将5V,3 Amp直流电源连接到单个P10 LED模块。如果您打算连接更多数量的模块,请相应地提高SMPS等级。
使用Arduino的P10 LED模块编程
成功完成硬件设置后,现在该对Arduino进行编程了。本教程的结尾给出了此10 LED Display Arduino的完整代码以及视频。该代码的逐步说明如下。
首先,在程序中 包含所有依赖库 。在这里,我们使用 “ DMD.h” 库进行P10 led操作,从此处下载此库并将其安装在Arduino IDE中。之后,包括“ TimerOne.h ”库,该库将用于中断任务。可以从这里下载该库。
然后,包括所有必需的字体库,在本例中,我们将“ Arial Black字体”用于显示。
#包括
在下一步中,定义LED显示板的行数和列数。在本例中,我们仅使用一个模块,因此ROW值和COLUMN值将为1。然后为在显示板上滚动的文本定义字体名称 Arial_Black_16 。
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module(ROW,COLUMN);
函数 scan_module() 用于检查通过SPI端子从Arduino端传入的任何数据。如果是,那么它将触发一个中断引脚来执行某些事件。
无效的scan_module(){led_module.scanDisplayBySPI(); }
在 setup() 内部 , 初始化计时器并将中断附加到函数 scan_module 。函数clearScreen(true)用于设置所有像素最初都处于关闭状态以清除显示板。
void setup(){Timer1.initialize(2000); Timer1.attachInterrupt(scan_module); led_module.clearScreen(true); }
接着,在该模块中显示一个字符串,选择使用字体 selectFont() 函数和打印一个字符串信息“ 欢迎到电路文摘 使用在显示” drawMarquee()函数。
led_module.selectFont(FONT); led_module.drawMarquee(“欢迎使用电路摘要”,25,(32 * ROW),0);
最后,要在LED显示板上滚动文本,请在一定时间范围内将整个消息从右向左移动。
长的开始= millis(); 长时间的计时=开始;布尔标志=假; while(!flag){if((timing + 20)<millis()){flag = led_module.stepMarquee(-1,0); timming = millis(); }}
因此,这就是使用Arduino和LED矩阵制作滚动文本招牌的方法。
完整的代码和演示视频如下。