2014年11月25日 星期二

arduino_LED練習

有空再來打程式碼說明,直接看source code與執行結果

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}




沒有留言:

張貼留言