Arduino 8×8 LED矩阵

在这个项目中,我们将在Arduino 8×8 LED矩阵接口上了解LED矩阵显示器和两个不同的项目。第一个项目将是Arduino和8x8 LED矩阵之间的简单接口,显示信息(即使可以显示滚动信息和图像),第二个项目将是通过Android设备控制8×8 LED矩阵的高级项目。

LED矩阵是一组LED的二维阵列,可以用来显示符号、字符甚至图像。根据LED在矩阵中的方向,可以有两种类型的LED矩阵。它们是共排阳极和共排阴极。

LED矩阵模块是常用的显示设备之一,并且用于电子显示面板和通知系统等主要应用。

选择您想要在电子设备中学学的下一组Arduino项目 :Arduino项目»

项目一:简单Arduino LED矩阵界面

电路图

Arduino LED矩阵

Arduino-LED矩阵

需要组件

  • Arduino Uno Board [在这里买]
  • LED矩阵 - 8 x 8 LED DOT矩阵
  • IC1 - MAX 7219
  • R1 - 10 kΩ
  • C1 - 0.1μF
  • c - 10µf

组件描述

Arduino Uno.

该项目基于Arduino Uno MicroController板。在Arduino Uno上的14个可用数字输入/输出引脚中,我们只需要三个引脚来实现这个项目。

一个引脚向LED显示驱动器IC(MAX 7219)提供时钟信号,而另一个引脚用于将串行数据传输到IC以在LED矩阵上显示。必须在程序中适当提及相应的引脚。

LED矩阵

在该项目中使用8×8 LED矩阵显示屏以显示信息。LED矩阵有不同的样式,如单色,双色,多色或RGB LED矩阵。

它们也可用于不同尺寸,如5×7,8 x 8,16 x 16,32 x 32等。基于矩阵中的LED的布置,LED矩阵可以是普通行阳极或公共行阴极。

在公共行阳极型LED矩阵的情况下,电流源(高或正电压)给予行A-D,并且电流宿(低或负电压或地面)给出塔1-4。

常见的阳极

在公共行阴极型LED矩阵的情况下,电流源(高或正电压)给出塔1-4,并且电流槽(低或负电压或地)被提供给行A-D。

普通阴极

本项目使用的LED矩阵是一种普通的行阴极型LED矩阵。在开发项目时,必须知道LED矩阵的类型,并编写相应的程序。

IC Max 7219.

LED矩阵可以以两种方式驱动。它们并行(其中每行或列与并行数据发送)和串行(其中串行发送数据,并且使用IC将该串行数据转换为并行数据)。

MAX 7219是具有串行输入和并联输出的常见阴极显示驱动器。它用于接口微处理器和带有64个单独LED的微控制器(例如8 x 8 LED矩阵有64个LED),七个段LED显示最多8位数或条形图显示。

8 × 8的LED矩阵连接到电路图中所示的MAX 7219,接收从Arduino板到MAX 7219的数据输入。

笔记:

市场上有预线MAX 7219和8 x 8 LED矩阵模块。它们可以用于方便。

预先有线MAX 7219和8 x 8 LED矩阵

在职的

该项目的目的是用8 x 8 LED矩阵接口Arduino Uno板以显示信息。

虽然本项目使用的是一个单独的8 × 8 LED矩阵和相应的MAX 7219 IC,但多个LED矩阵可以串联在一起进行长滚动显示。按电路图所示连接元件。系统的工作原理如下。

14个数字输入/输出引脚中的3个用于控制显示驱动IC MAX 7219。MAX7219 IC上的3个引脚是时钟,数据和负载(或在MAX 7221 IC的情况下cs)。可应用的最大时钟频率为10MHz。DIN (Data in)接收来自微控制器或Arduino板的串行数据。

长16位第一个8位(D0, D7)驾驶的列(赛格g和DP的MAX 7219 IC) LED矩阵和接下来的8位(D8 - D15)是驱动(挖鹿的MAX 7219 IC) LED矩阵的行。

MAX 7221 IC的情况下,负载引脚(或CS或CIP选择引脚)锁存其上升沿的串行输入数据。

MAX 7219上的另一个重要引脚是ISET,它将峰值电流设置为段以驱动所有LED。它通过电阻(R1)连接,称为RSET。电容器滤除电源中的任何噪声。

当通过Arduino(通过程序)发送串口数据时,将串口数据转换为段和数字,驱动LED矩阵的列和行。根据发送的数据,矩阵上相应的led点亮并显示信息。

这里写的程序用于滚动文本显示。在单个8 x 8 LED矩阵上难以查看长滚动数据。因此,可以将多个LED矩阵粘合以形成长矩阵。

没有。的MAX 7219集成电路等于no。8 x 8 LED矩阵。为了将显示扩展到多个LED矩阵,第一个MAX 7219的Data OUT (DOUT)引脚必须连接到第二个MAX 7219 IC的Data In (DIN)引脚。对于多个LED矩阵,这个过程必须继续进行。

