Arduino - LED 矩阵

news2024/11/25 22:53:48

Arduino - LED 矩阵

Arduino - LED Matrix

LED matrix display, also known as LED display, or dot matrix display, are wide-used. In this tutorial, we are going to learn:
LED矩阵显示器,也称为LED显示器,或点阵显示器,应用广泛。在本教程中,我们将学习:

  • LED matrix LED矩阵
  • How to connect Arduino to 8x8 LED matrix
    如何将Arduino连接到8x8 LED矩阵
  • How to connect Arduino to 32x8 LED matrix
    如何将Arduino连接到32x8 LED矩阵
  • How to connect Arduino to display text, numbers, and animated effects on the LED matrix.
    如何连接Arduino以在LED矩阵上显示文本,数字和动画效果。

After that, you can easily adapt the code for other LED matrices such as 16x8 LED matrix, 64x8 LEd matrix …
之后,您可以轻松地将代码调整为其他 LED 矩阵,例如 16x8 LED 矩阵、64x8 LEd 矩阵…

About LED Matrix 关于LED Matrix

LED Matrix display

There are many kinds of LED Matrix. With Arduino, the MAX7219-based LED matrix is widely used. MAX7219-based LED matrix has the following features:
LED矩阵有很多种。在Arduino中,基于MAX7219的LED矩阵被广泛使用。基于MAX7219的LED矩阵具有以下特点:

  • A base unit of an LED matrix is a block
    LED 矩阵的基本单元是一个块
  • Each block has an 8x8 LED matrix (64 LED) and a MAX7219 driver.
    每个模块都有一个 8x8 LED 矩阵 (64 LED) 和一个MAX7219驱动器。
  • There are two popular block forms: the generic module and the FC-16 module.
    有两种流行的块形式:通用模块和 FC-16 模块。
  • A LED matrix can be composed of a single block or multiple blocks in a daisy-chain
    LED矩阵可以由菊花链中的单个块或多个块组成
  • You can buy a pre-built multiple-block LED Matrix (e.g. 4-in-1, 8-in-1)
    您可以购买预制的多块 LED 矩阵(例如 4 合 1、8 合 1)
  • You can also buy multiple blocks and wire them to form a LED matrix with the desired size.
    您还可以购买多个块并将它们连接起来以形成具有所需尺寸的 LED 矩阵。
  • You will declare the size of the LED matrix you use in the Arduino code.
    您将声明在Arduino代码中使用的LED矩阵的大小。

Pinout 引脚排列

LED Matrix Pinout

A LED Matrix is formed by a single or multiple blocks. Each block includes two groups of pins:
LED矩阵由单个或多个块组成。每个模块包括两组引脚:

  • Input pins group: 输入引脚组:
    • VCC: connected to 5V. VCC:连接到 5V。
    • GND: connected to GND. GND:连接到 GND。
    • DIN is the Data pin, Connect it to SPI MOSI pin of the Arduino.
      DIN是数据引脚,将其连接到Arduino的SPI MOSI引脚。
    • CS: Chip Select, Connect it to any digital pin of the Arduino.
      CS:芯片选择,将其连接到Arduino的任何数字引脚。
    • CLK: Clock pin, Connect it to SPI CLK pin of the Arduino.
      CLK:时钟引脚,将其连接到Arduino的SPI CLK引脚。
  • Output pins group: 输出引脚组:
    • VCC: connects to VCC on the next module.
      VCC:连接到下一个模块上的 VCC。
    • GND: connects to GND on the next module.
      GND:连接到下一个模块上的 GND。
    • DOUT: Data Out, connects to the DIN pin of the next module.
      DOUT:数据输出,连接到下一个模块的DIN引脚。
    • CS: connects to CS on the next module.
      CS:连接到下一个模块的 CS。
    • CLK connects to CLK on the next module.
      CLK 连接到下一个模块上的 CLK。

Wiring Diagram 接线图

If the LED matrix is made of a single block:
如果 LED 矩阵由单个块组成:

  • Connect the input pins groups to Arduino
    将输入引脚组连接到Arduino
  • Let the output pins group unconnected
    让输出引脚组断开连接

