|
展示广告牌在市场营销中起着非常重要的作用,有很多种广告方法,例如报纸、海报、发光招牌等。但是,由于数字LED显示板的可靠性和优势,如今它正变得越来越流行。尽管它们有点贵,但它们还是耐用且可定制的,例如可以随时根据需要轻松更改广告文字,也可以在任何公共场所用作数字公告板。今天我们将在Arduino上使用P10显示模块显示文本。
在本篇文章中,我们将使用32x16 LED点阵显示模块(也称为P10 LED显示模块)通过Arduino UNO显示滚动文本。 P10模块可以级联以制作任何尺寸的广告板。
所需的组件 ● Arduino UNO开发板 ● 32 * 16 P10 LED显示模块 ● 16针FRC连接器 ● 5V DC ● 连接器
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显示模块的引脚说明:
● Enable:此引脚用于通过向其提供PWM脉冲来控制LED面板的亮度。 ● A、B:这些称为复用选择引脚。他们采用数字输入来选择任何多路复用行。 ● Shift clock (CLK)、Store clock (SCLK) 和Data:这些是常规移位寄存器控制引脚。这里使用了移位寄存器74HC595。
连接电路图 下面给出了使用Arduino的P10模块的完整电路图:
Arduino UNO和P10显示模块根据引脚连接,实物连接如下所示:
使用Arduino的P10 LED模块编程 成功完成硬件设置后,现在该对Arduino进行编程了。本文末尾给出了完整代码。该代码的说明如下。
首先,在程序中包含所有依赖库。在这里,我们使用“ DMD.h”库进行P10 led操作,从此处下载此库并将其安装在Arduino IDE中。之后,包括“ TimerOne.h”库,该库将用于中断任务。可以从这里下载该库。
然后,包括所有必需的字体库,在本例中,我们将“ Arial Black字体”用于显示。 - #include <SPI.h>
- #include <DMD.h>
- #include <TimerOne.h>
- #include "SystemFont5x7.h"
- #include "Arial_black_16.h"
复制代码在下一步中,定义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端传入的任何数据。如果有数据,那么它将触发一个中断引脚来执行某些事件。 - void 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()函数在显示屏中显示字符串消息“ Welcome to display led”。 - led_module.selectFont(FONT);
- led_module.drawMarquee("<span style="text-indent: 28px; background-color: rgb(255, 255, 255);">Welcome to display led</span>",25, (32 * ROW), 0);
复制代码最后,要在LED显示板上滚动文本,每隔一定时间间隔将整个消息从右移到左。 - long start = millis();
- long timming = start;
- boolean flag = false;
- while (!flag)
- {
- if ((timming + 20) < millis())
- {
- flag = led_module.stepMarquee(-1, 0);
- timming = millis();
- }
- }
复制代码
以上就是使用Arduino和LED点阵屏制作滚动文本广告牌的方法。
代码 以下是本文使用的完整的代码:
main.rar
(488 Bytes, 下载次数: 188)
|