A题
(适用于学过C语言的同学)
难度高,可以实现部分功能分步得分
用Arduino IDE开发“智能交通灯”项目,某一长段路半段处有一大型商场,其门口设有一人行通道,根据此情景设计一个人行通道“智能交通灯”,要求如下:
(12345功能可以一个工程实现,也可以多个工程分别实现)
1、正常通行状态:人行通道智能交通灯按“红灯单独亮40s,黄灯单独闪烁5s,绿灯单独亮20s,黄灯单独闪烁5s”,如此不断循环,每个时刻只有一个灯亮,各色交通灯倒计时在串口监视器有区别地打印显示。
2、行人优先通行状态:设置一个按键为“行人优先通行键”,若行人较多,且人行通道智能交通灯当前是红灯的情况下,行人优先通行键才可被有效按下(即黄、绿灯亮时按键无效),行人优先通行键被有效按下之后,“黄灯闪烁10s,然后绿灯单独亮20s,然后黄灯闪烁5s”,然后恢复正常通行状态。每个时刻只有一个灯亮,各色交通灯倒计时在串口监视器有区别地打印显示。
3、盲人有声通行状态:设置一个按键为“盲人有声通行键”,同2,当人行通道智能交通灯当前是红灯的情况下,盲人有声通行键才可被有效按下(即黄、绿灯亮时按键无效),行盲人有声通行键被有效按下之后,“黄灯闪烁10s,期间无源蜂鸣器有滴滴声音提示,然后绿灯单独亮20s,期间无源蜂鸣器播放一段20s的音乐提示盲人可以通行,然后黄灯闪烁5s,期间无源蜂鸣器有滴滴之外的声音提示”,然后恢复正常通行状态。(说明:无源蜂鸣器有声期间可不必在串口监视器打印显示各灯倒计时)
4、通道紧急关闭状态:设置一个按键为“通道紧急关闭键”,如遇恶劣天气或者路面有紧急车辆通行时,无论人行通道智能交通灯当前是何种灯,通道紧急关闭键被按下之后,人行通道智能交通灯变为红灯闪烁表示禁止通行,直到系统重启才能解除。
5、在4的基础上,想一种方式,可以实现在通道紧急关闭状态下,不必关机重启,手动切换回正常通行状态。