查看: 8919  |  回复: 16
参赛作品《基于STM8的语音报时时钟》(已完成)
DaNKer3
1
主题
8
回复
发表于2017-06-16 21:56:19 | 显示全部楼层
1# 电梯直达

【报名阶段需要填写的内容】


1. 参赛者姓名(必填项):

黄工

2. 单位或学校名称(必填项):

银燕电气科技

3. 当前职务或职称(必填项):

电子工程师

4. 参赛作品的名字(必填项):

基于STM8的语音报时时钟

5. 简要陈述您的idea和作品(必填项):

前段时间回老家的经历让我萌生了做一个老人用的电子时钟的想法。有时候我们并不需要多高大上的功能,只需要看看时间就可以了,显示越简单越好。不过由于工作比较忙一直都没时间做,刚好看到立创商城开了这个活动,想了一下午,决定趁这个机会把这个想法付诸实施。

要求:制作一个简单的给老人用的时钟,要求走时要精准不用经常调时,可语音报时方便视力不好的老人。使用锂电池供电,可随时使用。用四个数码管显示时间,只要显示时间就可以了,没必要显示其他东西。

6. 拟用到的立创商城在售物料(必填项):

STM8S103,DS3231,TP4057......

7. 拟用到的非立创商城物料或其它补充(必填项):

MAX9812,FD650S,一寸数码管

【作品正式发表(报名成功后进入设计阶段)需要填写的内容】


一、作品简介

例如,可以包括但不局限于以下内容:

1.作品的整机外观图片或焊接组装好的PCBA图片;

用手机拍的,不是很清晰,请各位见谅。做为外壳的有机玻璃有两层半透明的保护膜,使照片更在朦胧,不过我喜欢,哈哈!

   


2.作品的研究背景、目的和功能、市场应用前景;

报名时已经介绍过,这只是一个简单的时钟,只要走得准,能语音报时,内置可充电电池。目的是给家里的老人用,太多功能他们也用不上。

3.作品在创新性、趣味性、实用性甚至公益性方面,有哪些亮点可体现?

我觉得最大的创新就是能声控报时,当然目前这个功能还不完善,还不能分辨出掌声和环境噪声,所以在比较吵的环境下一定是会出现误报的。相比之下,市场上的声控应该会好很多(当然我没对比过)。

二、系统构架图

用流程图或思维导图等形式,描述您的作品的组成构架,即方案图。

这是一个很简单的时钟,模块组成如下。

 

三、硬件部分的描述

这是我第一个STM8的作品,之前虽然也学过STM8,但也只是知道怎么用而已。由于对STM8了解不多,所以这个方案没选好,后来也是一边改电路一边写程序,由于也没时间重新设计了,就只能一直走下去。好在现在也实现了想要的基本功能。当然,从产品的角度来看,还有非常大的改进空间。

1.附上原理图&PCB实物图的图片或者源文件(官方建议大家尽量用源文件上传),如果是图片,请确保图片是清晰可辨的;

原理图是用AD16画的。

电子钟原理图 

注:补充一下,原理图里面的那个MPA1727其实是一块MAX9812小板,就是咪头放大器小板。

PCB图就不上传了,因为已经改了很多,对不上最终电路板,也没时间改画电路再去打板了。就截个图给大家看看得了。

 点击查看大图 点击查看大图 

上传一份外壳的设计图纸,外壳很简单,就是用6块有机玻璃组合成一个外壳,设计好六个面,然后去淘宝上找人加工就可以了。

外壳设计CAD2008 


2.用文字把该作品的实现原理、系统的工作过程大致讲解一下。

这个时钟就是用STM8读取DS3231里的时间显示到数码管上。并用咪头来采集声音信号,当听见有掌声,且掌声符合一定规律时,开始报时。此时单片机通过串口发送命令给语音芯片,语音芯片跟据收到的命令来读取语音存储器中的声音,转到声音信号,再输出到功放芯片放大,进面驱动喇叭输出声音。另外 按键可以调整时间,可设置一些参数,也可以启动报时。TP4057则是给18650电池充电,并输出信号到STM8中,使单片机能判断当前的充电状态。

四、材料清单(BOM列表)

列出您这个作品所用到的主要器件(关键器件即可),比如单片机&ARM芯片、专用集成芯片(ASIC)、传感器、功能模块等。