Arduino 8x8 LED matrix FC-16 wiring diagram

Arduino 8x8 LED matrix generic wiring diagram

If the LED matrix is pre-built multiple blocks:
如果 LED 矩阵是预先构建的多个块:

  • Connect the input pins groups to Arduino
    将输入引脚组连接到Arduino
  • Let the output pins group unconnected
    让输出引脚组断开连接

Arduino LED matrix display wiring diagram

If the LED matrix is made of multiple blocks by yourself:
如果 LED 矩阵由多个块组成:

  • Connect the input pins groups of the first block to Arduino
    将第一个模块的输入引脚组连接到Arduino
  • Connect the output pins groups of each block to the input pins groups of the next block
    将每个模块的输出引脚组连接到下一个模块的输入引脚组
  • Let the output pins group of the last block unconnected
    让最后一个块的输出引脚组解开连接

Arduino 32x8 LED matrix wiring FC-16 diagram

Arduino 32x8 LED matrix wiring generic diagram

This image is created using Fritzing. Click to enlarge image
此图像是使用 Fritzing 创建的。点击放大图片

Because the display draws a lot of currents (up to 1A at maximum brightness):
因为显示器消耗了大量电流(最大亮度下高达 1A):

  • Do not use the power from the 5V pin of Arduino.
    请勿使用 Arduino 的 5V 引脚供电。
  • Use an external 5V power supply instead. Arduino and LED matrix can share power from a 5V power adapter
    请改用外部 5V 电源。Arduino 和 LED 矩阵可以共享来自 5V 电源适配器的电源

Because Arduino connects to LED matrix via SPI pins:
由于Arduino通过SPI引脚连接到LED矩阵:

  • Pin 13 (SCK) and 11 (MOSI) on Arduino Uno must be used. If you’re using another Arduino board, check the official documentation for equivalent SPI pins.
    必须使用 Arduino Uno 上的引脚 13 (SCK) 和 11 (MOSI)。如果您使用的是另一块Arduino板,请查看官方文档以获取等效的SPI引脚。
  • Pin 3 (CS) can be changed to any pin
    引脚 3 (CS) 可以更改为任何引脚

How To Program For LED Matrix 如何对 LED 矩阵进行编程

It is not easy to control the LED matrix. Fortunately, libraries are available to make it easy. Below is a step-by-step on how to write Arduino code to control the LED matrix
控制LED矩阵并不容易。幸运的是,可以使用库来简化它。以下是如何编写Arduino代码来控制LED矩阵的分步操作

Include libraries: 包括库:

#include <MD_Parola.h>
#include <MD_MAX72xx.h>

  • Specify which hardware is being used: GENERIC_HW or FC16_HW.
    指定正在使用的硬件:GENERIC_HW 或 FC16_HW。
#define HARDWARE_TYPE **MD_MAX72XX**::FC16_HW
  • Define how many LED block is used. for example, a 4-in-1 LED matrix has 4 blocks.
    定义使用多少个 LED 块。例如,一个 4 合 1 LED 矩阵有 4 个模块。
#define MAX_DEVICES 4
  • Define the pin that connects to the LED matrix’s CS pin. For example, pin D3
    定义连接到 LED 矩阵的 CS 引脚的引脚。例如,引脚 D3
#define CS_PIN 3
  • Create a new instance of the MD_Parola class for the LED matrix display.
    为 LED 矩阵显示创建 MD_Parola 类的新实例。
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

  • Code in the setup() function:
    setup() 函数中的代码:
void setup() {
  ledMatrix.begin();         // initialize the object 
  ledMatrix.setIntensity(0); // set the brightness of the LED matrix display (from 0 to 15)
  ledMatrix.displayClear();  // clear led matrix display
}

  • Display text, number and show animated effects: see next part
    显示文本、数字和显示动画效果:请参阅下一部分

Arduino - LED Matrix Code Arduino - LED矩阵代码

