刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

主题:抢答器(4级)

器件:Atmega328P主控板1块,按键模块2个(A键和B键)、LED模块2个(LED_A和LED_B),舵机1个及相应辅件。以上模块也可使用分立器件结合面包板搭建。

任务要求: 抢答器由A、B双方组成,分别位于左右两侧,A方包含1个按键模块(A键)和1个LED模块(LED_A),B方包含1个按键模块(B键)和1个LED模块(LED_B),舵机位于双方的中间位置,用于指向抢答获胜选手。具体任务说明及要求如下:

(1) 初始状态:当A键和B键没有按下时,LED_A和LED_B均处于熄灭状态,舵机舵盘指向90度位置;

(2) 抢答开始后,率先按下按键一方的LED灯闪烁,另一方LED灯保持熄灭状态。舵机舵盘指向抢答获胜一方;

(3) 当A键和B键再次释放时,LED灯和舵机回到初始状态;

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

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

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

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

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

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

参考资料:

舵机类库及常用成员函数如下,供参考。

舵机类库:

头文件:Servo.h

类库对象:Servo

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

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

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】在上面的代码中,首先引入了`Servo.h`库,然后定义了舵机对象`servo`,以及按键和LED的引脚。在`setup()`函数中,将舵机对象`servo`关联到引脚6,将按键和LED的引脚设置为输入或输出模式。在`loop()`函数中,首先检查A键是否被按下,如果按下,则设置A键的LED为亮,B键的LED为灭,舵机指向0度位置。如果A键没有被按下,则设置A键和B键的LED都为灭,舵机指向45度位置。同样地,检查B键是否被按下,如果按下,则设置B键的LED为亮,A键的LED为灭,舵机指向90度位置。如果B键没有被按下,则设置A键和B键的LED都为灭,舵机指向45度位置。如果A键和B键都没有被按下,则设置A键和B键的LED都为灭,舵机指向45度位置。以上代码实现了抢答器的功能,当A键或B键被按下时,对应的LED灯会闪烁,舵机会指向按下按键的一方。当按键被释放时,LED灯和舵机回到初始状态。
创作类型:
原创

本文链接:主题:抢答器(4级) 器件:Atmega328P主控板1块,按键模块2个(A键和B键)、LED模块2

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share