ardiuno编程 8x8点阵LED 滑动显示

ardiuno编程 8x8点阵 滑动显示

8x8点阵LED介绍

8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1高电平,某一列置0低电平,则相应的二极管就亮;
行列对应的接线引脚如下图:

在这里插入图片描述
蓝色数字为点阵的引脚编号,红色C为列column标识,R为行row标识,例如第一行,第一列点亮,需要R1对应的引脚高电平,C1对应引脚低电平

代码


int R[] = { 2, 3, 4, 5, 17, 16, 15, 14 };  //行
int C[] = { 6, 7, 8, 9, 10, 11, 12, 13 };  //列

unsigned char LOVE_DATA[8][8] =  //“心型”的数据
{
    0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,0,
    0,0,1,0,0,1,0,0,
    0,1,1,1,1,1,1,0,
    0,1,1,1,1,1,1,0,
    0,0,1,1,1,1,0,0,
    0,0,0,1,1,0,0,0,
    0,0,0,0,0,0,0,0
  };

unsigned char I_DATA[8][8] =  //“I”的数据
{
    0,0,0,0,0,0,0,0,
    0,1,1,1,1,1,1,0,
    0,1,1,1,1,1,1,0,
    0,0,0,1,1,0,0,0,
    0,0,0,1,1,0,0,0,
    0,0,0,1,1,0,0,0,
    0,1,1,1,1,1,1,0,
    0,1,1,1,1,1,1,0
};


unsigned char U_DATA[8][8] =  //“U”的数据
{
    0,0,0,0,0,0,0,0,
    0,1,1,0,0,1,1,0,
    0,1,1,0,0,1,1,0,
    0,1,1,0,0,1,1,0,
    0,1,1,0,0,1,1,0,
    0,1,1,0,0,1,1,0,
    0,1,1,1,1,1,1,0,
    0,1,1,1,1,1,1,0
};

  
 

unsigned char preWindow[8][8] = {0};

void setup() {
  // put your setup code here, to run once:
  for (int i = 0; i < 8; i++) {
    pinMode(R[i], OUTPUT);
    pinMode(C[i], OUTPUT);
  }

}


//创客初始化 
 void initWindow(){
    for(int i=0;i<8;i++) {
      for(int j=0;j<8;j++) {
        preWindow[i][j] = 0;
      }
    }
 }


void loop() {
  //滑动显示 I O U
  slipDisplay(I_DATA);

  slipDisplay(LOVE_DATA);

  slipDisplay(U_DATA);

  delay(1000);
  initWindow();


  for (int i = 0; i < 50; i++) {
    display(I_DATA);
  }
  delay(1000);
  for (int i = 0; i < 50; i++) {
    display(LOVE_DATA);
  }
  delay(1000);
  for (int i = 0; i < 100; i++) {
    display(U_DATA);
  }
  delay(1000);
}


/**
*
*滑动显示
**/
void slipDisplay(unsigned char dat[8][8]){

  for(int n=1;n<9;n++){
    int i=0;
    for(i=0;i<8-n;i++) {
      for(int j=0;j<8;j++) {
        preWindow[i][j] = preWindow[i+1][j];
      }
    }

    for(int j=0;j<n && i<8;j++,i++) {
      for(int id=0;id<8;id++){
        preWindow[i][id] = dat[j][id];
      }
    }
    
    for (int i = 0; i < 20; i++) {
      display(preWindow);
    }
    delay(100);
  }
  
}

 

/**
显示
**/
void display(unsigned char dat[8][8])  //显示函数
{
  for (int r = 0; r < 8; r++) {

    digitalWrite(R[r], HIGH);  //选通第r行
    //循环
    for (int c = 0; c < 8; c++) {
      digitalWrite(C[c], dat[r][c]==1?LOW:HIGH);
    }    

    delay(2);
    clear();  //清空显示去除余晖
  }

  
}

void clear() {
  for (int i = 0; i < 8; i++) {
    digitalWrite(R[i], LOW);
    digitalWrite(C[i], HIGH);
  }
}

实际效果

