標(biāo)題:
Arduino花樣流水燈源碼,請看內(nèi)容。
[打印本頁]
作者:
金屬蒙皮
時(shí)間:
2015-4-6 22:11
標(biāo)題:
Arduino花樣流水燈源碼,請看內(nèi)容。
/************************************************************************
使用開發(fā)板型號:Arduino UNO R3
單片機(jī)晶振頻率:16MHz
本列使用元器件:8個(gè)LED,8個(gè)220R電阻
電路的連接說明:LED結(jié)成陰極
************************************************************************/
/*********通過下載測試,全部代碼分為 4個(gè)子事件:*****************
樣式 1,樣式 2,樣式 3和閃爍:
樣式 1: 1-8號燈逐個(gè)點(diǎn)亮,然后 8-1逐個(gè)熄滅。
閃爍兩次
樣式 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號燈亮,延時(shí) 200ms,1-8號燈熄滅,延時(shí)200ms,閃爍兩次。
****************************************************************/
//設(shè)置控制Led 的數(shù)字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依次點(diǎn)亮1~8引腳相連的led燈
{
digitalWrite(j,HIGH);//點(diǎn)亮j引腳相連的led 燈
delay(200);//延時(shí)200ms
}
for(j=8;j>=1;j--)//每隔200ms依次熄滅8~1引腳相連的led燈
{
digitalWrite(j,LOW);//熄滅j引腳相連的led 燈
delay(200);//延時(shí)200ms
}
}
//燈閃爍子程序
void flash(void)
{
uchar j,k;
for(k=0;k<=1;k++)//閃爍兩次
{
for(j=1;j<=8;j++)//點(diǎn)亮1~8引腳相連的led燈
digitalWrite(j,HIGH);//點(diǎn)亮與j引腳相連的led燈
delay(200);//延時(shí)200ms
for(j=1;j<=8;j++)//熄滅1~8引腳相連的led燈
digitalWrite(j,LOW);//熄滅與j引腳相連的led燈
delay(200);//延時(shí)200ms
}
}
//led 燈花樣顯示樣式2子程序
void style_2(void)
{
uchar j,k;
k=1;//設(shè)置k的初值為1
for(j=4;j>=1;j--)//
{
digitalWrite(j,HIGH);//點(diǎn)亮燈
digitalWrite(j+k,HIGH);//點(diǎn)亮燈
delay(400);//延時(shí)400ms
k +=2;//k值加2
}
k=7;//設(shè)置k值為5
for(j=1;j<=4;j++)
{
digitalWrite(j,LOW);//熄滅燈
digitalWrite(j+k,LOW);//熄滅燈
delay(400);//延時(shí)400ms
k -=2;//k值減2
}
}
//led 燈花樣顯示樣式3子程序
void style_3(void)
{
uchar j,k;//led 燈花樣顯示樣式3子程序
k=7;//設(shè)置k值為5
for(j=1;j<=4;j++)
{
digitalWrite(j,HIGH);//點(diǎn)亮燈
digitalWrite(j+k,HIGH);//點(diǎn)亮燈
delay(400);//延時(shí)400ms
digitalWrite(j,LOW);//熄滅燈
digitalWrite(j+k,LOW);//熄滅燈
k -=2;//k值減2
}
k=3;//設(shè)置k值為3
for(j=3;j>=1;j--)
{
digitalWrite(j,HIGH);//點(diǎn)亮燈
digitalWrite(j+k,HIGH);//點(diǎn)亮燈
delay(400);//延時(shí)400ms
digitalWrite(j,LOW);//熄滅燈
digitalWrite(j+k,LOW);//熄滅燈
k +=2;//k值加2
}
}
void setup()
{
uchar i;
for(i=1;i<=8;i++)//依次設(shè)置1~8個(gè)數(shù)字引腳為輸出模式
pinMode(i,OUTPUT);//設(shè)置第i個(gè)引腳為輸出模式
}
void loop()
{
style_1();//樣式1
flash();//閃爍
style_2();//樣式2
flash();//閃爍
style_3();//樣式3
flash();//閃爍
}
作者:
hszb521
時(shí)間:
2016-9-5 11:04
謝謝分享 。謝謝 !
作者:
sz15207554653
時(shí)間:
2016-9-21 11:29
Arduino好學(xué)么?
作者:
dxtqwe
時(shí)間:
2016-12-18 03:13
謝謝分享 。謝謝 !
作者:
aa1106574009
時(shí)間:
2016-12-19 09:42
xiexi
作者:
liendong1977
時(shí)間:
2019-3-9 20:27
謝謝分享 。謝謝
作者:
a1239136150
時(shí)間:
2019-11-14 22:28
編譯時(shí)出錯(cuò)
作者:
科比之心
時(shí)間:
2020-3-26 10:02
這算是流水燈的一些擴(kuò)展應(yīng)用了,挺好,題主舉一反三很棒
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1