便民交通灯(广播的应用)
一、问题提出: ××小学位于高速公路迳口隧道南行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
发一下程序
代码块就是完整的了,别偷懒哈{:5_119:}
页:
[1]