主题: 智能自助红绿灯
器件: Atmega328P 主控板 1 块, 交通灯模块 2 个, 电位器模块 1 个,超声波传感器 1 个, 舵机 1 个, 蜂鸣器模块 1 个。 以上模块也可使用分立器件结合面包板搭建
要求:
(1) 采用超声波传感器触发启动自助红绿灯, 采用舵机实现栏杆的功能。
(2) 自助红绿灯未启动时, 主路显示为绿灯,人行道显示为红灯。 栏杆处于水平位置。
(3) 当行人距离超声波传感器不大于 3cm时, 自助红绿灯启动, 此时,主路的绿灯延时 1 秒后由绿灯经黄灯转换为红灯。
(4 )当主路为红灯时, 人行道的绿灯点亮并闪烁, 闪烁时间间隔为 500毫秒。
(5) 当人行道绿灯点亮时, 人行道栏杆抬起, 处于 90 度位置。
(6) 人行道的通行时间为 8 秒~12 秒, 可以通过电位器调整。
(7) 当人行道的绿灯还剩余 4 秒时, 绿灯快速闪烁, 闪烁时间间隔为250 毫秒, 提醒行人快速通过。
(8) 当人行道的绿灯还剩余 4 秒, 绿灯快速闪烁的同时, 声音提醒。声音提醒的方式选用蜂鸣器模块。 当绿灯快速闪烁时, 蜂鸣器发出蜂鸣的声音。
(9) 人行道通行时间结束, 人行道红灯点亮, 主路绿灯点亮, 栏杆放下, 蜂鸣器静音。
(10) 控制程序采用 C/C++代码编写, 不得使用图形化软件编写。
(11) 未作规定处可自行处理, 无明显与事实违背即可。
(12) 程序编写过程中不得打开库例程和其它程序, 如发现, 实操成绩按照 0 分处理。
说明:
请考生在考试结束前, 按如下要求提交程序文件:
(1)将所有程序放在一个文件夹, 并将文件夹命名为: DJKS4_身份证号;
(2)将程序文件压缩为 1 个文件, “rar 或 zip”格式, 大小 5M 以下;
(3)将程序文件通过“上传附件”按钮进行上传。
舵机类库及常用成员函数如下, 供参考。
舵机类库:
头文件: Servo.h
类库对象: Servo
成员函数: attach(Pin)//指定引脚的关联引脚
write(angle)
//功能是让舵机转动到指定的角度