查看:
10145
回复: 16 |
参赛作品《基于STM8的语音报时时钟》(已完成)
|
|||
|
发表于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块有机玻璃组合成一个外壳,设计好六个面,然后去淘宝上找人加工就可以了。 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写的,没有使用库函数,由于自己也是不断在学习写程序的过程中,完全是想到哪就写到哪,再加上也没时间整理,所以写得比较乱。请大家不要介意,呵呵 六、作品演示 请上传您的作品的功能演示到腾讯视频,并编辑到本楼(或附上视频链接)。按要求上传视频可获得5分,具体详见活动规则。 视频展示地址: https://v.qq.com/x/page/k0534c3xg0g.html 七、总结 例如您在完成该作品过程中的一些体会、碰到的技术问题或调试经验、作品的未来规划,及对我们主办方的建议和意见等。 这个作品基本上都是用我手上现有的元件做的,直正新买的元件只有TP4057和一些电容电阻,并没有考虑说成本或其他问题,所以做到后面也发现了很多问题。由于是用业余的时间来做的,所以需要完善的地方比较多。 这是我用STM8做的第一个作品,是边学边做的,做到后面发现STM8S103其实不太合适做这个。首先空间太小,可能要换16K FLASH的才能做得比较好,主要是咪头采集的时候我做了FFT运算,占用了4K多的空间,导致其它功能能省就省。然后用8位的单片机做FFT运算花的时间太长,导致显示其实是有点问题的。另外ADC通首太少了,不能在单片机内部直接测量电源电压(之前学的是STM8L是可以的,然后我没仔细看就画了板,后面写程序的时候才发现这个,只好割板)。还发现了一个比较奇怪的问题,就是用作与语音芯片做通信的串口有问题,会使语音芯片误报,但是我用电脑串口抓过数据是正确的,所以应该不是我程序的问题,而我用STC的单片机跟语音芯片通信的时候是没有问题的,所以也不会是语音芯片的问题,这个问题以后要继续研究。另外这个时钟电池供电时,功耗还是比较大的,实测一个2000MAH的锂电池也就能用三天左右,这也是一个要解决的问题。 未来的规划:未来如果我能找到区分掌声和其他声音的方法(有哪位大神知道的也可以推荐一下,十分感谢),我还要再做一个,因为我觉得这样控制太方便了,不需要遥控器或手机或其他硬件就可以远程控制时钟,这将极大地改善用户体验。 |
|||
|
发表于2017-08-07 22:52:39
|
显示全部楼层
6#
里面用的是18650锂电池,没电了就充电,不用换电池的。
|
|||
|
发表于2017-08-09 21:30:38
|
显示全部楼层
9#
不是封闭的,电路板上的USB座就是充电口。
|
|||
|
发表于2017-08-09 21:31:55
|
显示全部楼层
10#
晚上是可以关闭的
|
|||
|
发表于2017-08-13 09:02:40
|
显示全部楼层
13#
USB口除了能充电,还可以连电脑放声音文件
|
|||
|
发表于2017-08-13 09:06:13
|
显示全部楼层
14#
这个应该做不了产品,我觉得成本有点高。不过DIY一个自己玩一下还是挺好玩的。
|
|