精华内容
下载资源
问答
  • arduino MAX7219 8X8点阵

    2020-08-13 20:27:12
    arduino MAX7219 8X8点阵 8X8点阵取模软件: 链接:https://pan.baidu.com/s/1FUrIOtabhWTaxhKu7-3IzA 提取码:4y1s #include <LedControl.h> int DIN = 12; int CS = 11; int CLK = 10; LedControl lc=Led...

    arduino MAX7219 8X8点阵

    8X8点阵取模软件:
    链接:https://pan.baidu.com/s/1FUrIOtabhWTaxhKu7-3IzA
    提取码:4y1s
    GND>>>>>>>>>>>GND
    VCC>>>>>>>>>>>5V
    DIN>>>>>>>>>>>>12
    CS>>>>>>>>>>>>11
    CLK>>>>>>>>>>>10

    #include <LedControl.h>
    int DIN = 12;
    int CS =  11;
    int CLK = 10;
    byte smile[8]= {0x04,0x02,0x44,0x80,0x80,0x44,0x02,0x04};//利用字模软件取模
    byte cry[8]={0x02,0x04,0x42,0x20,0x20,0x42,0x04,0x02};//字模软件在文章最上方
    LedControl lc=LedControl(DIN,CLK,CS,4);
    void printByte(byte character [])
    {
      int i = 0;
      for(i=0;i<8;i++)
    { 
    lc.setRow(0,i,character[i]);
    }
    }
    void setup(){
     lc.shutdown(0,false);       //启动时,MAX72XX处于省电模式
     lc.setIntensity(0,8);       //将亮度设置为最大值
     lc.clearDisplay(0);         //清除显示
    }
    void loop()
    {
    printByte(smile);//显示笑脸
    delay(1000);//等待一秒
    printByte(cry);//显示哭脸
    delay(1000);//等待一秒
    }
    
    展开全文
  • 让我们用遥控器控制设备
  • ARDUINO+MAX7219+GPS 模块制作的车载GPS码表,可镜像显示,速度低于5KM/h时显示时间,GPS信号弱时显示时间,GPS信号强,速度大于5KM/h时显示速度
  • MAX7219 使用 SPI 的 MAX7219 显示的 Arduino 库。 具体原理、接线、原理图等见:
  • 在本篇文章中,我们将学习如何使用MAX7219驱动器和Arduino开发板控制8×8 LED点阵显示屏。我们将举三个例子,第一个例子主要解释MAX7219的基本工作原理,在第二个例子中将看到8×8 LED点阵上的滚动文本是如何实现的...

    在本篇文章中,我们将学习如何使用MAX7219驱动器和Arduino开发板控制8×8 LED点阵显示屏。我们将举三个例子,第一个例子主要解释MAX7219的基本工作原理,在第二个例子中将看到8×8 LED点阵上的滚动文本是如何实现的,在第三个例子中通过蓝牙和自制Android应用程序来控制它们。

    MAX7219

    现在让我们仔细看看MAX7219驱动器。该IC能够驱动64个独立的LED,同时仅使用3根线与Arduino进行通信,而且我们还可以菊花链连接多个驱动器和点阵,并且仍使用相同的3线。

    在这里插入图片描述

    64个LED由IC的16个输出引脚驱动。现在的问题是如何做到这一点。那么同时点亮的最大LED数量实际为8。 LED排列为8×8行和列。因此,MAX7219可以在很短的时间内激活每列,同时驱动每一行。因此,通过快速切换列和行,人眼将只注意到连续的光。

    在这里插入图片描述

    注意常见的8×8 LED矩阵的引脚是如何在内部排列的,所以如果你自己构建一个点阵,你应该考虑它。另请注意,MAX7219的公共分线板在5V和IC引脚编号18之间配有一个电阻。该电阻用于设置亮度或流向LED的电流。

    更多内容请参考以下链接:https://www.yiboard.com/thread-996-1-1.html

    展开全文
  • max7219 arduino proteus外加一块led矩阵板仿真,详细看代码
  • Arduino Uno 使用MAX7219驱动单个8*8点阵LED模块

    万次阅读 多人点赞 2016-12-07 11:51:55
    现在使用MAX7219这个驱动模块 只占用3个IO口,就可以控制8*8点阵的显示,非常实用,简单。 问题注意: ① 接线的时候,注意方向,在IN的方向接线(输入) ② LED的方向也要注意,如果显示不正常,请...

     

    还记得之前做的一个怦然心动的8*8点阵实验吗?

    很多小伙伴都会觉得,插口都用完了还能用其他的功能吗?

     

    现在使用MAX7219这个驱动模块

     

    只占用3个IO口,就可以控制8*8点阵的显示,非常实用,简单。

     

     问题注意:

     

    ① 接线的时候,注意方向,在IN的方向接线(输入)

    ② LED的方向也要注意,如果显示不正常,请转变下安插的方向。

     

    实验效果

     

    BOM表

    Arduino Uno   x1

    MAX7219 LED 8*8点阵模块     x1

    跳线若干

     

    接线方式

                                      在IN方向的针脚

    Arduino Uno    ---     MAX7219

    5V                <--->              VCC

    GND           <--->              GND

    12               <--->              DIN

    11               <--->              CS

    10               <--->             CLK

     

    开源程序

    先下载库文件

    https://github.com/wayoda/LedControl

    把下载的库文件夹存放在Arduino 安装目录的libraries库文件夹

    程序&库&软件 打包下载:https://u16460183.ctfile.com/fs/16460183-296052687

    文件夹说明:

    LedControl-master   —— MAX7219库(请复制在Arduino的库目录里)

    MAX7219 8x8点阵软件 

    LS_MAX7219_8x8 —— 主程序

     

    #include <LedControl.h>
    
    int DIN = 12;
    int CS =  11;
    int CLK = 10;
    
    byte e[8]=     {0x7C,0x7C,0x60,0x7C,0x7C,0x60,0x7C,0x7C};  //E
    byte d[8]=     {0x78,0x7C,0x66,0x66,0x66,0x66,0x7C,0x78};  //D
    byte u[8]=     {0x66,0x66,0x66,0x66,0x66,0x66,0x7E,0x7E};  //U
    byte c[8]=     {0x7E,0x7E,0x60,0x60,0x60,0x60,0x7E,0x7E};  //C
    byte eight[8]= {0x7E,0x7E,0x66,0x7E,0x7E,0x66,0x7E,0x7E};  //8
    byte s[8]=     {0x7E,0x7C,0x60,0x7C,0x3E,0x06,0x3E,0x7E};  //S
    byte dot[8]=   {0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18};  //.
    byte o[8]=     {0x7E,0x7E,0x66,0x66,0x66,0x66,0x7E,0x7E};  //O
    byte m[8]=     {0xE7,0xFF,0xFF,0xDB,0xDB,0xDB,0xC3,0xC3};  //M
    
    LedControl lc=LedControl(DIN,CLK,CS,4);
    
    void setup(){
     lc.shutdown(0,false);       //启动时,MAX72XX处于省电模式
     lc.setIntensity(0,8);       //将亮度设置为最大值
     lc.clearDisplay(0);         //清除显示
    }
    
    void loop(){ 
        byte smile[8]=   {0x3C,0x42,0xA5,0x81,0xA5,0x99,0x42,0x3C};//笑脸
        byte neutral[8]= {0x3C,0x42,0xA5,0x81,0xBD,0x81,0x42,0x3C};//标准脸    
    
        printByte(eight);//显示8
        delay(1000);//延时1秒
        printByte(neutral);//显示标准脸
        delay(1000);
    }
    
    //点阵显示函数
    void printByte(byte character [])
    {
      int i = 0;
      for(i=0;i<8;i++)
      {
        lc.setRow(0,i,character[i]);
      }
    }

     

     

     

     

     

     

     

    展开全文
  • 到目前为止,我是通过多路复用来控制这些矩阵的。 在本视频中,我将使用MAX7219芯片来完成此操作
  • 基于ArduinoNano的LED点阵时钟探索(1)四合一MAX7219+DS3231 这篇文章是自己打算做一个LED点阵时钟记录学习进度的,刚完成第一次点亮MAX7219四合一模块,所以先做好学习记录。 硬件连线 Arduino nano DS3231...

    基于ArduinoNano的LED点阵时钟探索(1)四合一MAX7219+DS3231

    在这里插入图片描述

    这篇文章是自己打算做一个LED点阵时钟记录学习进度的,刚完成第一次点亮MAX7219四合一模块,所以先做好学习记录。

    1. 硬件连线
    Arduino nano DS3231
    3.3v vcc
    GND GND
    A3 SCL
    A4 SCL
    Arduino nano Max7219
    5V vcc
    GND GND
    11 DIN
    9 CS
    13 CLK
    1. 模块介绍
      DS3231是一款高精度I2C实时时钟器件,具有集成的温度补偿晶体振荡器。该器件包含电池输入端,断开主电源时仍可保持精确计时。集成的晶体振荡器可提高器件的长期精确度。DS3231的寄存器能保存秒、分、时、星期、日期、月、年和闹钟设置等信息。少于31天的月份,可自动调整月末日期,包括闰年补偿。时钟的工作格式为24小时或带AM/PM指示的12小时格式。DS3231提供两个可编程日历闹钟和一路可编程方波输出……
      MAX7219……原理什么的需要的自己搜一下就可以啦,在这里就不赘述了(我单片机就懂一点皮毛,这些原理大部分我也看不懂,写多了就显得装杯了),直接上代码吧
    2. 实验代码

    代码部分参考的mixly,Mixly官网数字取模也是自己从这个软件中取的
    所需要的库文件在文章末尾有链接,有需要的自己下载就好

    
    
    #include <SPI.h>
    #include <Adafruit_GFX.h>
    #include <Max72xxPanel.h>
    #include <RtcDS3231.h>
    #include <SoftwareWire.h>
    
    SoftwareWire myWire(A3,A4);//DS3231引脚sda-a3 scl-a4
    
    RtcDS3231<SoftwareWire> Rtc(myWire);
    
    Max72xxPanel myMatrix = Max72xxPanel(9,4,1);//max7219引脚din-11 cs-9 clk-13
    uint8_t  LEDArray[8];
    unsigned char const LedArray0[8] PROGMEM ={0x7e,0x66,0x66,0x66,0x66,0x66,0x66,0x7e};
    unsigned char const LedArray1[8] PROGMEM ={0x7e,0x18,0x18,0x18,0x18,0x18,0x1c,0x18};
    unsigned char const LedArray2[8] PROGMEM ={0x7e,0x06,0x06,0x7e,0x60,0x60,0x60,0x7e};
    unsigned char const LedArray3[8] PROGMEM ={0x7e,0x60,0x60,0x7e,0x60,0x60,0x60,0x7e};
    unsigned char const LedArray4[8] PROGMEM ={0x60,0x60,0x60,0x7e,0x66,0x66,0x66,0x66};
    unsigned char const LedArray5[8] PROGMEM ={0x7e,0x60,0x60,0x7e,0x06,0x06,0x06,0x7e};
    unsigned char const LedArray6[8] PROGMEM ={0x7e,0x66,0x66,0x7e,0x06,0x06,0x06,0x7e};
    unsigned char const LedArray7[8] PROGMEM ={0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7e};
    unsigned char const LedArray8[8] PROGMEM ={0x7e,0x66,0x66,0x7e,0x66,0x66,0x66,0x7e};
    unsigned char const LedArray9[8] PROGMEM ={0x7e,0x60,0x60,0x7e,0x66,0x66,0x66,0x7e};
    
    void setup(){
      Rtc.Begin();
      Rtc.SetIsRunning(true);
      //Rtc.SetDateTime(RtcDateTime(__DATE__, __TIME__));//获取系统时间
    }
    
    void loop(){
      //Rtc.SetDateTime(RtcDateTime("Jan/01/2020", "08:00:00"));
      myMatrix.setIntensity(0);//点阵亮度调节数值0-5
      myMatrix.setRotation(0,1);//点阵显示方向数值1(270度)
      myMatrix.setRotation(1,1);
      myMatrix.setRotation(2,1);
      myMatrix.setRotation(3,1);
      int year = Rtc.GetDateTime().Year();
      int mon = Rtc.GetDateTime().Month();
      int day = Rtc.GetDateTime().Day();
      int hour = Rtc.GetDateTime().Hour();
      int min = Rtc.GetDateTime().Minute();
      int a=hour/10;
      int b=hour%10;
     if(a==0){
      memcpy_P(&LEDArray, &LedArray0, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=0*8; index_j<0*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
      if(a==1){
      memcpy_P(&LEDArray, &LedArray1, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=0*8; index_j<0*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(a==2){
      memcpy_P(&LEDArray, &LedArray2, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=0*8; index_j<0*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==0){
      memcpy_P(&LEDArray, &LedArray0, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==1){
      memcpy_P(&LEDArray, &LedArray1, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==2){
      memcpy_P(&LEDArray, &LedArray2, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==3){
      memcpy_P(&LEDArray, &LedArray3, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==4){
      memcpy_P(&LEDArray, &LedArray4, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==5){
      memcpy_P(&LEDArray, &LedArray5, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==6){
      memcpy_P(&LEDArray, &LedArray6, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==7){
      memcpy_P(&LEDArray, &LedArray7, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==8){
      memcpy_P(&LEDArray, &LedArray8, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(b==9){
      memcpy_P(&LEDArray, &LedArray9, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=1*8; index_j<1*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     //*********************************************************************
      int c=min/10;
      int d=min%10;
     if(c==0){
      memcpy_P(&LEDArray, &LedArray0, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=2*8; index_j<2*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
      if(c==1){
      memcpy_P(&LEDArray, &LedArray1, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=2*8; index_j<2*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(c==2){
      memcpy_P(&LEDArray, &LedArray2, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=2*8; index_j<2*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
      if(c==3){
      memcpy_P(&LEDArray, &LedArray3, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=2*8; index_j<2*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
      if(c==4){
      memcpy_P(&LEDArray, &LedArray4, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=2*8; index_j<2*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
      if(c==5){
      memcpy_P(&LEDArray, &LedArray5, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=2*8; index_j<2*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     //*****************************************************************
     if(d==0){
      memcpy_P(&LEDArray, &LedArray0, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
      if(d==1){
      memcpy_P(&LEDArray, &LedArray1, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(d==2){
      memcpy_P(&LEDArray, &LedArray2, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(d==3){
      memcpy_P(&LEDArray, &LedArray3, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(d==4){
      memcpy_P(&LEDArray, &LedArray4, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(d==5){
      memcpy_P(&LEDArray, &LedArray5, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(d==6){
      memcpy_P(&LEDArray, &LedArray6, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(d==7){
      memcpy_P(&LEDArray, &LedArray7, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(d==8){
      memcpy_P(&LEDArray, &LedArray8, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
     if(d==9){
      memcpy_P(&LEDArray, &LedArray9, 8);
      for(int index_i=0; index_i<8; index_i++)
      {
        for(int index_j=3*8; index_j<3*8+8; index_j++)
        {
          if((LEDArray[index_i]&0x01)>0)
            myMatrix.drawPixel(index_j, 7-index_i,1);
          else
            myMatrix.drawPixel(index_j, 7-index_i,0);
          LEDArray[index_i] = LEDArray[index_i]>>1;
        }
      }
      myMatrix.write();
     }
    }
    
    1. 总结
      程序现在仅仅能够显示时和分,而且用的方式十分笨拙,只是为了实现功能没有考虑优化,后面有时间会慢慢实现,主要是网上能够参考的资料太少,自己基础又很差,慢慢努力吧。
      Max72xxPanel库
      Adafruit_GFX库
    展开全文
  • MAX7219的8x8 Led martrix模块× 6 旋转电位器(通用)× 2 蜂鸣器× 1 软件应用程序和在线服务: Arduino IDE 手动工具和制造机器: 烙铁(通用) 我在一个6pcs的数组上构建了这个小乒乓控制台。 我没有定制矩阵板...
  • u8g2 OLED库 + MAX7219_32X8点阵模块 理论基础 玩转u8g2 OLED库,一篇就够 玩转u8g2 OLED库,一篇就够(字数太多 要分篇) 实验内容 Full screen buffer mode 显示“I❤❤U" 实验器材 Mega2560 + ...
  • MAX7219点阵模块 Arduino

    千次阅读 2014-05-12 18:03:43
    你这个使用更简单,先说一下你那几个脚: VCC:工作电源 GND:电源地 CS:选择信号(使用DigitalPin(),引脚不冲突即可) DATA:数据信号(使用DigitalPin(),引脚不冲突即可) CLK:时钟信号(使用DigitalPin()...
  • 靠近一点,Arduino很高兴。 走开,他很难过。
  • 详细代码见附件文件
  • MAX7219_Patterns_code_from_Lunar_Lightshow_Productions:这是我为与Arduino Mega 2560一起使用的MAX7219 8x8 LED矩阵显示器创建的代码。请查看我的YouTube频道Lunar Lightshow Productions,您将在此处找到详细...
  • 它将显示整个abcd。
  • 通过第三方17Maker arduino库-mixly版实现MAX7219点阵显示。由超声波模块触发,5厘米外显示笑脸,5厘米内显示爱心。 2、代码(需下载Mixly) void setup(){ dist = 0; pinMode(A2, OUTPUT); pinMode(A3, INPUT); ...
  • 电路板采用Maxim久负盛名的MAX7219驱动器,简化了控制多个阵列或数字显示形式LED的过程。MAXREFDES99#中,4片MAX7219 IC采用菊链配置,驱动完整的256点LED阵列,使阵列能够显示任意国际字符。电路板标配四个8x8 LED...
  • 不带MAX7219驱动的8×8 點矩陣LED(如下图),从左侧有写字的一侧开始,L接正电,C接负电。 列L (1、2、3、4、5、6、7、8) 行C(1、2、3、4、5、6、7、8) Arduino接线 因为Arduino Uno引脚有限,所以就只接了6...
  • 下载安装Mixly http://mixly.org/bnu-maker/mixly-arduino-win ... 硬件准备:arduino开发板、USB 数据线、连接线*7、超声波HC-SR04、MAX7219点阵 硬件连接: Mixl...
  • 在24x16 LED矩阵上的两人复古Pong游戏。
  • Arduino点阵屏案例LED点阵屏显示原理8x8点阵屏引脚连接 LED点阵屏 LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示文字、图片、动画、视频等,是各部分组件都模块化的显示器件,通常由显示模块、控制系统及...
  • 37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和...实验二十二:MAX7219点...

空空如也

空空如也

1 2 3 4 5 6
收藏数 108
精华内容 43
关键字:

arduinomax7219