极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: redtxd

最笨的方法做爆闪灯,求好方案!!

[复制链接]
发表于 2016-10-27 08:23:03 | 显示全部楼层 |阅读模式
本帖最后由 redtxd 于 2016-10-27 10:10 编辑

想给孩子车上装个arduino爆闪灯,晚上在路上玩的时候安全一点。本想用条件、跳转等指令实现,可是怎么都不对,只好使用最笨的方法了,请各位大神给予指导。

图片怎么发布上去了?

代码如下:
int led1Pin = 11;
int led2Pin = 12;

void setup()

{

  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
}
void loop()
{
  digitalWrite(11,LOW);
  delay(100);
  digitalWrite(11,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  delay(100);
  digitalWrite(11,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  delay(100);
  digitalWrite(11,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  delay(100);
  digitalWrite(11,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  delay(100);
  digitalWrite(11,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  delay(300);
  digitalWrite(12,LOW);
  delay(100);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(12,LOW);
  delay(100);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(12,LOW);
  delay(100);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(12,LOW);
  delay(100);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(12,LOW);
  delay(100);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(12,LOW);
  delay(300);
  digitalWrite(11,HIGH);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
  delay(100);
  digitalWrite(11,HIGH);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
  delay(100);
  digitalWrite(11,HIGH);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
  delay(100);
  digitalWrite(11,HIGH);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
  delay(100);
  digitalWrite(11,HIGH);
  digitalWrite(12,HIGH);
  delay(100);
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
  delay(300);


}

回复

使用道具 举报

 楼主| 发表于 2016-10-27 12:52:07 | 显示全部楼层
怎么直接发不了图,只能在这里补充图片了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2016-10-27 15:38:34 | 显示全部楼层
你在loop里写一个闪烁的流程就可以了,loop会自己无限循环
另外不建议使用爆闪,这东西对孩子眼睛不好
回复 支持 反对

使用道具 举报

发表于 2016-10-27 16:30:55 | 显示全部楼层
写个数组,然后用while循环不断循环读数组,数组中的数或者字符串代表闪哪个灯,这种方式虽然复杂但是易于维护,以后改数组就能控制闪烁方式。
回复 支持 反对

使用道具 举报

发表于 2016-10-27 19:51:22 | 显示全部楼层
自己玩玩熟悉原理可以,也就是延迟执行。实际应用没必要,tb买一个成品几元钱

爆闪其实不需要arduino,也不需要单片机,一个NE555+电容就可以实现了,tb卖的也很多,成本不到1元钱
回复 支持 1 反对 0

使用道具 举报

发表于 2016-10-28 15:36:44 | 显示全部楼层
另外,大功率的LED不建议用Arduino直驱,io引脚输出电流不够。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-29 19:35:13 | 显示全部楼层
谢谢大家教诲,功率的问题考虑用三极管或MOS管扩流,主要目的是学习,想着用if...else,但是水平有限,只好用最笨的方法实现,看着非常简单,但是对新上手玩儿Arduino的人来说还是比较麻烦。
回复 支持 反对

使用道具 举报

发表于 2016-10-30 18:44:25 | 显示全部楼层
試試這個

void setup() {               
  pinMode(13, OUTPUT);
  pinMode(7, OUTPUT);   
}

void loop() {
  digitalWrite(13, HIGH);   // set the LED on
  delay(70);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(70);              // wait for a second
  digitalWrite(13, HIGH);   // set the LED on
  delay(70);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(70);              // wait for a second
  digitalWrite(13, HIGH);   // set the LED on
  delay(70);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(70);              // wait for a second
  digitalWrite(7, HIGH);   // set the LED on
  delay(70);              // wait for a second
  digitalWrite(7, LOW);    // set the LED off
  delay(70);     
  digitalWrite(7, HIGH);   // set the LED on
  delay(70);              // wait for a second
  digitalWrite(7, LOW);    // set the LED off
  delay(70);
  digitalWrite(7, HIGH);   // set the LED on
  delay(70);              // wait for a second
  digitalWrite(7, LOW);    // set the LED off
  delay(70);      
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-31 13:54:19 | 显示全部楼层
elbahk 发表于 2016-10-30 18:44
試試這個

void setup() {               

谢谢高手指点
回复 支持 反对

使用道具 举报

发表于 2016-10-31 22:20:42 | 显示全部楼层
就几句代码怎么爆闪,要爆就要硬件
回复 支持 反对

使用道具 举报

发表于 2016-11-11 10:28:07 | 显示全部楼层
能说清楚你想它如何闪吗?随机闪?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-29 18:11:53 | 显示全部楼层
最帅老饼 发表于 2016-11-11 10:28
能说清楚你想它如何闪吗?随机闪?

红三下,蓝三下,红蓝共同闪三下,谢谢!
回复 支持 反对

使用道具 举报

发表于 2016-12-3 22:48:22 | 显示全部楼层
不是用 if  , 用 for 循环。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-25 05:59 , Processed in 0.048589 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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