ianon 发表于 2015-10-20 17:55:09

也发自制时钟,DS3231/8*24点阵/语音播报/人体感应/电池供电/无线充电

本帖最后由 ianon 于 2015-10-20 18:05 编辑

时钟万年历是很经典的DIY选择,具体方案也有很多种,这里发一个我的方案,摒弃了一些华而不实的功能。
主要特点:
1、使用3片MAX7219点阵模块,组成8*24点阵屏,动态显示日期或时间;
2、使用语音播报模块SC5B10,实现整点报时;
3、人体感应,有人的时候才点亮点阵屏,超时后系统进入掉点模式,减少电源消耗,从而使电池供电成为可能;
4、没有按键,通过串口控制,将来可以根据需要安装蓝牙或其他无线;
5、电池供电和无线充电,时间关系还没有实现。


外观,用的是手机盒子,左侧钻孔做喇叭输出


时间模式


日期模式,右下角是星期

感应到有人活动时,启用显示屏,显示4秒时间,然后显示2秒日期,再回到时间模式,如此反复,当30秒内检测不到人员活动则进入掉电状态,关闭显示,但仍能整点报时。


内部,比较乱,用纸板隔了2层,热熔胶固定

ianon 发表于 2015-10-20 17:59:31

人体感应实现过程

本帖最后由 ianon 于 2016-3-16 12:47 编辑

  点阵屏还是比较耗电的,和显示的内容有关,在最小亮度的条件下,实测平均约130mA。为了节电,延长电池供电下的使用时间,引入了人体感应开关模块,在没有检测到人员活动的情况下关闭屏幕显示,单片机进入掉电模式。理论上是比较简单的,但是在实施的过程中遇到了不少的问题,记录下来与大家共享。
问题1、供电电压
  为了便于使用锂电池,系统使用3.3V电压,但是网购的人体感应开关模块是5V供电的。好在仔细看了模块资料,模块上的电路都是3.3V的,板上带了AMS1117稳压芯片将外接5V转换为3.3V使用,这样就容易了,将1117芯片拆除即可改造成3.3V供电。
问题2、STC12系列外部中断只支持下降沿/低电平触发,而感应模块是高电平有效
  这也不是不可解决的难题,最新的STC15系列单片机支持上升沿触发,能够直接使用。但我是要使用现成的STC12单片机模块,就只能另外想办法,那就是用三极管制作一个反相电路。
Vcc ━━━━━━━━━━━━━━┳━
          █ 1k
          ┣━━ P3^2
 感应输出     ┃
  ━━██━━━━━━━━━≤   S8050
    10k    ┃
Gnd━━━━━━━━━━━━━━┻━━
简单的画了一个电路图。

问题3、第一次感应触发正常,后续几次容易发生无法触发的情况
  在这个问题上折腾了很长时间,最后发现是软件的问题。

问题4、系统进入掉点模式后,半秒后即自动触发外部中断

ianon 发表于 2015-10-20 18:02:47

语音播报实现

本帖最后由 ianon 于 2016-3-16 12:56 编辑

  语音播报有很多种方式,比如用WAV数据播放。既然用了这么多模块,语音播报也用模块来实现,效果好,实现简单,费用也不高。选择的是淘宝上的一个模块,芯片2.5元+PCB1元。
  链接就不发了,自己搜索“时钟语音芯片”。



ianon 发表于 2015-10-20 20:25:40

再占一楼,关于电源

1415926 发表于 2015-10-20 20:44:51

本帖最后由 1415926 于 2015-10-20 20:49 编辑

买个ESP8266,刷NodeMUC程序,比买个NodeMCU的板子还便宜 :)
缺点是GPIO口较少

huangshan78 发表于 2015-10-20 22:29:42

能否给程序看看,研究研究

方恨少 发表于 2018-3-14 22:12:21

学习过程中,有点不详细。

ztrdiy 发表于 2018-3-22 12:05:04

资料太少,不能翻版啊。。。

快乐起航2012 发表于 2018-4-1 17:28:52

很不错,盒子也很艺术,暂且收藏,需要时仔细研究
页: [1]
查看完整版本: 也发自制时钟,DS3231/8*24点阵/语音播报/人体感应/电池供电/无线充电