Arduino学习分享帖:好多灯的应用(社区任务第2波)
灯 灯灯灯灯灯灯灯灯灯灯灯 灯
灯 灯
灯 灯 灯 灯
灯 灯 灯
请问各位坛友在上面看到了什么??? 没错,就是灯,而且是好多灯。。它们组成丰富多彩,五颜六色的世界。小到高清显示器,大到霓虹灯,都是由灯组成。。
所以本期任务就是:多颗灯的组合应用
你可以制作----带规则的交通灯,变化亮度的呼吸灯,华丽变换的流水灯等。
用多个不同颜色的灯,表达出有趣的灯光效果,附上完成后的效果图片或者视屏,都可以完成本期任务。获得“40学霸特别创造力”。
如果带有连线图和代码,楼主会给予“特别贡献奖励”。
以下楼主做得交通灯样例:
左边三个红绿灯,用于车道。右边两个红绿灯,用于人行道。整个运行时间为5秒。
最近小伙伴们都在忙期末考试,年终总结什么的。。。。楼主就先自娱自乐一下。上面那个样例的连线图和代码如下:
代码如下,相信大家都是代码小神童,一定能看得懂:lol
//项目三 -- 互动交通信号灯
int carRed = 12; //设置汽车灯
int carYellow = 11;
int carGreen = 10;
int button = 9; //按钮引脚
int pedRed = 8; //设置行人灯
int pedGreen = 7;
int crossTime = 5000;//允许行人通过的时间
unsigned long changeTime;//按钮按下后的时间
void setup() {
//所有LED设置为输出模式
pinMode(carRed, OUTPUT);
pinMode(carYellow, OUTPUT);
pinMode(carGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
pinMode(pedGreen, OUTPUT);
pinMode(button, INPUT); //按钮设置为输入模式
digitalWrite(carGreen, HIGH); //开始时,汽车灯绿灯
digitalWrite(pedRed, LOW);//行人灯为红灯
}
void loop() {
int state = digitalRead(button);
//检测按钮是否被按下,并且是否距上次按下后有5秒的等待时间
if(state == HIGH && (millis() - changeTime)> 5000){
//调用变灯函数
changeLights();
}
}
void changeLights() {
digitalWrite(carGreen, LOW); //汽车绿灯灭
digitalWrite(carYellow, HIGH); //汽车黄灯亮
delay(2000); //等待2秒
digitalWrite(carYellow, LOW); //汽车黄灯灭
digitalWrite(carRed, HIGH); //汽车红灯亮
delay(1000); //为安全考虑等待1秒
digitalWrite(pedRed, LOW); //行人红灯灭
digitalWrite(pedGreen, HIGH); //行人绿灯亮
delay(crossTime); //等待一个通过时间
//闪烁行人灯绿灯,提示可过马路时间快到
for (int x=0; x<10; x++) {
digitalWrite(pedGreen, HIGH);
delay(250);
digitalWrite(pedGreen, LOW);
delay(250);
}
digitalWrite(pedRed, HIGH);//行人红灯亮
delay(500);
digitalWrite(carRed, LOW); //汽车红灯灭
digitalWrite(carYellow, HIGH); //汽车黄灯亮
delay(1000);
digitalWrite(carYellow, LOW); //汽车黄灯灭
digitalWrite(carGreen, HIGH); //汽车绿灯亮
changeTime = millis(); //记录自上一次灯变化的时间
//返回到主函数循环中
}
回答:《analog输出实现拖尾灯效果》
连线图、代码请移步原帖,在https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=1273
效果就是这样的:
垃圾袋降低亮度的方法很屌丝吧?在别的地方学来的:lol
社区活动向导 发表于 2013-12-31 10:43
最近小伙伴们都在忙期末考试,年终总结什么的。。。。楼主就先自娱自乐一下。上面那个样例的连线图和代码如 ...
请教下,您的连线图使用什么工具画的? nemon 发表于 2014-1-2 19:10
请教下,您的连线图使用什么工具画的?
用Inkscape画的 用inscape画的,大家用了都说好!:lol 社区活动向导 发表于 2014-1-3 10:40
用inscape画的,大家用了都说好!
arduino和led的素材是inscape自带的吗? Jane 发表于 2014-1-3 10:32
用Inkscape画的
谢谢告知
请教下
inscape里有各种器件的素材吗?还是要自己收集? nemon 发表于 2014-1-3 11:31
谢谢告知
请教下
inscape里有各种器件的素材吗?还是要自己收集?
这是要自己画的 Jane 发表于 2014-1-4 15:23
这是要自己画的
收到。谢谢 已经为发正确回复的客户加上奖励了哦,小伙伴们自己查看一下创造力
页:
[1]