LED点阵显示

176301年

115

19

介绍:LED点阵显示

关于:我是一个技术爱好者,总是做有趣和创新的东西。订阅我=乐趣+兴奋!!!!!!!!!。如果你想学习Android开发,请访问我的网站。
在这个项目中,您将再次使用两组移位寄存器。这些将连接到行和
点阵显示的列。然后你将在显示器上显示一个简单的对象或精灵
动画。这个项目的主要目的是向您展示一个点阵显示是如何工作的,并介绍
多路复用的概念,因为这是一个无价的技能。

第一步:所需的东西

对于这个项目,您将需要-:

1.1领导矩阵
2.8个电阻1k欧姆
3.8 557个晶体管
4.1 ULN2803集成电路
5 Arduino
6.2 74HC595移位寄存器
7.2面包板
8.连接电线

步骤2:工作

点阵单位通常有5x7或8x8的led矩阵。led连接在
每个LED的阳极或阴极在每行中都是常见的。换句话说,在
普通的阳极LED点阵单位,每排LED都将其所有的阳极在那排电线
在一起。led的阴极在每一列中都被连接在一起。这样做的原因是
很快变得明显。
一个典型的8 × 8的单色点阵单元将有16个引脚,每一行8个,每列8个。
行和列都连接在一起的原因是为了减少所需的引脚数量。
如果不是这样,一个单一颜色的8 × 8点阵单位将需要65个引脚,每个LED和一个
共阳极或阴极连接器。通过将行和列连接在一起,只有16个引脚
必需的。

然而,如果你想让一个特定的LED在特定的位置发光,这就会带来一个问题。如果,
例如,你有一个普通的阳极单元,想要在X, Y位置5,3(第5列,
第三行),然后你将对第三行施加电流,并将第5列引脚接地。
第五列和第三排的LED灯现在亮了。

现在让我们想象一下,你也想点亮第6行第3列的LED灯。所以你施加一个电流
将第6行和第3列销钉接地。第6行第3列的LED现在亮了。但是等等…
第3列,第6列和第5列,第6列的led灯也亮了。


这是因为你对第3和第6行施加了电力,对第3和第5列施加了电力。你不能
关掉不需要的led而不要关掉你想要打开的led。看来没有
方法,您可以点亮两个所需的led,行和列连接在一起。的
唯一可行的方法是为每个LED设置一个独立的引脚,这意味着引脚的数量
会从16岁上升到65岁。一个65针的点阵单元很难连接和控制,因为
你需要一个至少有64个数字输出的微控制器。
有办法解决这个问题吗?是的,有,它叫多路复用(或多路复用技术)。


多路复用是一种每次打开一排显示器的技术。通过选择列
这一行包含了你想要点亮的LED,然后把电源转到这一行
行(或者普通的阴极显示器反过来),选择的led将在那一行
照亮。然后关闭这一行,打开下一行,同样使用适当的
列选中后,第二行的led灯就会亮起来。每一行重复做一遍,直到
从底部开始,再从顶部开始。
如果这样做的速度足够快(超过100Hz,或每秒100次),那么
视觉持续性(残像在视网膜上停留约1/25秒)意味着
即使每一行都是按顺序打开和关闭的,显示仍然是稳定的。
通过使用这种技术,您可以避免显示单个led而不使用
同列或同列的其他led也被点亮。

通过向下扫描行并照亮该行每一列中各自的led
这样做非常快(超过100Hz),人眼将感知图像为稳定和图像
心脏将被识别在LED图案。
您在Project的代码中使用了这种多路复用技术。这就是显示的方式
心脏动画,也不显示额外的led。

步骤3:

你必须计算出你能用的电阻器的值
你应该首先得到你的led的一些规格,你应该知道他们的正向电压和正向电流,你可以从数据表中得到这些信息。电路工作在5V,所以你的源电压是5V,可以从5V适配器获得

下载原始文件以更好地查看原理图。(按图片左上角的“i”图标)

第四步:让它发挥作用

我在矩阵上做了一个arduino串行显示器显示句子的程序,我的代码很基础。我做了一个android应用程序来制作显示字体。请访问以下页面安装应用程序https://play.google.com/store/apps/details?id=com.androidtutorialpoint.leddotmatrix

第五步:全部完成!!!!!!!!!

