目录
一、本节介绍
与低扫描电压,点矩阵LED显示器具有优点诸如节能、使用寿命长、成本低、亮度高、视角宽、视距长、防水、规格众多。LED点阵显示器,可以满足不同应用并因此具有广阔的发展前景。这一次,我们将LED点阵实验,亲身体验其魅力。
二、材料准备
1*-Arduno UNO板
1-88点阵
电阻器220Ω*(-8)
-杜邦线
-2*74HC595
-USB数据线
三、原理讲解
外部的点矩阵如下所示:
关于针脚定义:
定义行、列编号(仅用于第一点阵数结束其与BS模型)
引脚编号对应于上述多行和列:
四、实验步骤
步骤1:构建电路
将74HC595(U2)连接起来,点矩阵和Arduino UNO板连接方式:
与另一个74HC595连接(U3),点矩阵和Arduino UNO板连接方式:
该示意图
步骤2:编写程序
步骤3:编译代码
步骤4:上载到Arduino UNO板草图
在这里,您应该会看到圆点矩阵显示0~F。
本节程序:
[scu name=”arduino-ide-post” platform=”arduino:avr:uno”]
/************************/
//点阵显示屏
//将所述点矩阵显示0~F圆
//2017.11.11
/************************/
const int latchPin = 8;//定义引脚
const int clockPin = 12;
const int dataPin = 11;
int data[] = {
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /*" ",0*/
0xFF, 0xC1, 0xBE, 0xBE, 0xBE, 0xC1, 0xFF, 0xFF, /*"0",1*/
0xFF, 0xDF, 0xDF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, /*"1",2*/
0xFF, 0xDC, 0xBC, 0xBA, 0xB6, 0xCE, 0xFF, 0xFF, /*"2",3*/
0xFF, 0xDD, 0xBE, 0xB6, 0xB6, 0xC9, 0xFF, 0xFF, /*"3",4*/
0xFB, 0xF3, 0xEB, 0xDB, 0x80, 0xFB, 0xFF, 0xFF, /*"4",5*/
0xFF, 0x8D, 0xAE, 0xAE, 0xAE, 0xB1, 0xFF, 0xFF, /*"5",6*/
0xFF, 0xC1, 0x96, 0xB6, 0xB6, 0xD9, 0xFF, 0xFF, /*"6",7*/
0xFF, 0xBF, 0xBC, 0xB3, 0xAF, 0x9F, 0xFF, 0xFF, /*"7",8*/
0xFF, 0xC9, 0xB6, 0xB6, 0xB6, 0xC9, 0xFF, 0xFF, /*"8",9*/
0xFF, 0xCD, 0xB6, 0xB6, 0xB4, 0xC1, 0xFF, 0xFF, /*"9",10*/
0xFC, 0xF3, 0xCB, 0x9B, 0xEB, 0xF3, 0xFC, 0xFF, /*"A",11*/
0xFF, 0x80, 0xB6, 0xB6, 0xB6, 0xB6, 0xC9, 0xFF, /*"B",12*/
0xFF, 0xE3, 0xDD, 0xBE, 0xBE, 0xBE, 0xBE, 0xDD, /*"C",13*/
0xFF, 0x80, 0xBE, 0xBE, 0xBE, 0xBE, 0xDD, 0xE3, /*"D",14*/
0xFF, 0x80, 0xB6, 0xB6, 0xB6, 0xB6, 0xBE, 0xFF, /*"E",15*/
0xFF, 0x80, 0xB7, 0xB7, 0xB7, 0xB7, 0xBF, 0xFF, /*"F",16*/
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /*" ",17*/
};
void setup ()
{
//set pins to output
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop()
{
for (int n = 0; n < 136; n++)
{
for (int t = 0; t < 10; t ++) //显示重复10次
{
int dat = 0x01;
for (int num = n; num < 8 + n; num++)
{
shiftOut(dataPin, clockPin, MSBFIRST, ~data[num]); //列的点矩阵控制
shiftOut(dataPin, clockPin, MSBFIRST, ~dat); // 列的点矩阵控制
//返回闩锁的信号引脚为高电平时,芯片
//不再需要监听的信息
digitalWrite(latchPin, HIGH); //将数据保存到闩锁销
delay(1);
digitalWrite(latchPin, LOW); //保持低的闩锁销和地面的传送
dat = dat << 1;
delay(1);
}
}
}
}
[/scu]
Henhao
Hao
good
厉害
非常感谢分享
厉害
nice
good
666
真棒