一、实操试题(共1题,共100分) 1. 主题:红外遥控灯(四级) 器件:Atmega328P主控板1块,红外接收套件1套,LED模块1个,电位器模块1个,按键模块1个。以上模块也可使用分立器件结合面包板搭建。 任务要求:红外遥控灯有三种工作模式:关闭、点亮和闪烁。三种工作模式通过点击红外遥控器的1键进行切换。第一次点击红外遥控器的1键,装置进入点亮模式;第二次点击红外遥控器的1键,装置进入闪烁模式;第三次点击红外遥控器的1键,装置进入关闭模式。再次点击红外遥控器的1键,依次循环。具体要求如下: (1) 装置通电后LED灯保持熄灭状态; (2) 当装置进入关闭模式时,点击按键,LED保持熄灭状态; (3)当装置进入点亮模式时,点击按键,LED点亮; (4)当装置进入闪烁模式时,点击按键,LED闪烁; (5) 当LED闪烁时,旋转电位器,LED闪烁的频率发生改变; (6) 释放按键,LED保持熄灭状态; (7) 控制程序采用Arduino C/C++代码编写,不得使用图形化软件编写; (8) 未作规定处可自行处理,无明显与事实违背即可。 说明:请考生在考试结束前,按照如下要求提交相关文件。 (1) 将程序放在一个文件夹中,压缩为1个“rar或zip”格式文件,并命名为:DJKS4_身份证号,大小5M以下; (2) 将程序文件通过“上传附件”按钮进行上传; (3) 程序编写过程中不得打开其它示例程序,如发现,实操成绩按照0分处理。 参考资料: 红外遥控提供示例供参考。 #include 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. 功能实现(80分) (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分)
正确答案:实操参考实现(Arduino C红外遥控灯四级):红外1键三态循环切换mode=(mode+1)%3。关闭模式:LED灭;点亮模式:按键LED亮;闪烁模式:按键LED按电位器映射频率闪烁。松开按键保持。IRrecv+millis()+analogRead。核心:红外1键循环切三态+电位器调速。
试卷来源:202509 青少年等级考试机器人实操真题四级