ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-06-15 21:52:08  阅读:296  来源: 互联网

标签:10 点亮 LED 入手 arduino digitalWrite void 200ms 体验


新入手体验:三个小实验

 

一:一个LED闪烁

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

 

实物连接图:

 

 

控制代码:

 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.一共6个LED,从左到右每隔200ms依次点亮,然后从右到左每隔200ms依次熄灭;

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

 

实物连接图:

 

 

控制代码:

 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;

 

二:流水灯

标签:10,点亮,LED,入手,arduino,digitalWrite,void,200ms,体验
来源: https://blog.51cto.com/u_15269117/2907098

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有