宙仔 发表于 2019-12-18 22:29:20

便民交通灯(广播的应用)

一、问题提出:  ××小学位于高速公路迳口隧道南行500米处的北面,,这是一所紧挨着国道的学校,每天有超300名学生要穿过国道上下学。每天一辆接一辆的重型大货车从校门口呼啸而过,其他车辆的速度也毫不示弱,整个道路犹如赛车场,给该校学生上学、放学带来极大交通隐患。现在我们通过掌控板为××小学的孩子们竖个红绿灯!让孩子们安全上学、回家!

二、方案设计:  在不影响主干道行车的条件下,在此设立一个红绿灯,红绿灯不能像市区的红绿灯那般循环进行,而应该是设置为手动模式,当行人按下按钮的时候,有一个缓冲时间(等待一段时间),然后行人方向绿灯,行车方向红灯,待行人过后(预算时间),行车方向红灯转绿灯,行人方向绿灯转红灯。一直到等待下一次行人按下按钮。

三、实验器材:掌控板两块或三块,(场景图纸布置,Lasercut的红绿灯支架……)。

四、功能设计:  ①利用掌控板自带的3颗全彩LED灯珠作为红绿灯,分别用作行人方向和行车方向的红绿灯;  ②一般状态下,行车方向的掌控板亮绿灯,行人方向的掌控板亮红灯;  ③当行人方向的掌控板A键按下,   并同时给行车方向的掌控板发出一个广播信号,   两者同时经过一段缓冲时间之后,   行车方向的绿灯闪烁→黄灯→红灯,行车方向转为红灯的同时,行人方向的掌控板LED转为绿灯,   等待一段时间之后,   行人方向的绿灯闪烁→黄灯→红灯;  ④回复到②并等待行人按下按键A。此处注意红绿灯的同步!

五、任务分解:
1、行人端红绿灯任务分解:  ①行人方向的灯是红色的,等待行人按下A键,  ②当行人需要过马路的时候,按下按钮,同时给行车方向的红绿灯发射信号,等待缓冲时间,红灯转绿灯。  ③行人走完之后(绿灯亮一段时间),黄灯闪烁3次,再变为红灯。

参考例程:

PS:此处采用了两个函数,以减少代码块。
2、行车端红绿灯任务分解:  ①亮绿灯,等待接收广播指令;  ②当接收到广播指令,等待缓冲时间,黄灯闪亮3次,红灯亮,等待15秒,行人通过后,恢复绿灯。
参考例程:


六、功能扩展  作品可以继续完善,如:人行道两边增加按钮,场景的搭建,利用掌控板自带的蜂鸣器增加声音提醒功能,显示屏中以图像来显示人站立等待抑或行走等等……
七、演示视频
https://v.qq.com/x/page/k3037jprvqp.html

木林小朋友 发表于 2019-12-29 13:14:46

发一下程序

gada888 发表于 2019-12-30 07:36:20

不错

宙仔 发表于 2019-12-31 11:38:37

木林小朋友 发表于 2019-12-29 13:14
发一下程序

代码块就是完整的了,别偷懒哈{:5_119:}
页: [1]
查看完整版本: 便民交通灯(广播的应用)