zl程序教程

您现在的位置是:首页 >  系统

当前栏目

公交车语音播报系统的使用说明书

系统 语音 说明书 使用 播报
2023-09-11 14:20:47 时间

关于公交车语音播报的使用指南

先给各位父老乡亲问个好,这是本项目的最后一篇博客了,之所以没有坚持到每天更新一篇的任务达成,是因为整个调试过程不可谓不波折,少芯片的事情对于硬件工程师而言,太普遍了,这个项目走下来,至少是烧了一个STC51芯片,两个时钟模块。从数据上也可以看出来,调试过程中,最不顺利的就是对于时钟的调整,因为要使用按键对年月日周时分秒进行调整,所以不得不考虑怎么对DS1302模块的时钟进行干扰,而且每一次的调整,还得可以时时显示到OLED屏幕上。所以也是有一些遗憾的问题,其一是没有将调整后的数据写入到RTC的寄存器;其二是每次初始化系统,都会对系统时钟进行初始化操作,所以无法保存上一次设定的值。因为本人对这个模块的使用也不是刚需,所以有想到这个解决问题的办法的同学,欢迎给我留言,大家一起进步。

截止到目前为止,已经完成了项目的大部分工作,基本完成了所有的任务设定,并且可以很好的响应所有的需求,为了让你能更深入的了解这个项目的大部分工作,在这里提供一份简单的使用说明书,以方便你的了解和使用。

系统上电自检

快递收到后,请先上电,检查系统的工作状态:

  • OLED屏有没有亮
  • 核心板的电源指示灯有没有亮
  • 红外模块的指示灯有没有亮
  • RTC时钟的指示灯有没有亮
  • 语音播报模块的提示音有没有

上述都是对于各个模块上电后的描述,而具体的功能测试,则可以仿照我之前发送的一个视频和下面的文字解析进行相对应的测试。

RTC时钟调整

首先在系统上电后,会语音播报模块会提示一声,而显示屏会亮屏,RTC模块和红外模块的指示灯会发光。接下来需要完成两个操作,一个是公交站点的初始化(通过按矩阵键盘的SW4键),另一个是对于RTC时钟根据当前的时间,通过矩阵按键进行修订,这个修正时间越快,则系统在时钟显示上出现误码率的概率会更低,给一个指标吧,最好控制在一分钟之内完成。

利用矩阵键盘对于时钟模块的规范操作:

最佳调整时间:

最好是在整点的时候,对系统上电然后仅对小时进行调整,比如8:00,9:00,10:00,11:00,12:00,13:00,14:00,15:00,16:00,17:00,18:00,19:00,等

次佳调整时间:

  • 首先上电后,先进行分钟的调整,根据当前的分钟对时间调整

  • 然后再进行小时的调整

  • 最后才是年月日周

    最佳的调整方式是在整点进行时钟调整,次佳的方式是按照上述的三个步骤进行时钟调整。

note:如果会烧写程序,也可以在验收前,把当前的时间直接烧写到RTC时钟中,从而省略了对显示的初始化操作。

红外传感模块

对于红外模块的灵敏度,可以通过红外模块上的蓝色十字电位器进行调整,它可以调整接受的距离。需要注意的一点是这个模块在不同的环境光强条件下,它受到的干扰条件不一致,所以可以根据实验室的具体环境进行调整。在播报站点信息的时候,当红外模块检测到站台(即将手或者其他物体放到感应模块附近时),系统认为当前达到一个站台,会播报这个站点的信息,并且会对下车的乘客发出一些语音提示信息;当手离开红外感应模块后,系统认为车辆将驶离此站台,而驶向下一个站点,则会对上车的乘客发出开车语音提示和让座提醒。

矩阵按键

至于矩阵按键部分,如果发现调整不灵敏,可以增加按键时长,来完成键值的输入。因为在程序中加入了释放检查,即设定了按压阈值,所以在较长时长之内,不释放按键,程序不会接着往下执行,从而保障了键值的正常输入。关于矩阵按键的键值规定,在模块的旁边已经进行了标注,比如:年+ 是对年数进行加操作,而年- 则是对年进行减操作,其余按键同理。

note:另外系统也支持连按,当完成一次键值输入后,不释放按键,当时长超过设定的阈值后,系统会默认为这是第二次按压,所以键值会再次发生变化。这个功能特别适用于时钟显示中对于小时和分钟的调整

OLED屏幕显示

而OLED显示屏之所以要不停的刷新,是因为这个屏幕本身如果长时间不刷新,则在静态显示下,会出现随时烧屏现象,所以需要设定必要的刷新率。采用较低的刷新率,即能防止发生烧屏现象,又能将更多的文字信息流动显示到屏幕上,故看起来屏幕是一闪一闪的,这样设计也方便上车的乘客注意到提示信息。

语音播报模块

语音播报模块,所有的语音输出内容,都会在OLED屏上进行流动显示,只有当该站点的信息播报完成后,程序才会接着往下执行,即在一轮播报过程中,不能跳过这个站点,去播报下一个站点(当然特殊情况下是可以的,特殊情况是在进行上行播报和下行播报的时候,无论当前处于什么站点,上行会初始化为A站点,下行是会初始化为H站点)。播报方式,可以通过上下行按键进行模式选择,上行播报是从A站到H站,共8个站点信息。而下行播报则是从H站到A站,如果在完成一轮播报后,不切换播报模式,则系统会又开启一轮此模式下的站点播报,如果是上行模式,则是接着从A到H,下行模式则是接着从H到A。