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);


}

lovezypj 发表于 2016-10-27 19:51:22

自己玩玩熟悉原理可以,也就是延迟执行。实际应用没必要,tb买一个成品几元钱

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

HWL0541 发表于 2016-10-27 08:35:47

你真高啊;P;P;P

redtxd 发表于 2016-10-27 12:52:07

怎么直接发不了图,只能在这里补充图片了:)

幻生幻灭 发表于 2016-10-27 15:38:34

你在loop里写一个闪烁的流程就可以了,loop会自己无限循环
另外不建议使用爆闪,这东西对孩子眼睛不好

我今天不说话 发表于 2016-10-27 16:30:55

写个数组,然后用while循环不断循环读数组,数组中的数或者字符串代表闪哪个灯,这种方式虽然复杂但是易于维护,以后改数组就能控制闪烁方式。

164335413 发表于 2016-10-28 15:36:44

另外,大功率的LED不建议用Arduino直驱,io引脚输出电流不够。

redtxd 发表于 2016-10-29 19:35:13

谢谢大家教诲,功率的问题考虑用三极管或MOS管扩流,主要目的是学习,想着用if...else,但是水平有限,只好用最笨的方法实现,看着非常简单,但是对新上手玩儿Arduino的人来说还是比较麻烦。

elbahk 发表于 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);      
}

redtxd 发表于 2016-10-31 13:54:19

elbahk 发表于 2016-10-30 18:44
試試這個

void setup() {               


谢谢高手指点:)

Rq-Rm 发表于 2016-10-31 22:20:42

就几句代码怎么爆闪,要爆就要硬件

最帅老饼 发表于 2016-11-11 10:28:07

能说清楚你想它如何闪吗?随机闪?

redtxd 发表于 2016-11-29 18:11:53

最帅老饼 发表于 2016-11-11 10:28
能说清楚你想它如何闪吗?随机闪?

红三下,蓝三下,红蓝共同闪三下,谢谢!

最帅老饼 发表于 2016-12-3 22:48:22

不是用 if, 用 for 循环。
页: [1]
查看完整版本: 最笨的方法做爆闪灯,求好方案!!