8x8点阵显示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Arduino 8x8 LED 点阵屏可以通过编程实现各种图案、文字、数字等的显示。可以使用Arduino的库函数来控制点阵屏的亮灭,也可以自己编写代码实现更加复杂的效果。需要注意的是,点阵屏的控制需要使用多个引脚,因此需要在编程时进行引脚的定义和设置。 ### 回答2: Arduino是一款开源通用单板计算机,可以很容易地进行编程和控制各种外部设备。其中,8x8 LED点阵屏是一种常见的显示器件,它由64个LED灯组成的矩阵,可以用来显示各种图案、字符和符号。下面,我将介绍如何使用Arduino控制8x8 LED点阵屏进行显示。 首先,需要准备的硬件组件包括Arduino Uno板、8x8 LED点阵屏、8个220欧姆电阻、杜邦线和一个面包板。连接方式如下: - 将8x8 LED点阵屏的VCC引脚连接至Arduino的5V引脚,GND引脚连接至GND引脚; - 将8x8 LED点阵屏的CS引脚连接至Arduino的10号引脚,DIN引脚连接至11号引脚,CLK引脚连接至13号引脚; - 将8个220欧姆电阻分别连接至8x8 LED点阵屏的行引脚,再将每个电阻的一端连接至面包板的一行,另一端连接至Arduino的2~9号引脚。 接下来,需要安装LedControl库并在Arduino IDE中导入示例代码LedControl库是一款专为Arduino设计的库,可以方便地控制LED点阵屏,示例代码包括显示字符、滚动字符、显示图案等。 在代码中,可以设置要显示的字符或图案,控制显示的亮度、速度等参数。例如,使用LedControl库中的showChar函数可以实现显示字符。代码如下: LedControl lc=LedControl(11, 13, 10, 1); //创建LedControl实例 lc.shutdown(0,false); //开启第一个LED点阵屏的控制 lc.setIntensity(0,8); //设置亮度 lc.clearDisplay(0); //清除显示屏 lc.showChar(0, 0, 'A'); //在第一个LED点阵屏的第1行,第1列上显示字符A 可以通过调用该函数多次来依次显示不同的字符或图案。在代码中,还可以通过循环控制实现字符或图案的滚动显示。例如,使用LedControl库中的scrollText函数可以实现滚动显示字符。代码如下: lc.scrollText("Hello World",100); //滚动显示字符Hello World,滚动速度为100毫秒/像素 另外,也可以使用LedControl库中的setRow函数、setColumn函数等来控制单个LED灯的亮灭状态,进一步实现自定义的显示效果。 综上所述,通过使用ArduinoLedControl库,可以很方便地控制8x8 LED点阵屏的显示效果,实现各种创意的应用。 ### 回答3: ARDUINO是一款热门的开发板,其集成了各种传感器和模块,能够实现各种创意。其中,点阵屏是一种非常实用的组件,它可以用来显示各种文字、图案和动画。 具体实现ARUDINO 8x8 LED点阵显示可以参考以下步骤: 第一步:准备材料 我们需要准备的材料包括: 1. ARDUINO UNO开发板 2. 8x8 LED点阵模块 3. 杜邦线(公对公、公对母) 4. 面包板 第二步:连接电路 将事先在面包板上连接好的8x8 LED点阵模块用杜邦线分别连接到开发板的数字管脚上。具体连接方式可以参考电路图进行连接。 第三步:下载并安装库文件 在arduino官网下载Max72xxPanel库,在arduino IDE上添加库。 第四步:编写代码 打开arduino IDE,新建工程,复制库文件中的Max72xxPanel代码,按需修改实现自己所需的功能(例如文字、图案或者动画)。 第五步:上传代码 点击上传按钮,将代码上传到开发板中。当代码上传完成后,点阵屏即可显示出预期的结果。 总之,通过以上几个步骤,我们可以简单地实现ARDUINO 8x8 LED点阵显示的功能。当然,在实际应用中,还可以拓展其他功能,例如添加传感器进行数据采集和显示,实现更为丰富的创意。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值