Arduino测试题(一)

网友投稿 2019-12-03 12:23

题目要求:

使用面包板,选取数字I/O口D3~ D12中的任意两个,分别控制一个红色LED与一个绿色LED,让它们交替点亮与熄灭,每个循环周期为2秒。

题目分析:

这是一道在基础类编程任务赛以及中小学单片机比赛中非常常见的题目,属于比较简单的类型。从题目分析,我们可以得到的关键信息如下。

直接用到的器材: 

Arduino平台

面包板

红/绿LED(可以是单色LED灯珠或模块也可以是多彩LED灯珠或模块)

间接用到的器材:

电阻(LED限流,如果使用LED模块则不需要电阻)

https://cdn.china-scratch.com/timg/191205/12231913A-0.jpg

需要用到的编程模块:

循环

控制(数字输出)

延时

相关器材:

在本节应用中,我们将使用两个数字I/O口来驱动LED,电路中除了LED,还需要使用电阻来限制通过LED的电流(防止烧毁LED)。LED即发光二极管,是分正负极的,其中长引脚为正极,短引脚为负极。常见的LED有各种单色的,也有多彩的(图中有4根引脚的就是共阴极红、绿、蓝三色多彩LED,长引脚为公共极,我们将在后面用到)。

电阻不分正负极,一般LED可以串接220Ω ~ 3k Ω的电阻对LED进行限流(阻值越大,亮度越低)。

https://cdn.china-scratch.com/timg/191205/12232031R-1.jpg


电路连接

电阻与LED取红色和绿色LED各一个,将长引脚通过串联220Ω电阻分别与数字口D5和D2相连。短引脚与GND相连。

https://cdn.china-scratch.com/timg/191205/1223203606-2.jpg

实物图

https://cdn.china-scratch.com/timg/191205/12232055G-3.jpg

将程序进行下载即可实现红绿LED灯的交替闪烁。

void setup() {  pinMode(5, OUTPUT);  //设置5号管脚为输出  pinMode(2, OUTPUT);  //设置2号管脚为输出}void loop() {  digitalWrite(5, HIGH); //设置5号管脚输出高电平红灯亮  digitalWrite(2, LOW); //设置2号管脚输出为低电平绿灯灭  delay(1000);   //延时1秒                     digitalWrite(5, LOW);    //设置5号管脚输出为低电平红灯灭  digitalWrite(2, HIGH);   //设置2号管脚输出为高电平绿灯亮  delay(1000);  //延时1秒                }

代码程序

https://cdn.china-scratch.com/timg/191205/1223215620-4.jpg

Mixly程序

显示效果

题目要求是每个循环周期是2秒,所以我们用的延时是两个1秒,编程中延时的单位是毫秒(1000毫秒=1秒)。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com