[DIY]基于RT-Thread的辉光管语音番茄钟

优先查看语雀,后面也会优先更新语雀

前期规划

  1. 能用国产就先用国产。
  2. 两个带小数点的IN12辉光管,可插拔设计,坏了方便换。
  3. 三路TYPE-C直插供电,可以在背后插也可以在侧面插。
  4. 支持WIFI对时,使用国产联盛德微电子的芯片W600作为主控,RTOS选用国产RTOS-RT-Thread-4.1.0
  5. 支持掉电时间自走,暂定选国产深圳兴威帆电子的SD3078+可充电电池,±3.8PPM,常温每年误差2分钟,宽温每年误差10分钟。
  6. 加一个离线语音模块(现成模块,预计成本20)和主控交流,声控显示时间。用机芯智能的SU-03T。要有控制语音模块断电的引脚,接到CH432S那里,负责语音模块的断电和串口切换。
  7. 加入外部FLASH-W25Q128(不管用不用的完,我就要大的),用FlashDB记录有多少次番茄钟。
  8. 无源蜂鸣器鸣叫提示。
  9. CH423扩展芯片+高压三极管来驱动辉光管。
  10. QMI8658-IMU来实现旋转调整记时,检测震动,把手机放到番茄钟下面,开始计时后如果有拿起手机的动作,则计时清零 ,硬件上有,软件没做。
  11. 来一个触摸按钮。
  12. 要有自动下崽电路,可以利用星通智联的官方下载器通过串口直接下载,后发现与Xshell冲突,已经改为手动复位升级下载。
  13. 能知道目前的环境温湿度,用国产奥松电子的AHT20-F,湿度精度:±2%RH(25℃),温度精度:±0.3℃。
  14. 因为SU-03T的固件升级串口和通讯串口是一个,通讯线需要在语音模块升级中断开,而且还能独立供电,语音模块独立供电开关,考虑用两个USB转串口,一个给w600.一个给语音模块,语音模块要升级时,用另一个串口控制台给w600发命令让语音模块断电并切换串口线。
  15. 需要预留底部防滑橡胶安装位置。

用途

  • 当个摆件,辉光管的观感还是挺舒服的。
  • 普通番茄钟,陪伴学习工作。
  • 计时提醒,可以说番茄钟唤醒语音,然后说一分钟后叫我半小时后叫我等。
  • 显示时间模式,轮询显示时分秒。
  • 解压的按键,触摸上分外壳,按下去番茄钟就自+1。
  • 通过腾讯连连小程序-WOL远程唤醒电脑,也能用开启电脑|打开电脑来语音唤醒电脑。具体实现看这个《基于RT-Thread+RA6M4的远程开机助手》更详细(原理是一样的)。

整体结构预览

[DIY]基于RT-Thread的辉光管语音番茄钟_第1张图片

系统框架

硬件框架

[DIY]基于RT-Thread的辉光管语音番茄钟_第2张图片

软件框架

[DIY]基于RT-Thread的辉光管语音番茄钟_第3张图片

语音框架

[DIY]基于RT-Thread的辉光管语音番茄钟_第4张图片

作品完整图片

[DIY]基于RT-Thread的辉光管语音番茄钟_第5张图片

嘉立创开源地址

[DIY]基于RT-Thread的辉光管语音番茄钟

代码地址

yzh/基于RT-Thread的辉光管语音番茄钟

视频演示

点击查看【bilibili】

如何使用

番茄钟模式

  • 轻触番茄钟上方触摸按钮即会开始计时,学习时间结束,休息时间结束都会有蜂鸣器鸣叫提醒。
  • 番茄钟开始后,99秒内显示秒数,99秒后显示分钟数。
  • 辉光管左边小数点闪烁表示在学习/工作模式,右边小数点闪烁表示在休息模式。
  • 做事要专心,学习就学习,休息就放空自己。

计数模式

  • 轻触上方触摸按钮番茄钟显示的数字就会+1,从0开始,到99开始重复循环。
  • 按下后抬起时时候蜂鸣器会鸣叫一声并且显示数字+1。
  • 纯纯解压手贱用的。

