Arduino Uno 使用MAX7219驱动单个8*8点阵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]);
  }
}

 

 

 

 

 

 

 

<think>嗯,用户问的是关于Mixly的第三方库点阵LED的介绍。我需要先回想一下Mixly的基本情况。Mixly是一个图形化编程工具,主要用于Arduino等硬件,适合初学者。第三方库通常是指用户自己开发的或者社区贡献的库,不是官方自带的。点阵LED应该是指LED点阵屏,比如8x8的那种,用来显示图形或者文字。 首先,用户可能需要知道如何安装第三方库。在Mixly里,通常需要把库文件放到指定的文件夹里,比如libraries目录。然后重启软件,就能在模块列表里找到。不过不同的库可能有不同的安装方式,需要确认步骤是否正确。 然后,点阵LED使用方法。常见的库可能有控制行列扫描的函数,比如设置亮度、显示图案、滚动显示等。需要举例说明,比如如何显示一个心形图案,或者如何让文字滚动。同时要注意硬件连接,比如使用的是哪个引脚,是否需要外接驱动电路,比如Max7219之类的芯片。因为直接驱动点阵可能需要较多的IO口,所以很多库会依赖这些驱动芯片。 另外,可能提到常见的第三方库有哪些,比如LedControl或者Adafruit的库,但需要确认这些是否有对应的Mixly模块。因为Mixly是图形化编程,第三方库需要封装成图形块才能使用。用户可能需要自己转换或者找到现成的模块。 还要注意常见的问题,比如库的兼容性,不同版本的Mixly可能支持不同,或者接线错误导致无法显示。需要提醒用户检查连接,确认库是否正确安装,以及代码是否有误。 最后,是否需要提供资源链接,比如教程或库的下载地址?可能用户需要进一步的指导,但可能无法直接放链接,所以建议他们去Mixly的论坛或社区查找相关资料。 总结回答的结构应该是:介绍第三方库的概念,安装方法,具体的使用步骤,示例代码(图形块),注意事项和常见问题。确保用中文,分步骤清晰,帮助用户逐步解决问题。</think>关于Mixly第三方库控制LED点阵屏的说明如下: 1. **第三方库的定位** - 非Mixly官方自带 - 由开发者社区贡献 - 需手动导入使用 2. **典型功能实现** - 8x8点阵基础控制 - 动态文字滚动显示 - 自定义图案绘制 - 亮度调节功能 3. **硬件连接示例** ```电路图示 +-----------------+ +-----------------+ | Arduino Uno | | 8x8 LED矩阵 | | Pin 12 ------> DIN | | | Pin 11 ------> CS | (需MAX7219驱动) | | Pin 10 ------> CLK | | +-----------------+ +-----------------+ ``` 4. **软件操作流程** ① 下载`.xml`库文件 ② 放入Mixly安装目录的`libraries`文件夹 ③ 重启Mixly后在左侧模块库查看新增模块 5. **图形化编程示例** ``` [主程序] ↳ [初始化LED点阵] ↳ 设置亮度等级:5 ↳ [循环执行] ↳ 显示图案:❤️ ↳ 延时1000ms ↳ 清空屏幕 ``` 6. **常见问题处理** - **显示模糊**:检查共阴/共阳类型设置 - **数据错位**:确认DIN/CLK接线顺序 - **局部不亮**:测试单个LED是否损坏 - **库加载失败**:验证XML文件编码格式(需UTF-8) 7. **进阶应用方向** - 多模块级联扩展 - 传感器数据可视化 - 简单动画制作 - 实时时钟显示 建议通过Arduino IDE验证底层代码后,再转换为Mixly图形模块使用,可提高开发效率。不同驱动芯片(如MAX7219 vs HT16K33)需对应不同库文件。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值