Arduino 程序結(jié)構(gòu)
變量申明
子程序定義
setup() 初始化變量,管腳模式,調(diào)用庫函數(shù)等
void loop() 連續(xù)執(zhí)行函數(shù)內(nèi)的語句
廣告燈實驗 程序代碼:
//設(shè)置控制 Led 的數(shù)字 IO 腳
int Led1 = 1;
int Led2 = 2;
int Led3 = 3;
int Led4 = 4;
int Led5 = 5;
int Led6 = 6;
//led 燈花樣顯示樣式 1 子程序
//LED從左邊到右邊依次點亮,接著從右邊到左邊依次熄滅
void style_1(void)
{
unsigned char j;
for(j=1;j<=6;j++)//每隔 200ms 依次點亮 1~6 引腳相連的 led 燈
{
digitalWrite(j,HIGH);//點亮 j 引腳相連的 led 燈
delay(200);//延時 200ms
}
for(j=6;j>=1;j--)//每隔 200ms 依次熄滅 6~1 引腳相連的 led 燈
{
digitalWrite(j,LOW);//熄滅 j 引腳相連癿 led 燈
delay(200);//延時 200ms
}
}
//燈閃爍子程序
// 6個LED先全部點亮,接著延時200ms,最后6個LED全部熄滅。這個過程循環(huán)兩次,就實現(xiàn)了閃爍的效果。
void flash(void)
{
unsigned char j,k;
for(k=0;k<=1;k++)//閃爍兩次
{
for(j=1;j<=6;j++)//點亮 1~6 引腳相連癿 led 燈
digitalWrite(j,HIGH);//點亮與 j 引腳相連的 led 燈
delay(200);//延時 200ms
for(j=1;j<=6;j++)//熄滅 1~6 引腳相連的 led 燈
digitalWrite(j,LOW);//熄滅與 j 引腳相連的 led 燈
delay(200);//延時 200ms
}
}
//led 燈花樣顯示樣式 2 子程序
//設(shè)置兩個變量k和j讓中間兩個黃燈先亮,接著讓挨著兩個黃燈兩邊的紅燈亮,最后讓兩邊的綠燈亮。
//執(zhí)行一遍后,改變k和j的值,讓兩邊的綠燈先熄滅,接著兩邊的紅燈熄滅。
void style_2(void)
{
unsigned char j,k;
k=1;//設(shè)置 k 癿刜值為 1
for(j=3;j>=1;j--)
{
digitalWrite(j,HIGH);//點亮燈
digitalWrite(j+k,HIGH);//點亮燈
delay(400);//延時 400ms
k +=2;//k 值加 2
}
k=5;//設(shè)置 k 值為 5
for(j=1;j<=3;j++)
{
digitalWrite(j,LOW);//熄滅燈
digitalWrite(j+k,LOW);//熄滅燈
delay(400);//延時 400ms
k -=2;//k 值減 2
}
}
//led 燈花樣顯示樣式 3 子程序
void style_3(void)
{
unsigned char j,k;//led 燈花樣顯示樣式 3 子程序
k=5;//設(shè)置 k 值為 5
for(j=1;j<=3;j++)
{
digitalWrite(j,HIGH);//點亮燈
digitalWrite(j+k,HIGH);//點亮燈
delay(400);//延時 400ms
digitalWrite(j,LOW);//熄滅燈
digitalWrite(j+k,LOW);//熄滅燈
k -=2;//k 值減 2
}
k=3;//設(shè)置 k 值為 3
for(j=2;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()
{
unsigned char i;
for(i=1;i<=6;i++)//依次設(shè)置1~6個數(shù)字引腳為輸出模式
pinMode(i, OUTPUT);//設(shè)置第i個引腳為輸出模式
}
void loop()
{
style_1();//執(zhí)行樣式1子程序
flash();//執(zhí)行閃爍子程序
style_2();//執(zhí)行樣式2子程序
flash();//執(zhí)行閃爍子程序
style_3();//執(zhí)行樣式3子程序
flash();//執(zhí)行閃爍子程序
}