在这个项目中,我们将学习LED矩阵显示器和Arduino 8×8 LED矩阵接口上的两个不同项目。第一个项目将是Arduino和8x8 LED矩阵之间的简单接口,以显示信息(即使可以显示滚动信息和图像),第二个项目将是通过Android设备控制8×8 LED矩阵的高级项目。
LED矩阵是一个二维LED阵列,可以用来显示符号、字符甚至图像。根据LED在矩阵中的方向,可以有两种类型的LED矩阵。它们是共排阳极和共排阴极。
项目1:简单的Arduino LED矩阵接口
电路图
组件的要求
- Arduino Uno Board [在这里买]
- LED矩阵- 8 x 8 LED点阵
- IC1 - MAX 7219
- R1 - 10 kΩ
- C1 - 0.1μF
- C2 - 10µf
组件描述
Arduino Uno.
该项目是基于Arduino Uno微控制器板。Arduino Uno上有14个数字输入/输出引脚,我们只需要3个引脚就可以实现这个项目。
一个引脚向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矩阵的类型,并编写相应的程序。
集成电路马克斯7219
LED矩阵有两种驱动方式。它们是并行的(每行或每列都发送并行数据)和串行的(数据串行发送,并使用集成电路将串行数据转换为并行数据)。
MAX 7219是具有串行输入和并联输出的普通阴极显示驱动器。它用于接口带有64个单独LED的微处理器和微控制器(例如8 x 8 LED矩阵有64个LED),七个段LED显示最多8位数或条形图显示。
如电路图所示,8 x 8 LED矩阵连接到MAX 7219,从Arduino板接收数据输入到MAX 7219。
笔记:
预连线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个引脚分别是时钟,数据输入和加载(或在max7221 IC的情况下的cs)。可以应用最大的时钟频率为10MHz。DIN (Data in)接受来自微控制器或Arduino板的串行数据。
长16位第一个8位(D0, D7)驾驶的列(赛格g和DP的MAX 7219 IC) LED矩阵和接下来的8位(D8 - D15)是驱动(挖鹿的MAX 7219 IC) LED矩阵的行。
负载引脚(或CS或芯片选择引脚在最大7221 IC的情况下)锁存串行输入数据在其上升边缘。
MAX 7219上的另一个重要销是ISET,它将峰值电流设置为段以驱动所有LED。它通过电阻(R1)连接,称为RSET。电容器滤除电源中的任何噪声。
当使用Arduino(通过程序)发送进来的串行数据时,将串行数据转换成段和数字,驱动LED矩阵的列和行。根据发送的数据,相应的led在矩阵上点亮并显示消息。
这里写的程序是用来滚动文本显示的。在一个8 x 8 LED矩阵上查看长时间滚动的数据可能很困难。因此,多个LED矩阵可以连接起来形成一个长矩阵。
没有。max7219集成电路的最大容量相当于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 ICs,并提供滚动文本。图书馆可以从这里下载链接.
项目2:Arduino 8X8 LED矩阵接口与Android手机
Arduino 8×8 LED矩阵接口系列的第二个电路是基于蓝牙通信和Android手机。在这个项目中,我们通过蓝牙通信将Arduino与Android手机进行接口,通过MAX7219将8×8 LED矩阵连接到Arduino,通过Android手机上的专用应用程序进行控制。
我们已经在之前的项目中看到了8×8 LED矩阵和MAX7219集成电路是如何连接的。因此,我将跳过这部分连接,继续讨论MAX7219 IC如何与Arduino接口。
但我没有提到一个典型的8×8 LED矩阵的引脚图在之前的电路。因此,为了实现这一点,下面的图像显示了8×8 LED矩阵的引脚。
您可以观察到,8×8 LED矩阵由16个引脚组成:8行和8列。通常,行与LED的阳极相关联,并且列与LED的阴极相关联。
电路图
组件的要求
-
- Arduino Uno.
- MAX7219 IC板
- 8×8 LED矩阵
- HC-05蓝牙模块
- Android手机安装了应用程序
电路设计
由于Arduino和MAX7219之间的通信基于SPI通信协议,我们所需要的是三个引脚Arduino(数据,时钟和芯片选择)。MAX7219 IC板的CS、CLK和DIN引脚连接到Arduino的10、11和12引脚。
正如我们使用Arduino和Android设备之间的蓝牙连接,HC-05蓝牙模块的RX和TX引脚连接到Arduino(引脚1和0)的TX和RX引脚。
通过Android应用控制8×8 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 x 8 LED矩阵显示只使用了3个引脚的微控制器。因此,它可以用于显示信息是系统的一部分的应用程序中,其中微控制器的其他引脚可以用于其他外围设备。
- LED矩阵是公交、火车站等公共场所信息显示的一种基本形式。
- 多个LED矩阵可以组合形成大型显示器,并可用于显示多颜色的图像。
22日回复
我需要h文件......刚才不工作
文件在页上写得很清楚
很好的. .
我的项目没有我能做的工作
这个项目很好,很简单
非常感谢!
我做到了。
<3
给我这个项目的全部代码。电子邮件_hay.ankitsingh@gmail.com.
你好,
我们已经在网站上提供了一切——代码,应用程序的链接。
最多7219芯片兼容8×8 LED矩阵常见阳极显示屏吗?我需要帮助,请与我分享MAX7219 + 8×8 LED矩阵常见阳极模块的示意图。谢谢你
为了控制使用应用程序,我必须复制的代码(代码没有应用程序或与应用程序代码)与库?
使用第二个代码(在下载应用程序链接下面)。
兄弟,我很高兴你做了这个伟大的工作,因为我的老师拒绝了我最近的项目的手机控制车辆使用蓝牙,但现在担心我可以买led模块,可以使用我以前的项目的旧组件,谢谢
如何控制同一个....的4个模块请把代码发给我。
如何级联4 led矩阵?
请提供代码
我目前正在使用Android手机进行那个。我复制了代码和一切。我也能够使用应用程序将手机连接到HC-05,但事情是LED矩阵不会亮起。请帮忙!!
你好,在你的时间表里,我觉得你混合了RXD和TXD连接。
非常好 !!
救救我,我在镜子里
嗨,如何单独控制多个点阵矩阵?通过您所写的帖子,它似乎是多个显示屏将在每个显示器中显示同一件事
我在哪里可以得到led控制h库
什么是Android上的应用程序。请告诉我。
嗨,我有max7219装配在一边的芯片…我必须得到一个像你在建设中使用的级联多个矩阵?