制作旋转led_每周一推|旋转LED屏幕DIY

39d9ae9fdeeaeefd88bfb991d7bc443e.png

小海狮们大家好,又到了我们的每周一推时间。今天主题是旋转LED灯的原理,让我们一起来看看吧!

首先有请我们的LED灯登场!

5a71eb3a2423b54802772593d1535abd.gif 5a71eb3a2423b54802772593d1535abd.gif 308d1659a4ad5c1a00525784d21604c3.png 5a71eb3a2423b54802772593d1535abd.gif 5a71eb3a2423b54802772593d1535abd.gif 35a7d72f91c67287d40eadd6e944643d.gif

指尖陀螺旋转LED灯

e6880364eb28cfc8e5e41193ab0e9ceb.png

如果你在网上用google搜索“POV led”一词(POV即persistancd of vision),会找到世界各地的各种LED旋转屏的制作介绍。那些摇晃出的空中图案,漂浮在车轮上的动画,以及形态各异的时钟,一定给你留下深刻印象。你是否想过自己亲自动手做一个属于你自己的LED旋转屏呢?所有你看到的LED旋转屏的原理说白了就是一个晃动的流水灯。在51单片机最简系统的其中的一个端口P0接上8个LED,就是一个典型的流水灯实验电路。也就是这个样子的。

335eb52bb76ee2b79ef4b9211f789564.png

那让我们来看一下LED灯的制作过程吧!

Q&A

Q1:我们需要哪些材料呢?

首先我们需要一个单片机、一个电机以及LED灯。

Q2:我们搭建硬件需要哪些步骤?

①旋转LED的核心是单片机,首先要根据单片机最小系统图,制作出控制器的最小系统。

②将单片机的P1和P2引脚用导线引出,准备用来控制LED灯。同时将电源的正极用导线引出,作为LED灯的公共端。

③将若干个个LED灯在PCB板上焊成一列,将每个灯的正极连接到一起并连接到单片机的正极的引出线上,把每个灯的负极按从上到下的顺序连接到P1P2端口上。

④找一个结实点的底座,将电机固定好,并在电机的电源线上串上可变电阻,用来调节转速。将制作好的上体固定在电机的底座上就制作完成了。

491772f52d7b105f9e93b29cf7958348.png

电路图真的看起来非常复杂呢。

Q3:我们软件控制需要哪些步骤呢?

接下来是程序部分,这个是比较简单的,大家只需要修改引脚和汉字的代码即可将程序烧录到单片机,让电机转起来就成功了。这里有一个源代码提供给大家,大家快来试试看吧!

下载地址:

01fbd86121a98c226e25763263e5134b.png

(向上滑动获得代码)

int d = 2;

void setup() {

    pinMode(2, OUTPUT);

    pinMode(3, OUTPUT);

    pinMode(4, OUTPUT);

    pinMode(5, OUTPUT);

    pinMode(6, OUTPUT);

    pinMode(7, OUTPUT);

    pinMode(8, OUTPUT);

    pinMode(9, OUTPUT);

    pinMode(10, OUTPUT);

    pinMode(11, OUTPUT);

    pinMode(12, OUTPUT);

    pinMode(A1, OUTPUT);

    pinMode(A2, OUTPUT);

    pinMode(A3, OUTPUT);

    pinMode(A4, OUTPUT);

    pinMode(A5, OUTPUT);

}

void loop() {

    digitalWrite(4, HIGH);

 digitalWrite(5, HIGH);

 digitalWrite(A5, HIGH);

    delay(1);

    digitalWrite(2, LOW);

 digitalWrite(3, LOW);

 digitalWrite(4, LOW);

 digitalWrite(5, LOW);

 digitalWrite(6, LOW);

 digitalWrite(7, LOW);

 digitalWrite(8, LOW);

 digitalWrite(9, LOW);

 digitalWrite(10, LOW);

 digitalWrite(11, LOW);

 digitalWrite(12, LOW);

 digitalWrite(A1, LOW);

  digitalWrite(A2, LOW);

 digitalWrite(A3, LOW);

 digitalWrite(A4, LOW);

  digitalWrite(A5, LOW);

    digitalWrite(3, HIGH);

 digitalWrite(6, HIGH);

 digitalWrite(A5, HIGH);

    delay(1);

    digitalWrite(2, LOW);

 digitalWrite(3, LOW);

 digitalWrite(4, LOW);

 digitalWrite(5, LOW);

 digitalWrite(6, LOW);

 digitalWrite(7, LOW);

 digitalWrite(8, LOW);

 digitalWrite(9, LOW);

 digitalWrite(10, LOW);

 digitalWrite(11, LOW);

 digitalWrite(12, LOW);

 digitalWrite(A1, LOW);

  digitalWrite(A2, LOW);

 digitalWrite(A3, LOW);

 digitalWrite(A4, LOW);

  digitalWrite(A5, LOW);

    digitalWrite(2, HIGH);

 digitalWrite(7, HIGH);

 digitalWrite(A5, HIGH);

    delay(1);

    digitalWrite(2, LOW);

 digitalWrite(3, LOW);

 digitalWrite(4, LOW);

 digitalWrite(5, LOW);

 digitalWrite(6, LOW);

 digitalWrite(7, LOW);

 digitalWrite(8, LOW);

 digitalWrite(9, LOW);

 digitalWrite(10, LOW);

 digitalWrite(11, LOW);

 digitalWrite(12, LOW);

 digitalWrite(A1, LOW);

  digitalWrite(A2, LOW);

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值