(链条中LED矩阵的定位很重要。第一LED矩阵必须放置在链的右侧。)

代码

笔记

  • 该程序使用名为LEDControl的库。必须将此库添加到Arduino IDE中,并且必须将标题文件LEDControl.h包含在程序中。
  • 使用此库文件是启用多个MAX 7219 IC,以集成并提供滚动文本。可以从中下载库关联

项目2:Arduino 8x8 LED矩阵接口与Android手机

Arduino 8×8 LED Matrix Interface系列中的第二个电路是基于蓝牙通信和Android手机的。在这个项目中,Arduino和Android手机使用蓝牙通信的接口,通过Android手机上的专用应用程序控制通过MAX7219连接到Arduino的8×8 LED Matrix。

我们在上一个项目中已经看到了8×8 LED矩阵和MAX7219 IC的连接。因此,我将跳过该部分连接,并继续使用MAX7219 IC与Arduino接口。

但是在前面的电路中,我没有提到一个典型的8×8 LED矩阵的引脚图。因此,为了实现这一点,下面的图像显示了8×8 LED矩阵的引脚。

Arduino 8x8 LED矩阵引脚图

您可以观察到,8×8 LED矩阵由16个引脚组成:8行和8列。通常,行与LED的阳极相关联,并且列与LED的阴极相关联。

电路图

Arduino 8x8 LED矩阵电路图

需要组件

  • Arduino Uno.
  • MAX7219 IC板
  • 8×8 LED矩阵
  • HC-05蓝牙模块
  • Android手机安装了应用程序

电路设计

由于Arduino和MAX7219之间的通信是基于SPI通信协议,所以我们只需要Arduino的3个引脚(Data, Clock, Chip Select)。MAX7219 IC Board的CS、CLK、DIN引脚分别连接Arduino的引脚10、11、12。

正如我们使用Arduino和Android设备之间的蓝牙连接,HC-05蓝牙模块的RX和TX引脚连接到Arduino(引脚1和0)的TX和RX引脚。

通过Android App控制8×8 LED Matrix

基于Android的设备的专用应用程序是为此项目设计的。已安装在移动电话上的应用程序的布局显示在以下图像中。

Arduino 8x8 LED矩阵Android应用程序

该应用程序有8×8个方格(每个对应于8×8 LED矩阵上的一个LED),一个复位按钮和断开按钮。触摸特定的方块将打开8×8 LED矩阵中的特定LED。

方形的颜色将变为红色,作为LED接通的指示。再次触摸正方形将关闭相应的LED,方形的颜色将恢复为灰色。

底部提供重置按钮,您可以使用该按钮,您可以使用该按钮,您可以使用该按钮重置8×8 LED矩阵i.e.将关闭所有LED。断开连接按钮将与蓝牙断开连接。

笔记:该应用程序利用了手机的蓝牙功能。因此,必须给予必要的权限。此外,HC-05蓝牙模块必须与设备(手机)配对。

下载Android应用程序

您可以下载并安装本项目用于Android设备的App。使用链接安装应用程序。

Arduino 8×8 LED矩阵图像1
Arduino 8×8 LED矩阵图像2
Arduino 8×8 LED矩阵图像3

代码

应用程序

  • 基于Arduino的8 x 8 LED矩阵显示器仅使用3个微控制器的引脚。因此,它可以用于显示信息的应用程序是系统的另一个销可以用于其他外围设备的系统的应用。
  • LED Matrix是一种基本形式的显示设备,用于公共场所的信息显示,如公共汽车或火车站。
  • 多个LED矩阵可以组合成大屏幕,可以用来显示多种颜色的图像。

22回应

      1. 最多7219芯片兼容8×8 LED矩阵常见阳极显示屏吗?我需要帮助,请与我分享MAX7219 + 8×8 LED矩阵常见阳极模块的示意图。谢谢你

  1. 对于使用应用程序的控制,我必须用库复制哪个代码(没有应用程序或应用程序代码)?

  2. 兄弟我很高兴你做了这项伟大的工作,因为我的老师拒绝了使用蓝牙的手机控制车辆项目,但现在我可以购买LED模块,可以使用我的前项目的旧组件谢谢你

  3. 我目前正在使用Android手机进行那个。我复制了代码和一切。我也能使用应用程序将手机连接到HC-05,但是LED矩阵不会亮起。请帮忙!!

  4. 嗨,如何单独控制多个点阵矩阵?通过您所写的帖子,似乎多个显示屏将在每个显示器中显示同一件事

  5. 嗨,我有MAX7219装配在侧面的芯片......我必须得到你在施工中使用的东西来级联多个矩阵吗?

发表评论

您的电子邮件地址不会被公开。必填字段被标记*