实操任务:红外遥控灯(四级)
题目说明
红外遥控灯有三种工作模式:关闭、点亮和闪烁。三种工作模式通过点击红外遥控器的 1 键进行切换——第一次点击红外遥控器的 1 键,装置进入点亮模式;第二次点击,装置进入闪烁模式;第三次点击,装置进入关闭模式;再次点击,依次循环。
准备工作
器件:Atmega328P 主控板 1 块,红外接收套件 1 套,LED 模块 1 个,电位器模块 1 个,按键模块 1 个。以上模块也可使用分立器件结合面包板搭建。
任务要求
-
装置通电后 LED 灯保持熄灭状态;
-
当装置进入关闭模式时,点击按键,LED 保持熄灭状态;
-
当装置进入点亮模式时,点击按键,LED 点亮;
-
当装置进入闪烁模式时,点击按键,LED 闪烁;
-
当 LED 闪烁时,旋转电位器,LED 闪烁的频率发生改变;
-
释放按键,LED 保持熄灭状态;
-
控制程序采用 Arduino C/C++ 代码编写,不得使用图形化软件编写;
-
未作规定处可自行处理,无明显与事实违背即可。
提交要求
请考生在考试结束前,按照如下要求提交相关文件。
-
将程序放在一个文件夹中,压缩为
1个“rar 或 zip”格式文件,并命名为DJKS4_身份证号,大小5M以下; -
将程序文件通过“上传附件”按钮进行上传;
-
程序编写过程中不得打开其它示例程序,如发现,实操成绩按照
0分处理。
参考资料
红外遥控提供示例供参考。
#include <IRremote.h>
const int RECV_PIN = 12;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume();
}
delay(100);
}
评分标准
(1)器件及器件连接;(20分)
(2)实现装置通电后,LED 灯处于熄灭状态;(5分)
(3)实现第 1 次点击红外遥控器 1 键,装置进入点亮模式;(5分)
(4)当装置进入点亮模式时,实现点击按键,LED 灯点亮;(10分)
(5)实现第 2 次点击红外遥控器 1 键,装置进入闪烁模式;(5分)
(6)当装置进入闪烁模式时,实现点击按键,LED 灯闪烁;(15分)
(7)实现当 LED 灯闪烁时,旋转电位器,LED 灯闪烁的频率发生改变;(15分)
(8)实现第 3 次点击红外遥控器 1 键,装置进入关闭模式;(5分)
(9)当装置进入关闭模式时,实现点击按键,LED 灯保持熄灭状态;(10分)
(10)实现依次点击红外遥控器 1 键,装置在点亮、闪烁、熄灭三种状态之间依次切换。(10分)
子题 填空题
电路搭设
元器件:
(1)装置中包含红外接收套件;(2分)
(2)装置中包含 LED 灯模块(或元器件);(2分)
(3)装置中包含按键模块(或元器件);(2分)
(4)装置中包含电位器模块(或元器件);(2分)
电路搭设:
(5)红外接收模块(或元器件)和主控板正确连接;(3分)
(6)LED 灯模块(或元器件)和主控板正确连接;(3分)
(7)电位器模块(或元器件)连接到主控板的模拟输入引脚;(3分)
(8)按键模块与主控板正确连接。(3分)
子题 填空题
功能实现
(1)实现装置通电后,LED 灯处于熄灭状态;(5分)
(2)实现第 1 次点击红外遥控器 1 键,装置进入点亮模式;(5分)
(3)当装置进入点亮模式时,实现点击按键,LED 灯点亮;(10分)
(4)实现第 2 次点击红外遥控器 1 键,装置进入闪烁模式;(5分)
(5)当装置进入闪烁模式时,实现点击按键,LED 灯闪烁;(15分)
(6)实现当 LED 灯闪烁时,旋转电位器,LED 灯闪烁的频率发生改变;(15分)
(7)实现第 3 次点击红外遥控器 1 键,装置进入关闭模式;(5分)
(8)当装置进入关闭模式时,实现点击按键,LED 灯保持熄灭状态;(10分)
(9)实现依次点击红外遥控器 1 键,装置在点亮、闪烁、熄灭三种状态之间依次切换。(10分)