恭喜你的8x8 led矩阵已经准备好了。你可以显示任何你想要的。现在你可以玩它,并通过手动焊接led的8x8 led矩阵或16x8矩阵等!!!!!!

第一个分享

    建议

    • 暑期乐趣:学生设计挑战

      暑期乐趣:学生设计挑战
    • 飞起来挑战

      飞起来挑战
    • 首次作家大赛

      首次作家大赛

    19日的评论

    0
    FabioC130

    问题两年前步骤4

    嗨。为什么阳极和阴极都要用晶体管?如果我们按行复用,在阴极一侧我们有多达8个led同时上,总共8 x20ma,这对74HC595的一个引脚来说太多了,因此我理解需要晶体管。在阳极一侧,74HC595的每个引脚同时提供最大1个led,因此输出只有20mA,这是74HC595可以提供的,晶体管似乎是多余的。

    0
    MissIchuC

    4年前

    有人给我解释一下,如果我有一个40h*80w的LED矩阵,我应该怎么做

    0
    moj9999

    4年前

    怎么停止滚动文字!!

    我想在中心和固定显示性格

    0
    MuhammadW25

    5年前

    我做了,但是如何添加更多的列??

    0
    MirzaE

    5年前

    长官,我这样做了,但是没有字母,所有的led都亮了

    好:D。

    我这样做了,但不是字母点亮整个矩阵,而字母没有。

    0
    Electo4fun

    7年前的回复步骤4

    啊,我修好了……在代码中,您必须删除'~'。

    0
    dinesh.maharjan.94064

    6年前的回复介绍

    谢谢你的回复。你能简要地说一下吗?我不明白要不要去掉'~'。

    0
    MarioK1

    六年前介绍

    哦,天哪,你的文章太棒了,但在我看来,你的源代码应该有更多的注释或合理的变量名:我想为我的工业点阵显示器找到一些解决方案(提示:他们在最后一个移位寄存器中添加了单独的列晶体管,这样你就可以控制串行移位的一切)……不过还是谢谢你!

    谢谢你的原理图和代码。在该代码中只有2次文本信息显示。但我想长时间显示短信,直到另一个串行监视器发送下一条短信。所以请帮帮我。我的id是dinfrnpal@gmail.com

    我能使用德州仪器的s8050 d331晶体管吗?我从一套装备中得到的,我想知道它们是否能很好地替代它?

    0
    zeeroo

    7年前介绍

    图片显示TO-92 NPN晶体管,但零件表显示557是PNP
    从原理图上看,应该是PNP晶体管
    对吧?

    0
    zeeroo

    7年前的回复介绍

    抱歉,我的意思是应该是NPN而不是PNP

    0
    petros9

    7年前介绍

    LED灯需要多长时间打开?刷新率是多少?
    扫描列/行和从一列/行切换到另一列/行需要多少时间?

    谢谢提前

    0
    msemtd

    7年前的回复介绍

    顺便说一下,我还没有阅读作者的Arduino代码,但我建议在一个计时器中断中执行每一行的刷新(查看Arduino操场上的帮助使用计时器中断)。

    你想要选择一个在人眼看来流畅的刷新率,即超过每秒50次更新(整个显示器),即50Hz。假设我们选择每毫秒刷新一行。这相当于每秒1000行更新或在这个8行显示上每秒1000/8个完整显示更新。即125Hz刷新率。

    通过每2毫秒更新一行,我们可以轻松地将此速率减半至62.5Hz(对于62.5Hz的16像素高显示,1ms是理想的)。在2毫秒的行扫描时间内led保持亮着的持续时间将指示显示有多亮!

    Arduino将花费一点时间将每一行的数据记录到移位寄存器中。对于较长的像素显示,移位寄存器链在一起,需要移位更多的位。值得庆幸的是74HC595有一个锁存器,所以数据可以在下一行被记录下来,而前一行正在led上显示!

    智能编码的定时器中断将允许Arduino做其他工作,同时保持一个稳定的刷新率。当我有机会在Arduino上尝试这个时,我会发布一些代码。顺便说一下:我的工作是写固件滚动LED矩阵显示:D

    0
    layal_1

    8年前介绍

    我可以在没有Arduino的情况下做这个项目吗?

    0
    天使6120

    回复8年前介绍

    如果您发现这个项目没有使用Arduino。你能帮我个忙吗?