新入手体验:三个小实验

arduino新入手体验:三个小实验_arduino

 

一:一个LED闪烁

控制要求:1LED灯,每隔50ms闪烁一次

 

实物连接图:

 arduino新入手体验:三个小实验_arduino学习_02

 

控制代码:

arduino新入手体验:三个小实验_arduino_03
 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依次熄灭;

  1. 全熄灭后暂停200ms,间隔200ms闪烁两次;
  2. 然后从中间向两边全部点亮每次间隔200ms,两边向中间熄灭,间隔200ms
  3. 全熄灭后暂停200ms,间隔200ms闪烁两次;
  4. 两边向中间依次点亮,每次间隔400ms,中间向两边依次点亮,每次间隔400ms
  5. 两末端亮后暂停200ms,间隔200ms闪烁两次;

 

实物连接图:

 arduino新入手体验:三个小实验_arduino_05

 

控制代码:

arduino新入手体验:三个小实验_arduino_03
 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,短亮时间间隔为150ms

  2.一个周期完成时间间隔为5S

 

二:流水灯