展示广告在营销中发挥了非常重要的作用,并且有几种广告方法,例如报纸,海报,发光招牌等。但是,由于其可靠性和优势,数字LED显示板如今越来越受欢迎。尽管它们有些昂贵,但它们仍然耐用且可定制,就像在需要时可以轻松更改广告文本,并且也可以在任何公共场所用作数字通知板。
在本教程中,我们将使用32x16 LED点矩阵显示模块,该模块也称为P10 LED显示模块,使用Arduino Uno显示滚动文本。可以将P10模块级联成构建广告板的任何规模。
所需组件
Arduino UNO-1
32*16 P10 LED显示模块1
16针FRC连接器1
5V DC,3安培SMP
连接器
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:这些称为多路复用销。他们采用数字输入以选择任何多重行。
Shift Clock(CLK),商店时钟(SCLK)和数据:这些是正常的移位寄存器控制引脚。在这里,使用了74HC595的移位寄存器。
电路原理图
下面给出了带有Arduino的P10模块的完整电路图:
根据销映射,Arduino uno和P10显示模块互连如下:
注意:将P10模块的功率终端分别连接到5V DC SMP。建议将5V,3 AMP DC电源连接到P10 LED模块的单个单元。如果您打算连接更多数量的模块,请相应地增加SMP的评级。
P10 LED模块编程与Arduino
成功完成硬件设置后,现在该对Arduino进行编程了。本教程末尾给出了这10个LED显示Arduino以及视频的完整代码。代码的逐步描述如下。
首先,包括程序中的所有因库。在这里,我们将“ DMD.H”库用于P10 LED *** 作,请从此处下载此库,然后将其安装在Arduino IDE中。之后,包括用于中断任务的“ TImerOne.h ”的库。该库可以从这里下载。
然后,包括所有必需的字体库,在我们的情况下,我们使用“ Arial Black Font”进行显示。
#include#include #include #include“ systemfont5x7.h” #include“ arial_black_16.h”
在下一步中,定义LED显示板的行数和列数。在我们的情况下,我们仅使用一个模块,因此行值和列值将为1。然后定义字体名称-Arial_black_16,用于显示在显示板上的文本滚动。
#Define Row 1 #Define第1列 #define font arial_black_16 DMD LED_MODULE(行,列);
函数scan_module(),通过SPI终端检查来自Arduino端的任何传入数据。如果是,那么它将触发一个中断引脚进行某些事件。
void scan_module() { LED_MODULE.SCANDISPLAYBYSPI(); }
内部设置(),初始化计时器,然后将中断连接到函数scan_module。功能ClearScreen(true)用于设置所有像素最初都关闭以清除显示板。
无效设置() { TImer1.IniTIalize(2000); TImer1.attachinterrupt(scan_module); led_module.clearscreen(true); }
然后,要在模块中显示字符串,请使用selectfont()函数选择字体,然后使用drawmarquee()函数在显示屏中打印字符串消息“欢迎到电路摘要” 。
LED_MODULE.SELECTFONT(FONT); LED_MODULE.DRAWMARQUEE(“欢迎来到电路摘要”,25,(32 *行),0);
最后,在LED显示板上滚动文本,使用一定时间段内将整个消息从右向向左转移。
长启动= millis(); 长时间=开始; boolean flag = false; while(!flag) { if((timming + 20)
因此,这就是您可以使用Arduino和LED矩阵制作滚动文本招牌的方式。
#include
#include
#include
#include“ systemfont5x7.h”
#include“ arial_black_16.h”
#define low 1
#define列1
#define font arial_black_16
DMD LED_MODULE(行,列);
void scan_module()
{
led_module.scandisplaybyspi();
}
void setup()
{
timer1.initialize(2000);
timer1.attachinterrupt(scan_module);
led_module.clearscreen(true);
}
void loop()
{
led_module.SelectFont(font);
LED_MODULE.DRAWMARQUEE(“欢迎来到电路摘要”,25,(32 *行),0);
长启动= millis();
长时间=开始;
boolean flag = false;
while(!flag)
{
if(((timming + 20)
{
flag = led_module.stepmarquee(-1,0);
timming = millis();
}
}
}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)