如果所列出的芯片是来自我们立创商城上的,最好能写出该器件的商品编号或附上对应购买链接。

STM8S103

DS3231

FD650S

TP4057  C12044

QJ008

W25Q64

8002A

MAX9812


五、软件部分的描述(选填)

如果您的作品涉及到软件,请列出作品对应的软件工作流程图,及关键部分的例程、源码(如果您想开源的话请上传全部源码)。

功能介绍:

1、在时间显示状态下,对着时钟拍两声掌声(时间间隔1S左右),时钟就会报时和报温度。

2、在时间显示状态下,按PLUS键可以报时和报温度。

3、在时间显示状态下,按下MODE键,进入设置小时,再按MODE键,设置分,再按MODE键,设置秒。

4、在时间显示状态下,长按MDOE键3秒以上,进入整点报时开关设置,再按MODE键,进入报时音量设置。

5、充电提醒,当电池电量低时,所以报时操作都会提示--电池电量不足,请及时充电。插入充电器充电时,会提示正在充电。充满电后会提示充电完成。

6、在没接充电器时,时钟会自动关闭显示,以节省功耗,延长电池使用时间。当连接有充电器时,时钟会一直显示。

7、用数据线将时钟接到电脑USB口上,打开时钟的磁盘,如果是新的FLASH,格式化磁盘,再将声音文件解压到根目录即可。声音文件.rar 

由于工作中做的产品都很简单,没写过流程图,所以不知道怎么写,反正大家看得懂就得了。附软件流程图:

 


上传源程序,程序是用STVD写的,没有使用库函数,由于自己也是不断在学习写程序的过程中,完全是想到哪就写到哪,再加上也没时间整理,所以写得比较乱。请大家不要介意,呵呵

基于STM8的语音报时时钟源程序 


六、作品演示

请上传您的作品的功能演示到腾讯视频,并编辑到本楼(或附上视频链接)。按要求上传视频可获得5分,具体详见活动规则。

视频展示地址:

https://v.qq.com/x/page/k0534c3xg0g.html

七、总结

例如您在完成该作品过程中的一些体会、碰到的技术问题或调试经验、作品的未来规划,及对我们主办方的建议和意见等。

这个作品基本上都是用我手上现有的元件做的,直正新买的元件只有TP4057和一些电容电阻,并没有考虑说成本或其他问题,所以做到后面也发现了很多问题。由于是用业余的时间来做的,所以需要完善的地方比较多。

这是我用STM8做的第一个作品,是边学边做的,做到后面发现STM8S103其实不太合适做这个。首先空间太小,可能要换16K FLASH的才能做得比较好,主要是咪头采集的时候我做了FFT运算,占用了4K多的空间,导致其它功能能省就省。然后用8位的单片机做FFT运算花的时间太长,导致显示其实是有点问题的。另外ADC通首太少了,不能在单片机内部直接测量电源电压(之前学的是STM8L是可以的,然后我没仔细看就画了板,后面写程序的时候才发现这个,只好割板)。还发现了一个比较奇怪的问题,就是用作与语音芯片做通信的串口有问题,会使语音芯片误报,但是我用电脑串口抓过数据是正确的,所以应该不是我程序的问题,而我用STC的单片机跟语音芯片通信的时候是没有问题的,所以也不会是语音芯片的问题,这个问题以后要继续研究。另外这个时钟电池供电时,功耗还是比较大的,实测一个2000MAH的锂电池也就能用三天左右,这也是一个要解决的问题。

未来的规划:未来如果我能找到区分掌声和其他声音的方法(有哪位大神知道的也可以推荐一下,十分感谢),我还要再做一个,因为我觉得这样控制太方便了,不需要遥控器或手机或其他硬件就可以远程控制时钟,这将极大地改善用户体验。

立创商城工程部
【官方工作人员】
113
主题
1325
回复
发表于2017-06-16 22:04:45   |  显示全部楼层
2#

欢迎参与! 对老人很实用的时钟。


您已经报名成功!

您现在就可以开始进行设计工作了,后期相关内容请在一楼编辑进行完善。

当前所有参赛选手分值统计表及活动详细介绍见:  http://www.szlcsc.com/go/17523dej


主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部