查看: 12277
回复: 13
参赛作品《32*64点阵电子钟》
yishuizi
1
主题
9
回复
发表于2018-05-17 09:25:16 | 显示全部楼层
1# 电梯直达

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


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

宋磊锋        

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


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


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

32*64点阵电子钟

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

比较喜欢点阵做的电子钟,奈何市面上没有卖的令自己满意的成品,自己也非常喜欢电子制作,之前也做过电子钟,不过都不太满意,

这次做的这个电子钟加入了目前想到的所有功能。

1.时间、日期、农历、节气、节日、生日显示,采用高精度时钟芯片DS3231。

2.语音报时,单片机自己解码Mp3、Wav文件进行播放,不需要硬件解码器,并将Flash模拟成U盘,插上电脑可以方便的替换语音文件。

3.支持汉字、数字、字母显示。将集成一个汉字字库,这样就不用取模显示任意字了。

4.掉电存储功能,断电后设置依然保存,单片机Flash模拟EEPROM存储设置参数,不需要硬件EEPROM。

5.温度、湿度显示(选的芯片是SHT30,由于是QFN封装,我自己手工焊不上去,目前使用的是DS3231的温度,家用的话精度够用,如果后期能焊上去将使用SHT30 的温湿度)
6.n组闹钟,可以单独设置闹钟音乐,周几开启。

7.亮度手动调节功能、自动调节功能(自动标定)

8.频谱显示功能

9.红外遥控学习及控制

10.引出串口来接GPS模块进行GPS授时或Esp8266模块进行网络授时

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

STMF103RCT6、W25QXX系列存储器,DS3231,SHT30,AMS1117-3.3,8002B功放芯片

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

GPS模块,ESP8266模块

8. 拟用到的EDA工具软件名称(必填项):

立创EDA

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


一、作品简介  

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

背面图

 点击查看大图

正面图

 点击查看大图

焊上元器件

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

装配图

 点击查看大图

 

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

        做这款电子钟主要是家里父母喜欢语音报时的大字时钟,我自己也是个完美主义者,市面上现成的时钟不是这里不满意就是那里不满意,那就自己做一个吧,以前也做过数码管的,手里头有两个点阵屏,用这个显示能更大些,效果更好,最重要的是通过做项目可以学习很多新东西,这个收获不是拿钱能衡量的。 

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

        项目题目起的非常平凡,所以亮点有吗?必须有啊,要不然做个电子钟我都不好意思拿出来参赛了,容我一一列举,图在下面

    单片机USB+SPI Flash模拟U盘可以方便的替换语音报时文件,字体文件;

    单片机通过文件系统读取报时文件直接用DAC播放,没有用外部MP3播放芯片的方案(仅用了功放芯片),其实这个电子钟也是个小wav播放器。

    自己设计了一套算法用单片机内部flash模拟EEPROM,并且做了磨损平衡、损坏自动恢复,寿命是flash寿命的n倍(n根据参与的扇区数量决定),而没有用EEPROM芯片,节省了成本与硬件连线。

    自己设计了一套非常容易维护的多级菜单系统,增减改删特别方便,如图像这样在菜单定义处调整即可,操作超时可以自动回到主界面

    幕显示毫无闪烁,包括遥控操作的时候,DIY论坛里面看到大家分享的hex文件,很多都避免不了闪烁,对于我,闪烁就是沙子,不能进我的眼睛。

    亮度自动标定与控制,亮度标定程序会找出一天最亮和最暗的值,在此基础上更精确的控制自动亮度

⑦    先后用了两种操作系统,比较了两种系统的优缺点,这也是我第一次给项目中使用操作系统。

图-U盘模拟

  

 

 

图-flash模拟EEPROM

 

 

图-菜单定义

点击查看大图

 图-菜单内容页面

二、系统构架图

 

三、硬件部分的描述

立创EDA原理图:

Schematic_Clock32x64Led_Clock32x64Led_20180508133450.pdf 

 

 点击查看大图

 

立创EDA PCB:

 点击查看大图

 

