arduino新入手體驗:三個小實驗

新入手體驗:三個小實驗

 

一:一個LED閃爍

控制要求:1LED燈,每隔50ms閃爍一次git

 

實物鏈接圖:ide

 

 

控制代碼:oop

 1 //2018.6/11
 2 
 3 int LED = 10;//定義數字接口10,對應
 4 
 5 void setup()
 6 
 7 {
 8 
 9   pinMode(LED,OUTPUT);//設置數字10 口爲輸出接口,Arduino 上咱們用到的I/O 口都要進行相似這樣的定義。
10 
11 }
12 
13  
14 
15 void loop() //死循環體
16 
17 {
18 
19  digitalWrite(LED,HIGH);//IO口10設置爲高電平,點亮數字10 口LED
20 
21  delay(50);//延時50MS
22 
23  digitalWrite(LED,LOW);//IO口10設置爲低電平,熄滅數字10 口LED
24 
25  delay(50);//延時50MS
26 
27 }
View Code

 

 

二:流水燈

控制要求:1.一共6LED,從左到右每隔200ms依次點亮,而後從右到左每隔200ms依次熄滅;ui

  1. 全熄滅後暫停200ms,間隔200ms閃爍兩次;
  2. 而後從中間向兩邊所有點亮每次間隔200ms,兩邊向中間熄滅,間隔200ms
  3. 全熄滅後暫停200ms,間隔200ms閃爍兩次;
  4. 兩邊向中間依次點亮,每次間隔400ms,中間向兩邊依次點亮,每次間隔400ms
  5. 兩末端亮後暫停200ms,間隔200ms閃爍兩次;

 

實物鏈接圖:spa

 

 

控制代碼:code

 1 int Led1 = 1;//定義數字接口1
 2 int Led2 = 2;//定義數字接口2
 3 int Led3 = 3;//定義數字接口3
 4 int Led4 = 4;//定義數字接口4
 5 int Led5 = 5;//定義數字接口5
 6 int Led6 = 6;//定義數字接口6
 7 
 8 void style_1(void)
 9 {
10   unsigned char j;
11   for(j=1;j<=6;j++)//每隔200ms依次點亮1-6引腳相連的LED燈
12   {
13     digitalWrite(j,HIGH);//點亮J引腳相連的LED燈
14     delay(200);//延時200ms
15   }
16   for(j=6;j>=1;j--)//每隔200ms依次熄滅6-1引腳相連的LED燈
17   {
18     digitalWrite(j,LOW);//熄滅J引腳相連的LED燈
19     delay(200);//延時200ms
20   } 
21 }
22 //燈閃爍子程序
23 void flash(void)
24 {   
25   unsigned char j,k;
26   for(k=0;k<=1;k++)//閃爍兩次
27   {
28     for(j=1;j<=6;j++)//點亮1~6引腳相連的led燈
29       digitalWrite(j,HIGH);//點亮於j引腳相連的led燈
30     delay(200);//延時200ms
31     for(j=1;j<=6;j++)//熄滅1~6引腳相連的led燈
32       digitalWrite(j,LOW);//熄滅與j引腳相連dled燈
33     delay(200);//延時200ms
34   }
35 }
36 //led燈花樣顯示樣式2子程序
37 void style_2(void)
38 {
39   unsigned char j,k;
40   k=1;//設置k的初值爲1
41   for(j=3;j>=1;j--)
42   {   
43     digitalWrite(j,HIGH);//點亮燈
44     digitalWrite(j+k,HIGH);//點亮燈
45     delay(400);//延時400ms
46     k +=2;//設置k的值加2
47   }
48   k=5;//設置k的值爲5
49   for(j=1;j<=3;j++)
50   {
51     digitalWrite(j,LOW);;//熄滅燈
52     digitalWrite(j+k,LOW);;//熄滅燈
53     delay(400);//延時400ms
54     k -=2;//設置k的減2
55   }
56 }
57 //led燈花樣顯示樣式3子程序
58 void style_3(void)
59 {
60   unsigned char j,k;
61   k=5;//設置k的值爲5
62   for(j=1;j<=3;j++)
63   {
64     digitalWrite(j,HIGH);//點亮燈
65     digitalWrite(j+k,HIGH);//點亮燈
66     delay(400);//延時400ms
67     digitalWrite(j,LOW);//熄滅燈
68     digitalWrite(j+k,LOW);//熄滅燈
69     k -=2;//設置k的減2
70   }
71   k=3;//設置k的值爲3
72   for(j=2;j>=1;j--)
73   {   
74     digitalWrite(j,HIGH);//點亮燈
75     digitalWrite(j+k,HIGH);//點亮燈
76     delay(400);//延時400ms
77     digitalWrite(j,LOW);//熄滅燈
78     digitalWrite(j+k,LOW);//熄滅燈
79     k +=2;//設置k的加2
80   } 
81 }
82 void setup()
83 { 
84   unsigned char i;
85   for(i=1;i<=6;i++)//依次設置1-6個數字引腳爲輸出模式
86     pinMode(i,OUTPUT);//設置第i個引腳爲輸出模式
87 }
88 void loop()
89 {   
90   style_1();//樣式1
91   flash();//閃爍
92   style_2();//樣式2
93   flash();//閃爍
94   style_3();//樣式3
95   flash();//閃爍
96 }
View Code

 

 

三:練習題:SOS信號燈

控制要求:1.三短三長三短閃爍,暫停時間都是100ms,長亮時間間隔爲400ms,短亮時間間隔爲150msblog

  2.一個週期完成時間間隔爲5S接口

 

二:流水燈

相關文章
相關標籤/搜索