1.LED單向移動
01int led[] = {0,1,2,3,4,5,6};02int i;
03int j=0;
04void setup()
05{
06 for (i=0;i<7;i++)
07 {
08 pinMode(led[i],OUTPUT);
09 }
10}
11void loop()
12{
13 for(i=0;i<7;i++)
14 {
15 digitalWrite(led[i],HIGH); //因為IO板的LED接為共陽極,故此處為了將所有LED設為熄滅
16 } //因此第15行digitalWrite寫入為HIGH,以下依此類推
17 digitalWrite(led[j],LOW);
18 delay(200);
19 j++;
20 if (j==7)
21 j=0;
22}
===========================================================
2.LED左右來回移動
01int led[] = {0,1,2,3,4,5,6};02int i;
03int j=0;
04int dir=0;
05void setup()
06{
07 for (i=0;i<7;i++)
08 {
09 pinMode(led[i],OUTPUT);
10 }
11
12}
13void loop()
14{
15 for(i=0;i<7;i++)
16 {
17 digitalWrite(led[i],HIGH);
18 }
19 digitalWrite(led[j],LOW);
20 delay(80);
21 if (dir==0)
22 {
23 if (j==6)
24 dir=1;
25 else
26 j++;
27 }
28 else
29 {
30 if(j==0)
31 dir=0;
32 else
33 j--;
34 }
35}
===========================================================
3.左右移動並閃爍
01int led[] = {0,1,2,3,4,5,6};02int i;
03int j=0;
04int dir=0;
05void setup()
06{
07 for (i=0;i<7;i++)
08 {
09 pinMode(led[i],OUTPUT);
10 }
11
12}
13void loop()
14{
15 for(i=0;i<7;i++)
16 {
17 digitalWrite(led[i],HIGH);
18 }
19 for (i=0;i<4;i++)
20 {
21 digitalWrite(led[j],LOW);
22 delay(40);
23 digitalWrite(led[j],HIGH);
24 delay(40);
25 }
26 delayMicroseconds(100);
27 if (dir==0)
28 {
29 if (j==6)
30 dir=1;
31 else
32 j++;
33 }
34 else
35 {
36 if(j==0)
37 dir=0;
38 else
39 j--;
40 }
41}
==========================================================
4.遞增再遞減
01int led[] = {0,1,2,3,4,5,6};02int i;
03int j=0;
04void setup()
05{
06 for (i=0;i<7;i++)
07 {
08 pinMode(led[i],OUTPUT);
09 }
10
11}
12void loop()
13{
14 for(i=0;i<7;i++)
15 {
16 digitalWrite(led[i],HIGH);
17 }
18 delay(500);
19 for (j=0;j<7;j++)
20 {
21 digitalWrite(led[j],LOW);
22 delay(100);
23 }
24 for (j=0;j<7;j++)
25 {
26 digitalWrite(led[j],HIGH);
27 delay(100);
28 }
29
30
31}
沒有留言:
張貼留言