万卷网 > 题目详情
题型:操作题

主题:红外角度指示器

器件:Atmega328P主控板1块,红外接收套件1套,LED模块1个,电位器模块1个,舵机1个。以上模块也可使用分立器件结合面包板搭建。

任务要求:红外角度指示器通过旋转电位器控制舵机的转动角度,通过LED灯指示不同的位置。红外角度指示器有两种工作状态:连续状态和刻度状态,两种状态通过红外按键切换。当指示器处于连续状态时,舵机随着电位器的转动而平滑转动;当指示器处于刻度状态时,随着电位器的转动,舵机位置仅位于0度、90度和180度三个位置。具体要求如下:

(1) 点击红外遥控器的1键,指示器进入连续工作状态。当电位器从一端旋转至另外一端时,舵机的转动角度从0度旋转至180度,LED灯的亮度从熄灭渐变至最亮;

(2) 点击红外遥控器的2键,指示器进入刻度工作状态。当电位器的返回值小于256时,舵机的转动角度为0度,LED灯熄灭;当电位器的返回值大于等于256且小于768时,舵机的转动角度为90度,LED灯点亮;当电位器的返回值大于等于768时,舵机的转动角度为180度,LED灯闪烁;

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

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

说明:

程序编写过程中不得打开其它示例程序,如发现,实操成绩按照0分处理。

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

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

(2) 将程序文件通过“上传附件”按钮进行上传。

参考资料:

舵机类库及常用成员函数如下:

头文件:Servo.h

类库对象:Servo

成员函数:attach(Pin)  //指定引脚的关联引脚

                write(angle) //功能是让舵机转动到指定的角度

红外遥控示例:

#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);
}
更新时间:2026-05-04 19:09:30 |
【知识点】 电子学会机器人四级

相似题推荐

单选题

Arduino C语言,下列选项所列变量名正确的是?( )

A.

0_button

B.

case

C.

_int

D.

Serial

2026-07-11
判断题

Aruino起源于意大利,并以开源的方式进行推广。( )

A.正确 B.错误
2026-07-11
单选题

欧姆定律 I = U/R ,描述错误的是?( )

A.

导体的电流随着导体两端电压的增大而增大

B.

流经导体的电流增大时,导体两端的电压增大

C.

导体的电阻随着电压的增大而增大

D.

欧姆定律表示的是纯电阻电路中,电压、电流和电阻之间的关系

2026-07-11
多选题

Arduino C程序中必须包含的函数有?( )

A.

setup()函数

B.

loop()函数

C.

digitalRead()函数

D.

Serial.begin()函数

2026-07-11
单选题

Arduino UNO/Nano主控板,电路搭设及部分程序如下,当实现按键开关按下后,LED熄灭时,程序块中A和B的值分别是?( )(2026.6)

A.

HIGH / HIGH

B.

HIGH / LOW

C.

LOW / HIGH

D.

LOW / LOW

2026-07-11
公众号
客服 反馈
顶部