实物图:

  点击查看大图

  点击查看大图

    发现立创商城号召用立创EDA进行开发,所以我尝试了一下,容易上手,特别是封装库啥的都是在线的,不用自己维护不用自己非常方便,板子也是在立创打样的,这是我人生中的第一次打样,给了立创,以前都是洞洞板或者自己腐蚀,立创没有让我失望,速度快,质量好,我刚开始还怕我那些细线和细的过孔做出来有问题,收到板子焊上元件下载程序一次点亮,没有经过任何调整,这下我放心了,唯一遗憾的是我对打样的规则没有理解好,原来10*10内里面画两个相同的PCB是不算拼板的,为了省钱所以我中间没有放V割线,回来后苦逼的用美工刀一点点裁成两个。。。。 PS:同事看了我打的板子,后面也在立创打了两次板子。

    本项目采用高精度时钟芯片DS3231计时,高精度温湿度检测芯片SHT30检测温湿度(奈何SHT30QFN封装太小而且焊盘在下面,我手工实在焊不上去,目前温度可以菜单选择使用DS3231的温度或者外挂DS18B20),SPI Flash模拟成U盘存放语音、字体文件;遥控输入通过定时器的输入捕获解码,单片机读取音频文件DMA传输到DAC中进行整点语音报时。预留有串口与外部GPS模块或者ESP8266连接自动授时(不过经过这段时间的测试,DS3231的精度很高,不用自动授时完全可以),另外硬件设计时也是把它当做一个小开发板来做,所以该设计的都设计了,比如两颗外部晶振,预留的多个串口和SPI口。

四、材料清单(BOM列表)

  点击查看大图

BOM清单文件BOM_Clock32x64Led_20180423165300.rar 

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

由于屏幕不能有任何闪烁感,所以屏幕刷新函数必须保证稳定的刷写率不被任何东西打断,包括其他中断,所以在此专门说明一下,本项目屏幕刷新函数是由一个定时器定时调用,屏幕刷新率60Hz,定时器优先级最高,所以目前的效果是一点都不闪,包括遥控解码的时候,但是注意,在退出主菜单列表时程序会卡一下,能看到闪烁,这是因为我将Flash作为EEPROM,退出菜单时保存数据写Flash,而写Flash的时候整个程序是阻塞不运行的,当然如果把设置保存的时机改成设置改变后凌晨再进行保存,也就看不到这个闪烁了。

文字字符显示实现了printf函数,可以在任意xy位置开始显示字符,大大的提高了编程的难度降低了维护成本,比如经常见到的网友的做法显示“你好10”,最初级的做法是:

display(x,y,font[0])-“你”,

display(x,y,font[2])-“好”,

display(x,y,font[3])-1”,

display(x,y,font[4])-0”,

初次写的时候每个字的xy都要计算,而且要查一下“你”在字模数组的第几个,如果中间有改动,比如改成“你10”,那后面三个字的xy坐标又得重新算一遍,而在我这里直接

Screen_Printf (0, 0, FontsType_UserMix, SCREEN_COLOR_RED, SCREEN_UPDATE_NORMAL, "你好%d",10);

就可以了,只需要给出要显示的开始位置,并且同时控制了字体及字体颜色,在下图的菜单页面中也可以看到。菜单系统和设置界面的设计还是比较满意的,可以接收任意多按键的控制,逻辑可以非常清晰,容易维护与新增。比如下面是一个时间校准设置,menu键退出设置,up键加,down键减,ok键本页面未使用。
 点击查看大图

  

再贴一下目前的菜单结构,应该对本项目功能就有个大致了解了

0主界面

1日期设置 (设置阳历,农历自动计算)

2时间设置

-----------2.1时间调整

-----------2.2 24小时制

-----------2.3 时间校准 (用于时间隔一段时间自动加减几秒,PS:DS3231的精度够了,完全不用校准)

3语音设置

-----------3.1 播报模式 (详细模式,简洁模式)

-----------3.2 播报时段 (设置几点到几点开启语音播报)

-----------3.3 音量

4温度选择 (选择显示的文档来自哪一个传感器,并且在每个传感器里面可以设置各自的补偿)

-----------4.1 DS3231

-----------4.2 DS18B20

-----------4.3 SHT30

5 显示效果 (目前使用的是渐变切换效果,感觉这个最入眼,什么滚动,百叶窗的个人不喜欢,留个接口后面慢慢加进去吧)

