最笨的方法做爆闪灯,求好方案!!
本帖最后由 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);
}
自己玩玩熟悉原理可以,也就是延迟执行。实际应用没必要,tb买一个成品几元钱
爆闪其实不需要arduino,也不需要单片机,一个NE555+电容就可以实现了,tb卖的也很多,成本不到1元钱 你真高啊;P;P;P 怎么直接发不了图,只能在这里补充图片了:) 你在loop里写一个闪烁的流程就可以了,loop会自己无限循环
另外不建议使用爆闪,这东西对孩子眼睛不好 写个数组,然后用while循环不断循环读数组,数组中的数或者字符串代表闪哪个灯,这种方式虽然复杂但是易于维护,以后改数组就能控制闪烁方式。 另外,大功率的LED不建议用Arduino直驱,io引脚输出电流不够。 谢谢大家教诲,功率的问题考虑用三极管或MOS管扩流,主要目的是学习,想着用if...else,但是水平有限,只好用最笨的方法实现,看着非常简单,但是对新上手玩儿Arduino的人来说还是比较麻烦。 試試這個
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);
}
elbahk 发表于 2016-10-30 18:44
試試這個
void setup() {
谢谢高手指点:) 就几句代码怎么爆闪,要爆就要硬件 能说清楚你想它如何闪吗?随机闪? 最帅老饼 发表于 2016-11-11 10:28
能说清楚你想它如何闪吗?随机闪?
红三下,蓝三下,红蓝共同闪三下,谢谢! 不是用 if, 用 for 循环。
页:
[1]