The below code is for 32x8 FC-16 LED matrix display (4 blocks). But you can easily adapt it for 8x8, 16x8, 64x8…
以下代码适用于 32x8 FC-16 LED 矩阵显示器(4 块)。但是您可以轻松地将其调整为 8x8、16x8、64x8…

/*

 * Created by ArduinoGetStarted.com
   *
 * This example code is in the public domain
   *
 * Tutorial page: https://arduinogetstarted.com/tutorials/arduino-led-matrix
   */

#include <MD_Parola.h>
#include <MD_MAX72xx.h>

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4 // 4 blocks
#define CS_PIN 3

// create an instance of the MD_Parola class
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

void setup() {
  ledMatrix.begin();         // initialize the object
  ledMatrix.setIntensity(0); // set the brightness of the LED matrix display (from 0 to 15)
  ledMatrix.displayClear();  // clear LED matrix display
}

void loop() {
  ledMatrix.setTextAlignment(PA_LEFT);
  ledMatrix.print("Left"); // display text
  delay(2000);

  ledMatrix.setTextAlignment(PA_CENTER);
  ledMatrix.print("Center"); // display text
  delay(2000);

  ledMatrix.setTextAlignment(PA_RIGHT);
  ledMatrix.print("Right"); // display text
  delay(2000);

  ledMatrix.setTextAlignment(PA_CENTER);
  ledMatrix.setInvert(true);
  ledMatrix.print("Invert"); // display text inverted
  delay(2000);

  ledMatrix.setInvert(false);
  ledMatrix.print(1234); // display number
  delay(2000);
}

Quick Steps 快速步骤

  • Connect Arduino to LED matrix as above wiring diagram
    如上接线图所示将Arduino连接到LED矩阵
  • Connect Arduino to PC via USB cable
    通过USB线将Arduino连接到PC
  • Navigate to the Libraries icon on the left bar of the Arduino IDE.
    导航到 Arduino IDE 左侧栏上的 Libraries 图标。
  • Search “MD_Parola”, then find the MD_Parola library
    搜索“MD_Parola”,然后找到MD_Parola库
  • Click Install button. 单击“安装”按钮。

Arduino MD_Parola library

  • You will be asked to install the MD_MAX72XX library for dependency. Click Install All button.
    系统将要求您安装 MD_MAX72XX 库以进行依赖。单击“全部安装”按钮。

Arduino MD_MAX72XX library

  • Copy the above code and open it with Arduino IDE
    复制上面的代码并使用Arduino IDE打开它
  • Click Upload button on Arduino IDE to upload code to Arduino
    单击Arduino IDE上的“上传”按钮,将代码上传到Arduino
  • See the LED matrix display
    查看 LED 矩阵显示

Arduino LED Matrix Code – Scrolling Text Arduino LED 矩阵代码 – 滚动文本

When you want to print a long message that is too long to fit on a LED matrix display, you can use the scroll text effect technique.
当您想要打印太长而无法安装在 LED 矩阵显示器上的长消息时,您可以使用滚动文本效果技术。

The below Arduino code shows how to scroll a message on the LED matrix display.
下面的Arduino代码显示了如何在LED矩阵显示屏上滚动消息。

/*

 * Created by ArduinoGetStarted.com
   *
 * This example code is in the public domain
   *
 * Tutorial page: https://arduinogetstarted.com/tutorials/arduino-led-matrix
   */

#include <MD_Parola.h>
#include <MD_MAX72xx.h>

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4 // 4 blocks
#define CS_PIN 3

// create an instance of the MD_Parola class
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

void setup() {
  ledMatrix.begin();         // initialize the object
  ledMatrix.setIntensity(0); // set the brightness of the LED matrix display (from 0 to 15)
  ledMatrix.displayClear();  // clear led matrix display

  ledMatrix.displayScroll("Hello", PA_CENTER, PA_SCROLL_LEFT, 100);
}

void loop() {
  if (ledMatrix.displayAnimate()) {
    ledMatrix.displayReset();
  }
}

For more text effects, please visit MD_Parola Library Reference.
如需更多文本效果,请访问MD_Parola库参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1873435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人大金仓×深信服:打造高性能、高可靠教育信创数据库一体机解决方案

