题库首页 › 青少年软件编程(机器人) › 题目 17605

实操试题(共1题,共100分) 1. 主题:红外遥控障碍检测装置(四级) 器件:Atmega328P主控板1块,红外接收套件1套,LED模块1个,超声波传感器1个,蜂鸣器模块1个,舵机1个。以上模块也可使用分立器件结合面包板搭建。 任务要求:红外遥控障碍检测装置有三种状态,分别为:关闭、近距检测和远距检测。装置处于近距检测状态时,当障碍物距离不大于5cm时,蜂鸣器发出警报声;装置处于远距检测状态,当障碍物距离不大于10cm时,蜂鸣器发出警报声;装置处于关闭状态时,对障碍物靠近不做反应。 通过控制舵机的舵盘转至不同角度用于指示不同的状态。具体要求如下: (1) 首次通电后,装置处于关闭状态,此时LED灯熄灭,蜂鸣器静音,舵机处于90度位置; (2) 点击红外遥控器的2键,装置进入近距检测状态,舵机处于135度位置,LED灯点亮,当障碍物距离不大于5cm时,蜂鸣器发声,LED灯闪烁,且蜂鸣器发声频率随着障碍物的靠近而增大,LED灯的闪烁频率随着障碍物的靠近而加快; (3) 点击红外遥控器的3键,装置进入远距检测状态,LED灯点亮,当障碍物距离不大于10cm时,蜂鸣器发声,LED灯闪烁,且蜂鸣器发声频率随着障碍物的靠近而增大,LED灯的闪烁频率随着障碍物的靠近而加快; (4) 点击红外遥控器的1键,装置进入关闭状态,LED灯熄灭,蜂鸣器静音,舵机处于90度位置; (5) 控制程序采用Arduino C/C++代码编写,不得使用图形化软件编写; (6) 未作规定处可自行处理,无明显与事实违背即可。 说明:程序编写过程中不得打开其它示例程序,如发现,实操成绩按照0分处理。 请考生在考试结束前,按照如下要求提交相关文件。 (1) 将程序放在一个文件夹中,压缩为1个“rar或zip”格式文件,并命名为:DJKS4_身份证号,大小5M以下; (2) 将程序文件通过“上传附件”按钮进行上传。 参考资料: 舵机类库及常用成员函数如下: 头文件:Servo.h 类库对象:Servo 成员函数: attach(Pin) //指定引脚的关联引脚 write(angle) //功能是让舵机转动到指定的角度 红外遥控示例: #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灯保持熄灭状态,蜂鸣器静音,舵机处于90度位置;(5分) (2) 实现点击红外遥控器的2键,装置进入近距检测状态,LED灯处于点亮状态,舵机处于135度位置;(10分) (3) 装置处于近距检测状态时,实现仅当障碍物距离不大于5cm时,蜂鸣器发声,LED灯闪烁;(10分) (4) 装置处于近距检测状态,当障碍物距离不大于5cm时,实现蜂鸣器发声频率随着障碍物的靠近而增大,LED灯的闪烁频率随着障碍物的靠近而加快;(10分) (5) 实现点击红外遥控器的3键,装置进入远距检测状态,LED灯处于点亮状态,舵机处于45度位置;(10分) (6) 装置处于远距检测状态时,实现仅当障碍物距离不大于10cm时,蜂鸣器发声,LED灯闪烁;(10分) (7) 装置处于远距检测状态,当障碍物距离不大于10cm时,实现蜂鸣器发声频率随着障碍物的靠近而增大,LED灯的闪烁频率随着障碍物的靠近而加快;(10分) (8) 装置处于近距检测和远距检测状态时,将超声波传感器的返回值输出到串口监视器;(10分) (9) 实现点击红外遥控器的1键,装置进入关闭状态,LED灯熄灭,蜂鸣器静音。(5分)

正确答案:实操参考实现(Arduino C红外障碍检测四级):红外1/2/3键切状态(关闭/近距/远距)。舵机Servo:关闭90°,近距135°,远距45°。检测态LED亮;障碍≤阈值时蜂鸣+LED闪,且距离越近蜂鸣频率越高、LED闪越快(delay=map(距离));串口输出距离。核心:红外状态机+舵机指示+距离反馈频率。

试卷来源:202512 青少年等级考试机器人实操真题四级

在线做题 同科目题库