凡是官网购买产品,均可以获得积分,(积分可以用来下载技术资料)还可以获得精致技术支持。yabovip2018.com实验室可提供全套电子方案定制服务,了解详情请咨询客服。           
查看: 1812|回复: 7
打印 上一主题 下一主题

yabovip2018.com开源快速入门4-制作一个流水灯简单作品

[复制链接]

367

主题

2195

帖子

974

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
974
跳转到指定楼层
楼主
发表于 2018-6-23 16:16:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我们在上一篇中成功的点亮了一个LED灯,在这篇我们使用之前的知识,应用6个LED灯组合制作一个简单的流水灯作品。
一、工具原料
  • 电脑,windows系统
  • yabovip2018.com开发板
  • micro-usb线
  • LED灯6个
  • 220Ω 电阻6个
  • 面包板一个+若干跳线
二、硬件连接原理图如下:

硬件连接和实际电路如下:

三、方法步骤
1、打开yabovip2018.com开发工具,新建一个工程,名字为LED6-test,编辑如下代码:
  1. /**
  2. *    文件: LED6-test.ino
  3. *    作者: yabovip2018.com实验室
  4. *    时间: 2018/06/23 16:35
  5. *    说明:
  6. **/


  7. // the setup routine runs once when you press reset:
  8. void setup() {
  9.     // put your setup code here, to run once:
  10.         int x;
  11.         for(x=1; x<=6; x++) //用一个for循环依次将1-6号引脚设置为输出
  12.                 pinMode(x, OUTPUT);
  13. }

  14. // the loop routine runs over and over again forever:
  15. void loop() {
  16.     // put your main code here, to run repeatedly:
  17.         int i;
  18.         for(i=1; i<= 6; i++)
  19.         {
  20.                 digitalWrite(i, LOW);//依次打开1-6灯,并延时一会儿
  21.                 delay(200);
  22.         }
  23.         for(i=1; i<= 6; i++)
  24.         {
  25.                 digitalWrite(i, HIGH); //依次关闭1-6号灯,并延时一会儿
  26.                 delay(100);
  27.         }
  28. }

2、按照之前的方法将代码编译后上传到开发板中。
四、成果展示
上面步骤都成功完成后,我们看到6个LED开始出现流水灯的效果,如下:

有上面的几个步骤就完成了一个简单的流水灯作品,毕竟是自己的第一个电子作品,但还是有一定的观赏性的,有很多的广告灯效果就是基于这样制作的,只是做的更美观一些罢了。

说明:LED一般需要的电压是1.7V,从板子供电电压是5v,所以需要加一个电阻
yabovip2018.com开源-让电子制作变得更简单! --- yabovip2018.com实验室

0

主题

7

帖子

743

活跃值

高级会员

Rank: 4

活跃值
743
沙发
发表于 2019-10-26 13:52:21 | 只看该作者
我要是想要全部同时闪烁要怎么写这个代码呢

367

主题

2195

帖子

974

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
974
板凳
 楼主| 发表于 2019-10-26 14:09:29 | 只看该作者
余意 发表于 2019-10-26 13:52
我要是想要全部同时闪烁要怎么写这个代码呢

[C++] 纯文本查看 复制代码
for(i=1; i<= 6; i++)
        {
                digitalWrite(i, LOW);//依次打开1-6灯,并延时一会儿
                delay(200);
        }
        for(i=1; i<= 6; i++)
        {
                digitalWrite(i, HIGH); //依次关闭1-6号灯,并延时一会儿
                delay(100);
        }


把这里代码里面的延时放在循环外面即可
yabovip2018.com开源-让电子制作变得更简单! --- yabovip2018.com实验室

0

主题

7

帖子

743

活跃值

高级会员

Rank: 4

活跃值
743
地板
发表于 2019-10-28 21:36:11 | 只看该作者
roc 发表于 2019-10-26 14:09
[my_shl_code=cpp,true]for(i=1; i

        for(i=0;i<3;i++)
        {
        digitalWrite(0, LOW);
        digitalWrite(1, LOW);
        digitalWrite(2, LOW);
        digitalWrite(3, LOW);
        digitalWrite(4, LOW);
        digitalWrite(5, LOW);
        digitalWrite(6, LOW);
        digitalWrite(7, LOW);
        delay(1000);
               
        digitalWrite(0, HIGH);
        digitalWrite(1, HIGH);
        digitalWrite(2, HIGH);
        digitalWrite(3, HIGH);
        digitalWrite(4, HIGH);
        digitalWrite(5, HIGH);
        digitalWrite(6, HIGH);
        digitalWrite(7, HIGH);
        delay(1000);
               
我现在采用了这种方法使它同时闪烁三次,可是可以直接使用数组嘛????
可以的话我要怎么写呢

367

主题

2195

帖子

974

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
974
5#
 楼主| 发表于 2019-10-29 08:31:52 | 只看该作者

先把引脚存放到数组,int ledPins[] = {0,1,2,3,4,5};

然后循环里直接操作数组即可,
[AppleScript] 纯文本查看 复制代码
digitalWrite(ledPins[i],LOW);
yabovip2018.com开源-让电子制作变得更简单! --- yabovip2018.com实验室

0

主题

7

帖子

743

活跃值

高级会员

Rank: 4

活跃值
743
6#
发表于 2019-10-29 12:33:39 | 只看该作者
int ledPins[] = {0,1,2,3,4,5,6,7};
        for(i=0;i<7;i++)
        {
                digitalWrite(ledPins[i],LOW);
                delay(500);
                digitalWrite(ledPins[i],HIGH);
                delay(500);
        }
这样写的话它报错

367

主题

2195

帖子

974

活跃值

管理员

Rank: 9Rank: 9Rank: 9

活跃值
974
7#
 楼主| 发表于 2019-10-29 14:37:52 | 只看该作者
余意 发表于 2019-10-29 12:33
int ledPins[] = {0,1,2,3,4,5,6,7};
        for(i=0;i

请贴出完整的报错信息
yabovip2018.com开源-让电子制作变得更简单! --- yabovip2018.com实验室

0

主题

7

帖子

743

活跃值

高级会员

Rank: 4

活跃值
743
8#
发表于 2019-10-29 16:59:58 | 只看该作者
roc 发表于 2019-10-29 14:37
请贴出完整的报错信息

我已经弄好了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver| 手机版| 小黑屋| yabovip2018.com实验室 ( 粤ICP备17040594号-3 )

GMT+8, 2019-11-25 05:58 , Processed in 0.280273 second(s), 22 queries .

快速回复 返回顶部 返回列表