用单片机DIY创意LED灯

当我们刚开始接触单片机的时候,总迫不及待想使用它来制作一个属于自己的东西,而LED灯由于控制起来简单易操作,因此网上也有很多关于用LED灯DIY一些小东西,像时钟,流水灯,交通信号灯,点阵,光立方等等。这些制作起来成本也不是很高,但创意是不得不承认,真的不错,做出来效果也是很好,很美!随着技术的发展,LED灯的颜色不仅限于一种,蓝色,红色,绿色,七彩在生活中也较为常见,如果能够用单片机控制它们轮流点亮,会是怎样的一个场景呢?

今天我们就简单说一下比较火的流水灯和光立方。

先来说下流水灯,流水灯表面意思就是把LED灯轮流点亮,实现流水效果。学电子的朋友可能对流水灯印象较深,因为在一开始步入大学的时候一般会参加一些制作流水灯的比赛,在我上大一的时候对这种类型的比赛积极性特别高,在一开始做出产品看到其效果,也感到惊讶。

还记得在前天的时候我们学习了如何用单片机点亮一个LED灯,其实同样的道理只要我们把各个端口拉低接地,另一端串联一个电阻接到VCC就可以实现点亮所有的LED,在单片机中通用IO口有四大种,共32个IO口(P0、P1、P2、P3,每一种又有8个,所以一共有32个通用IO口),我们把P3^0和P3^1这两个IO口空下来,以便下载程序,剩下的就有30个IO口,按照通用的套路把LED灯与这30个IO口相连,就可以通过程序控制每一个灯亮,由于每个IO口都可独立控制,所以可以按照先后顺序延时点亮每一个LED灯,实现流水的效果。

效果图如下

流水灯是一个平面结构,如果想玩的更难一点更好看一点,可以选择做成光立方(是一种立体结构),其中有一种是8*8*8一共512个LED灯,而51单片机却只有32个IO口,而这单独只用单片机就不能实现这个任务了,一个比较常用的解决方法就是实用锁存器,基本原理和控制一个LED灯类似,我们通过写程序让LED灯正极连在电源正极负极连在负极。

光立方

在单片机中无论是流水灯还是光立方都可以独立控制每一个灯的亮灭,只要我们把需要点亮某个的灯的指令发送给单片机,就可以实现上图中的效果。

光立方和流水灯控制程序都是挺长的,要实现好的效果,少说也得有上千行,但只要我们了解其工作原理,知道控制方法,总有一天会做出一个属于你的DIY。

发布于 2025-04-05
93
目录

    推荐阅读