信息技术应用创新是数字经济发展的关键支撑和重要基石&#xff0c;近年来&#xff0c;国家高度重视信息技术应用创新产业发展。教育行业作为我国人才培养的发动机&#xff0c;发展教育信创是保持信创创新力、是提升信创人才质量的重要举措、是保障信创产业可持续发展的关键环节…

做短视频赛道,云微客矩阵系统提醒这些雷区要避开!

90%的实体老板做抖音短视频都踩过雷区&#xff0c;那就是上来就真人出镜拍视频&#xff0c;要么自己上要么让员工上。但是我们大家试想下&#xff0c;企业做短视频是想借助平台流量找客户的&#xff0c;又不是来当网红的&#xff0c;拍剧情、想段子&#xff0c;无非就是浪费时间…

Redis集群部署合集

目录 一. 原理简述 二. 集群配置​​​​​​​ 2.1 环境准备 2.2 编译安装一个redis 2.3 创建集群 2.4 写入数据测试 实验一&#xff1a; 实验二&#xff1a; 实验三&#xff1a; 实验四&#xff1a; 添加节点 自动分配槽位 提升节点为master&#xff1a; 实验…

docker 学习之路

文章目录 1、官方文档2、常用命令挂载Docker容器内运行的脚本或命令常用 3、介绍4、Dockerfile5、问题6、链接 ​ 1、官方文档 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux…

【软件测试】对于测试中各式的概念,你了解多少?

目录 1.需求 2.开发模型 2.1.软件的生命周期 2.2.瀑布模型 2.3.螺旋模型 2.4.增量模型、迭代模型 2.5.敏捷模型 3.测试模式 3.1.V模型 3.2.双V模型 在学习后面的知识前&#xff0c;先来熟知一个概念 什么是软件测试&#xff1a;软件测试就是验证软件产品特性是否满足…

[java多版本管理] JEnv-for-Windows 详细安装和使用

文章目录 JEnv-for-Windows文件下载地址用法&#xff08;注意&#xff1a;本地覆盖更改。使用本地覆盖&#xff09;这是如何工作的&#xff1f;java 常用的版本 JEnv-for-Windows文件下载地址 温馨提示: 需要元子 文件下载地址 管理员执行jenv.bat文件 执行正常, 接下来就是…

AUTOSAR NvM模块(一)

NvMBlockDescriptor [ECUC_NVM_00061] 用于存储所有特定于块的配置参数的容器。对于每个非易失性随机存取存储器&#xff08;NVRAM&#xff09;块&#xff0c;应该指定这个容器的一个实例。 NvMBlockCrcType 定义了NVRAM块的CRC数据宽度。根据Autosar标准&#xff0c;此参数…

msvcp120.dll文件不见了要怎么处理?教你科学的方法修复msvcp120.dll

msvcp120.dll文件不见了&#xff1f;那么这时候你就要注意了&#xff0c;有可能你的某些程序已经打不开了&#xff01;因为这个msvcp120.dll文件是用来支持程序运行的&#xff0c;下面我们一起来聊一下msvcp120.dll文件不见了要怎么修复。 一.msvcp120.dll文件讲解 msvcp120.d…

Java SE入门及基础(58) 并发 进程与线程概念

目录 并发 进程和线程 1. 进程和线程 2. 进程 3.线程 总结 并发 并发(Concurrency) Computer users take it for granted that their systems can do more than one thing at a time. They assume that they can continue to work in a word processor, while other app…

AI大模型怎么备案?

随着人工智能技术的飞速发展&#xff0c;生成式AI正逐渐渗透到我们的日常生活和各行各业中。从文本创作到艺术设计&#xff0c;从虚拟助手到智能客服&#xff0c;AI的身影无处不在。然而&#xff0c;技术的创新与应用&#xff0c;离不开法律的规范与引导。为进一步保障和监管AI…

《昇思25天学习打卡营第2天|快速入门》