显示时间模式

  • 小时-分钟-秒表轮询显示。
  • 左边小数点闪烁表示当前显示的是小时。
  • 两边小数点都闪烁表示当前显示的是分钟。
  • 右边小数点闪烁表示当前显示的是秒钟。

模式切换

  • 对辉光管说番茄钟来唤醒语音模块。
  • 唤醒后在十秒内说番茄钟模式计数模式显示时间模式等切换到对应的模式。

连接WIFI

  • 只支持连接2.4GWIFI,试过airkiss配网失败率挺大的,毕竟不是做卖出去的产品,本次就偷懒直接手动通过finsh控制台连接吧,连接一次就行,路由器连接信息会掉电保存。
  • 详情看下图,先连接番茄钟后面的Type-c口,打开一个串口终端,我这里用的是Xshell,115200波特率打开并输入wifi scan确保你要连接的WIFI能被番茄钟搜到,然后输入 wifi join wifi名字 wifi密码等待他能获取到ip就是连接成功了。
    [DIY]基于RT-Thread的辉光管语音番茄钟_第6张图片

语音相关

计时提醒相关

支持10秒,30秒,十分钟,二十分钟,半小时,四十分钟,五十分钟,一小时的语音提醒,还可以再扩展。

唤醒电脑相关

  • 需要重新编译固件,在board.h中配置自己的电脑IP和MAC地址

  • 在这里插入图片描述

  • 在腾讯连连软件包处配置自己的设备三元组(只用语音唤醒电脑的话就不用)

  • [DIY]基于RT-Thread的辉光管语音番茄钟_第7张图片

温湿度相关

  • 唤醒语音模块后说现在温度多少
  • 唤醒语音模块后说现在湿度多少
  • 唤醒语音模块后说现在温湿度多少

如何烧录升级

我在这里暂时上传一下代码压缩包,最好还是在Gitee上克隆一下。
基于RT-Thread的辉光管语音番茄钟.zip

给主控W600刷程序升级

用到的升级软件
ThingsTurn_Serial_Tool.zip
固件,要最新的就去gitee仓库找。
rtthread_2M-20221117.zip
内部有两个ch340,驱动要自己解决。还需要一个串口终端,Xshell或者mobaxterm等都可以,自己搜索下载就可以。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uts2DPkl-1669041858531)(5_image\升级主控.gif)]

给语音模块SU-03T刷程序升级

用到的升级软件
uart_update_tool.zip
固件,要最新的就去gitee仓库找。
jx_su_03t_release_update_20221117.zip
内部有两个ch340,驱动要自己解决。还需要一个串口终端,Xshell或者mobaxterm等都可以,自己搜索下载就可以。在下面这个例子中,COM6是番茄钟后面的那个TYPE-C-CH340E,连接到主控W600,COM9是番茄钟左边那个TYPE-C-CH340E,通过双路模拟切换开关连接到语音模块。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DirNRyV3-1669041858531)(5_image\升级语音模块.gif)]

问题记录

为什么我克隆下Gitee仓库后MDK编译不过去

  • 大概率是因为1_code\packages目录下的软件包没有用ENV工具重新下载,使用 pkgs --upgrade 命令即可解决该问题。

已知问题

  1. 布局时没注意到开启WIFI后发热很大,导致现在AHT20测到的不是环境温度,而是PCB板温度。

小问题记录

为什么辉光管运行过程中需要每隔一段时间轮询一遍所有管脚

辉光管内部的阴极在通电的时候会产生散发电子的溅射现象,而溅射现象的电子会将阴极的金属离子转移到周围的阴极上或者是玻璃管外壳的内壁上,这就会出现外壳内部发黑遮挡住显示,或者是造成周围的阴极部分表面无法正常产生辉光放电,这就是阴极中毒现象。需要加入防中毒程序。

参考资料连接

  1. 辉光管升压
  2. 【N32G457】基于RT-Thread和N32G457的数字气压表
  3. 【12月】基于RT-Thread的物联网辉光钟
  4. RT-Thread文档中心

你可能感兴趣的:(语音识别)