6亮度设置

------------6.1 亮度模式 (固定亮度或者自动亮度)

------------6.2 亮度标定 (设置自动亮度时,最高光线和最暗光线对应的亮度值)

------------6.3 环境亮度 (获取环境的最高和最暗光线值)

--------------------------6.3.1 自动学习 (24小时自动采集环境的最高和最暗光线值)

--------------------------6.3.2 手动采集 (手动采集环境的最高和最暗光线值)

--------------------------6.3.3 手动设置 (手动指定)

7 遥控设置

------------7.1遥控开关 (使用完遥控后可在此关闭遥控的响应,这样用遥控控制原设备的时候就不会影响到时钟了)

------------7.2 遥控学习

8 字体设置

------------8.1 字体选择 (选择时钟字体、菜单字体)

------------8.2 字体颜色 (选择时钟颜色、菜单颜色)

9 频谱 (考虑到会有网友仿制,所以把大家喜欢的频谱加进来,不过对我来说感觉没啥用啊,所以暂时没做,接口留着,后面慢慢加)

-------------9.1颜色设置

-------------9.2 分频设置

-------------9.3 打开频谱

10 授时设置 (DS3231的精度足够,个人感觉不用浪费买个GPS或者网络模块进行授时,不过接口放在这里,可以在这里设置用什么模块授时,什么时候授时)

11 闹钟设置 (6组闹钟,可以单独设置周内的星期几响)

-------------11.1闹钟一

-------------11.2闹钟二

-------------11.3闹钟三

-------------11.4闹钟四

-------------11.5闹钟五

-------------11.6闹钟六

12 屏幕检测 (考虑到LED点阵屏幕会有坏点,所以加了个屏幕检测功能,红-绿-黄-三色循环显示)

13 还原设置

14 版本信息

如果没有设计的那个菜单系统自主调用,这么庞大的菜单列表不把人累死啊,有了它,再加几倍也没事,而且还提供了快速访问的接口,可以根据菜单ID直接访问配置界面,有了这个菜单系统可以将很多项做成可配置项,满足不同人的各种口味

 

六、作品演示

视频插不进来,放上地址好了

有广告地址→ https://v.qq.com/x/page/g0757e48rfx.html

无广告地址→ https://www.bilibili.com/video/av29067008/

再放几张图片,现在没有外壳,比较丑,后面准备在前面加个黑色的亚克力板

 点击查看大图

  点击查看大图

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

 

 

七、总结

    非常感谢立创提供这么好的机会和平台,媳妇每次说你花的钱和精力都够买一个了,没错,但这就是发烧,买的东西总有这里或那里不满足自己的心意,自己做的一个是完全为自己定制,而且可以提高自己的能力,学习新知识,另外看着自己做得东西在正常运行,就像有生命一样,非常有成就感,开发期间也创造了好几个模块比如EEPROM模拟模块,这个后面准备用到我们产品上,还有菜单系统,写的时候都是遵循高内聚低耦合的原则,便于移植;第一次用上了操作系统,确实好,后面的项目都会上操作系统;实现了USB优盘,语音播放,文件系统,这些都是第一次搞;为了后面升级方便,再用usb模拟个U盘可以把hex文件直接丢进去升级,这次项目结束好好多第一次,所以非常感谢立创。

    由于两个儿子才一岁半,下班还要带娃,所以用于DIY的时间非常紧张,所以我先紧大部分功能完成,授时、频谱这些我用不到的功能后面慢慢搞,期待儿子快快长大,可以和我一块DIY了。。。。。。本届竞赛还没结束,下届的课题我已经定好了,并且已经慢慢筹备了,下届准备为自己定制一套航模遥控和接收机,以后可以控制航模、船模、车模,入坑模型,带着娃们一块玩,想想都开心,模型是个烧钱的坑,期待这次能得奖,作为后面DIY的资金池,最后再次感谢立创提供这么好的机会。

sthsthh
0
主题
10
回复
发表于2022-08-14 14:37:39   |  显示全部楼层
14#
您好 我这边是瑞恒科技有限公司的 我们这边有一些商单和小单子 1134809667 咱们详谈一下 麻烦您了!

主题

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

禁言/删除

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

举报

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

顶部