一、实操题
1、主题:智能门栏
器件:Atmega328P主控板1块,舵机1个,超声波传感器1个,LED灯2个(分别为LED_A和LED_B)及相应辅件。以上模块也可使用分立器件结合面包板搭建。
任务要求:
采用超声波传感器感应人的进出,感应范围为5-25cm。采用舵机实现栏杆的功能。智能门栏将通道分为外部和内部,其主要任务要求如下:
(1) 当感应区内没人时,栏杆放下,位于水平位置,LED_A和LED_B均熄灭;
(2) 当有人从外部进入感应区时,栏杆抬起,处于90度位置,同时LED_A点亮,LED_B熄灭;
(3) 当有人从内部进入感应区时,栏杆抬起,处于90度位置,LED_B点亮,LED_A熄灭;
(4) 根据上述要求,绘制流程图;
(5) 未作规定处可自行处理,无明显与事实违背即可。
说明:请考生在考试结束前,按照如下要求提交相关文件。
(1) 将程序放在一个文件夹中,压缩为1个“rar或zip”格式文件,并命名为:DJKS3_身份证号,大小5M以下;
(2) 将程序文件通过“上传附件”按钮进行上传;
(3) 程序编写过程中不得打开其它示例程序,如发现,实操成绩按照0分处理。
参考答案:
1. 初始化
- 初始化Atmega328P的GPIO(通用输入输出)端口,用于控制舵机、LED灯和读取超声波传感器数据。
- 设定舵机的初始位置为水平(栏杆放下)。
- 初始化LED_A和LED_B为熄灭状态。
2. 超声波传感器读取
- 不断读取超声波传感器的距离数据。
- 判断该距离是否在5-25cm范围内。
3. 逻辑判断与处理
- 如果感应区内无人(距离超出5-25cm范围),则保持栏杆水平且LED灯熄灭。
- 如果有人从外部进入(需要定义如何区分内外,例如使用额外的传感器或逻辑判断),则栏杆抬起至90度,LED_A点亮,LED_B熄灭。
- 如果有人从内部进入(逻辑上需要区分),则栏杆同样抬起至90度,但LED_B点亮,LED_A熄灭。
4. 舵机控制
- 根据逻辑判断结果,通过PWM(脉冲宽度调制)信号控制舵机到指定位置(水平或90度)。
5. 重复检测
- 不断循环执行上述步骤,以实现持续监控和响应。
流程图绘制
- 开始
- 读取超声波传感器数据
- 判断是否有人
- 区分内外
- 栏杆和LED灯控制
- 循环
解析:【喵呜刷题小喵解析】:本题目要求考生根据提供的评分组成和要求,编写智能门栏的相关代码和电路搭设方案。题目中明确指出了电路搭设和功能实现的具体要求,包括元器件的选择、电路连接、流程图绘制以及程序功能实现等。在电路搭设方面,要求装置中包含LED灯模块或LED灯、超声波传感器和舵机,并且这些元器件需要与主控板正确连接。在功能实现方面,要求绘制清晰的流程图,并确保程序能够正确实现门栏的控制和LED灯的状态切换。具体地,当感应区内没有人时,栏杆应该放下并位于水平位置,同时LED_A和LED_B均熄灭。当感应区内有人时,栏杆应该抬起。当有人从外部进入时,LED_A应该点亮,LED_B应该熄灭。当有人从内部离开时,LED_B应该点亮,LED_A应该熄灭。考生需要根据这些要求,编写相应的代码和电路搭设方案,并在考试结束前提交相关文件。评分将根据电路搭设和功能实现的正确性和完整性进行评定。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!




