实操任务:红外遥控小风扇
主题
红外遥控小风扇
器件
红外遥器和红外接收模块各1个、舵机1个、小马达1个、主控板、马达驱动模块及相关器件(也可使用分立电子元器件结合面包板搭建)。
任务要求
-
通过红外遥控,控制小风扇的启停及其摇摆。
-
红外遥控器数字2键,控制小风扇启停,当第1次按下数字2键时,小风扇启动,再次按下时,小风扇停止,依次反复。当小风扇启动时,小风扇以中等转速旋转。
-
将控制小风扇旋转对应的PWM值,发送到串口监视器。
-
当小风扇启动时,每按下红外遥控器数字1键,小风扇速度对应的PWM值减5,直至停止。
-
当小风扇启动时,每按下红外遥控器数字3键,小风扇速度对应的PWM值加5,直至最大转速。
-
红外遥控器数字5键,控制小风扇摇摆,当第1次按下数字5键时,小风扇左右连续摆动,再次按下时,小风扇处于中间90度位置,依次反复。
-
当小风扇处于停止状态时,点击红外遥控器数字5键,小风扇不会左右摇摆。
-
控制程序采用C/C++代码编写,不得使用图形化软件编写。
-
未作规定处可自行处理,无明显与事实违背即可。
-
程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理。
说明
请考生在实操考试结束前,按如下要求提交程序文件。
-
将所有程序文件放在一个文件夹,并将文件夹命名为:DJKS4_身份证号;
-
将程序文件压缩为"rar或zip"格式,大小5M以下,1个文件;
-
将程序文件通过“上传附件”按钮进行上传。
参考资料
舵机类库及常用成员函数如下,供参考。红外遥控提供示例供参考。
舵机类库:头文件:Servo.h;类库对象:Servo;成员函数:attach(Pin) //指定引脚的关联引脚,write(angel) //让舵机转动到指定的角度。
红外遥控例程:
#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);
} 子题 填空题
请按上述要求完成实操任务
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析