文章目录 前言&#xff1a;今日所学&#xff1a;1. 数据集处理2. 网络的构建3. 模型训练4. 保存模型5. 加载模型 总体代码与运行结果&#xff1a;1. 总体代码2. 运行结果 前言&#xff1a; 今天是学习打卡的第2天&#xff0c;今天的内容是对MindSpore的一个快速入门&#xff0…

HarmonyOS ArkUi ArkWeb加载不出网页问题踩坑

使用 使用还是比较简单的&#xff0c;直接贴代码了 别忘了配置网络权限 Entry Component struct WebPage {State isAttachController: boolean falseState url: string State title: string Prop controller: web_webview.WebviewController new web_webview.WebviewCont…

锐捷网络闪耀CVPR 2024,外观异常检测方案斩获世界认可!

近日&#xff0c;锐捷网络在“视觉异常检测和创新性检测2024挑战赛”(Visual Anomaly and Novelty Detection 2024 Challenge&#xff0c;简称VAND)的少样本逻辑/结构异常检测赛道(VAND 2.0赛道2)中荣获第二名&#xff0c;并在计算机视觉顶级会议CVPR 2024上展示了这一成果&…

详细介绍LP-SCADA系统的核心数据采集单元

关键字:LP-SCADA系统, 传感器可视化, 设备可视化, 独立SPC系统, 智能仪表系统,SPC可视化,独立SPC系统 SCADA系统的数据采集功能是其核心组成部分&#xff0c;它允许系统从各种传感器、仪器和设备中收集实时数据。以下是SCADA系统数据采集功能的详细描述&#xff1a; 传感器和…

我的创作纪念日学期总结

&#x1f525;个人主页&#xff1a; Forcible Bug Maker &#x1f525;专栏&#xff1a; 关于博主 目录 &#x1f308;前言&#x1f525;我的期末考试&#x1f525;我的学期总结&#x1f525;对未来的展望&#x1f308;结语 &#x1f308;前言 本篇博客主要内容&#xff1a;博…

SOLIDWORKS Electrical智能模型--实现机电一体化设计的关键

SOLIDWORKS Electrical 3D布线可以根据原理图自动生成线路&#xff0c;并且电气属性可以自动与导轨或机柜进行配合放置。但是这些电气模型该如何添加这些属性呢&#xff1f; 1.首先确保我们已经打开SOLIDWORKS Electrical 3D插件&#xff0c;接着打开一个模型&#xff0c;此处以…

【新版本来袭】ONLYOFFICE桌面编辑器8.1 —— 重塑办公效率与体验

文章目录 一、功能完善的PDF编辑器&#xff1a;重塑文档处理体验编辑文本插入和修改各种对象&#xff0c;如表格、形状、文本框、图像、艺术字、超链接、方程式等添加、旋转和删除页面添加文本注释和标注 二、幻灯片版式设计&#xff1a;创意展示的无限舞台三、改进从右至左显示…

使用SpringBoot整合Listener

常用的Web事件的监听接口如下&#xff1a; ServletContextListener&#xff1a;用于监听Web的启动及关闭 ServletContextAttributeListener&#xff1a;用于监听ServletContext范围内属性的改变 ServletRequestListener&#xff1a;用于监听用户请求 ServletRequestAttributeLi…

博睿数据受邀出席GOPS全球运维大会北京站,分享《一体化可观测数据模型和AIOps的融合实践》

2024年6月28日&#xff0c;第二十三届 GOPS 全球运维大会暨 XOps 技术创新峰会在北京顺利召开。大会为期2天&#xff0c;侧重 BizDevOps、XOps、DevOps、持续测试、SRE、可观测性、云原生等热门技术领域。并特别设置大模型运维、银行/证券数字化转型、平台工程、DevOps/AIOps 最…

游戏AI的创造思路-技术基础-机器学习(2)

本篇存在大量的公式&#xff0c;数学不好的孩子们要开始恶补数学了&#xff0c;尤其是统计学和回归方程类的内容。 小伙伴们量力而行~~~~~ 游戏呢&#xff0c;其实最早就是数学家、元祖程序员编写的数学游戏&#xff0c;一脉相承传承至今&#xff0c;囊括了更多的设计师、美术…