实操任务:红外遥控灯

bk414923 组合题 共 个子题

题目说明

红外遥控灯通过多次点击红外遥控器的按键1,实现 LED 灯不同状态的循环显示。

准备工作

器件:Atmega328P 主控板 1 块,红外遥控器 1 个,红外接收模块 1 个,LED 模块 2 个(LED_A 和 LED_B),及相应辅件。以上模块也可使用分立器件结合面包板搭建。

任务要求

  1. 初始状态:LED_A 和 LED_B 均处于熄灭状态;

  2. 第 1 次按下按键 1 后,LED_A 点亮,LED_B 熄灭;

  3. 第 2 次按下按键 1 后,LED_A 熄灭,LED_B 点亮;

  4. 第 3 次按下按键 1 后,LED_A 和 LED_B 均点亮;

  5. 第 4 次按下按键 1 后,LED_A 和 LED_B 持续闪烁;

  6. 第 5 次按下按键 1 后,LED_A 和 LED_B 均回归到熄灭状态,依此反复;

  7. 控制程序采用 Arduino C/C++ 代码编写,不得使用图形化软件编写;

  8. 未作规定处可自行处理,无明显与事实违背即可。

提交要求

请考生在考试结束前,按照如下要求提交相关文件。

  1. 将程序放在一个文件夹中,压缩为 1 个“rar 或 zip”格式文件,并命名为 DJKS4_身份证号,大小 5M 以下;

  2. 将程序文件通过“上传附件”按钮进行上传;

  3. 程序编写过程中不得打开其它示例程序,不得使用图形化软件生成代码,如发现,实操成绩按照 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)实现当第 1 次按下按键 1 后,LED_A 点亮,LED_B 熄灭;(15分)

(3)实现当第 2 次按下按键 1 后,LED_A 熄灭,LED_B 点亮;(15分)

(4)实现当第 3 次按下按键 1 后,LED_A 和 LED_B 均点亮;(15分)

(5)实现当第 4 次按下按键 1 后,LED_A 和 LED_B 闪烁;(15分)

(6)实现当第 5 次按下按键 1 后,LED_A 和 LED_B 均熄灭;(10分)

(7)实现当第 6 次按下按键 1 后,LED_A 点亮,LED_B 熄灭。(10分)

子题 填空题

电路搭设

元器件:

(1)装置中包含 2 个 LED 灯模块或 LED 灯;(4分)

(2)装置中包含红外遥控器;(4分)

(3)装置中包含红外接收模块;(4分)

电路搭设:

(4)LED 灯模块或 LED 灯与主控板正确连接;(4分)

(5)红外接收模块和主控板正确连接。(4分)

子题 填空题

功能实现

(1)实现当第 1 次按下按键 1 后,LED_A 点亮,LED_B 熄灭;(15分)

(2)实现当第 2 次按下按键 1 后,LED_A 熄灭,LED_B 点亮;(15分)

(3)实现当第 3 次按下按键 1 后,LED_A 和 LED_B 均点亮;(15分)

(4)实现当第 4 次按下按键 1 后,LED_A 和 LED_B 闪烁;(15分)

(5)实现当第 5 次按下按键 1 后,LED_A 和 LED_B 均熄灭;(10分)

(6)实现当第 6 次按下按键 1 后,LED_A 点亮,LED_B 熄灭。(10分)

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