标题:
Arduino花样流水灯源码,请看内容。
[打印本页]
作者:
金属蒙皮
时间:
2015-4-6 22:11
标题:
Arduino花样流水灯源码,请看内容。
/************************************************************************
使用开发板型号:Arduino UNO R3
单片机晶振频率:16MHz
本列使用元器件:8个LED,8个220R电阻
电路的连接说明:LED结成阴极
************************************************************************/
/*********通过下载测试,全部代码分为 4个子事件:*****************
样式 1,样式 2,样式 3和闪烁:
样式 1: 1-8号灯逐个点亮,然后 8-1逐个熄灭。
闪烁两次
样式 2:4,5号灯先亮,然后3,6号再亮,接着2,7号亮,最后1,8号亮。
1,8号灯先灭,然后2,7号熄灭,接着3,6号灭,最后4,5号灭。
闪烁两次
样式 3:1,8号灯先亮,然后1,8号熄灭, 接着2,7号亮,然后2,7号熄灭
接着3,6号亮,然后3,6号熄灭, 接着4,5号亮,然后4,5号熄灭。
闪 烁:1-8号灯亮,延时 200ms,1-8号灯熄灭,延时200ms,闪烁两次。
****************************************************************/
//设置控制Led 的数字IO脚
int Led1 = 1;
int Led2 = 2;
int Led3 = 3;
int Led4 = 4;
int Led5 = 5;
int Led6 = 6;
int Led7 = 7;
int Led8 = 8;
#define uchar unsigned char
//led 灯花样显示样式1子程序
void style_1(void)
{
uchar j;
for(j=1;j<=8;j++)//每隔200ms依次点亮1~8引脚相连的led灯
{
digitalWrite(j,HIGH);//点亮j引脚相连的led 灯
delay(200);//延时200ms
}
for(j=8;j>=1;j--)//每隔200ms依次熄灭8~1引脚相连的led灯
{
digitalWrite(j,LOW);//熄灭j引脚相连的led 灯
delay(200);//延时200ms
}
}
//灯闪烁子程序
void flash(void)
{
uchar j,k;
for(k=0;k<=1;k++)//闪烁两次
{
for(j=1;j<=8;j++)//点亮1~8引脚相连的led灯
digitalWrite(j,HIGH);//点亮与j引脚相连的led灯
delay(200);//延时200ms
for(j=1;j<=8;j++)//熄灭1~8引脚相连的led灯
digitalWrite(j,LOW);//熄灭与j引脚相连的led灯
delay(200);//延时200ms
}
}
//led 灯花样显示样式2子程序
void style_2(void)
{
uchar j,k;
k=1;//设置k的初值为1
for(j=4;j>=1;j--)//
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay(400);//延时400ms
k +=2;//k值加2
}
k=7;//设置k值为5
for(j=1;j<=4;j++)
{
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
delay(400);//延时400ms
k -=2;//k值减2
}
}
//led 灯花样显示样式3子程序
void style_3(void)
{
uchar j,k;//led 灯花样显示样式3子程序
k=7;//设置k值为5
for(j=1;j<=4;j++)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay(400);//延时400ms
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
k -=2;//k值减2
}
k=3;//设置k值为3
for(j=3;j>=1;j--)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay(400);//延时400ms
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
k +=2;//k值加2
}
}
void setup()
{
uchar i;
for(i=1;i<=8;i++)//依次设置1~8个数字引脚为输出模式
pinMode(i,OUTPUT);//设置第i个引脚为输出模式
}
void loop()
{
style_1();//样式1
flash();//闪烁
style_2();//样式2
flash();//闪烁
style_3();//样式3
flash();//闪烁
}
作者:
hszb521
时间:
2016-9-5 11:04
谢谢分享 。谢谢 !
作者:
sz15207554653
时间:
2016-9-21 11:29
Arduino好学么?
作者:
dxtqwe
时间:
2016-12-18 03:13
谢谢分享 。谢谢 !
作者:
aa1106574009
时间:
2016-12-19 09:42
xiexi
作者:
liendong1977
时间:
2019-3-9 20:27
谢谢分享 。谢谢
作者:
a1239136150
时间:
2019-11-14 22:28
编译时出错
作者:
科比之心
时间:
2020-3-26 10:02
这算是流水灯的一些扩展应用了,挺好,题主举一反三很棒
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1