【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...

2017-03-299.3万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用OLED12864液晶屏和Bluno Beetle主控板制作一款智能桌面小时钟。该项目包括硬件清单、详细制作步骤和源代码。最终效果是一个小巧、方便携带的时钟,具备充电功能和惯性检测。难度适中,适合零基础新手和STEM教育。
一直想做一款桌面时钟,不需要太复杂的功能,小巧、能够显示时间就可以了。我用的是OLED12864液晶屏作显示,Bluno beetle作主控芯片,加上锂电池和充电模块,LIS2DH加速度计作惯性检测(当我任意改变时钟的放置方向,OLED显示屏的显示也随之改变),先来一发展示视频吧。。。


特点
    小巧、方便
   惯性传导,感知钟的摆放状态

是不是很炫酷,很高大上了?这个时钟小巧,可以放在桌面上,也可以贴在墙壁上,甚至可以揣在兜里,随身携带。来看看这个小家伙吧!!!

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图22


【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图23

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图24



充电功能
我的时钟还具备充电功能,采用microUSB(随便哪个手机充电器就可以了)进行充电,不必担心它没电(除非你懒的给它充电。。。),下面我将整个制作流程和源码给大家。

你可以参照视频进行制作。。。



制作前准备
硬件部分:
       OLED2864显示屏(点击购买) FIT0328
       LIS2DH加速度计模块(点击购买)  SEN0224
      Bluno Beetle主控板(点击购买)  DFR0339
      锂电池充电模块(点击购买)
       3.7V锂电池(点击购买)
      外壳(3D打印文件下载)
       黑色亚克力透明板(这个是在淘宝上面买的)
软件部分:
       Arduino IDE1.8.0
       相关库文件(点击下载)
       源代码(点击下载

详细制作步骤

1、拆除电路板上面的PH2.0接口
  由于我的小时钟体积小,而PH2.0的接口占体积太大了,所以我决定把它拆掉,改用手工焊接连线的方式。如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图1

参照图中方式,先用斜口钳强行剪掉PH2.0接口,再用电烙铁取下上面的排针,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图2

以同样的方式,拆除LIS2DH加速度计模块和充电模块上面PH接口,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图21

PS:图中红圈部分都是需要拆除的。

2、修改Bluno Beetle主板的供电方式

查看原理图得知,Bluno Beetle主板上有两个LDO电源芯片(VIN5V5V3.3V),蓝牙芯片就是工作在3.3VATMEGA328p芯片工作在5V(其实该芯片的工作电压为1.8V~5V),而我们的锂电池采用的是3.7V的,所以我们直接将锂电池电源供给AEMEGA328p芯片,由原来的5V3.3V变成3.7V3.3V(测试可行),拆掉原理图上面的D1二极管,将我们的锂电池输出供电直接接到Bluno Beetle主板的5V引脚上(实际上这时的5V电源线就是3.7V了),如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图26

主板上面对应的二极管位置如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图3

注意拆卸的时候,先用电烙铁拆掉二极管的一脚,然后再用镊子不停的折叠二极管的另一脚,使其自然断裂即可,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图27

注意:拆卸完这个二极管后,插上USB是不能给主板下载程序的,因为你给它断电了。

3、制作连接线

由于OLED屏和LIS2DH加速度计都是采用I2C接口形式,所以,焊线很简单,只需要接4根线就OK了。线是采用的传感器包装盒里的Gravity线,用斜口钳剪掉,长度大概在5cm左右,如下图所示:
【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图4

用剥线钳剥去表皮,露出铜线(长度在3mm),然后镀锡。

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图5

4、焊接传感器

在焊接传感器前,需要先预估好锂电池、传感器、主板的位置,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图6

接下来就可以开始焊接线了,因为传感器模块小,不好固定,注意焊接时的手法。

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图7

左手中指按住PCB板,拇指和食指拿住要焊接的线。

将传感器上面的I2C接口分别用电线与主板的I2C连接(这里就不用我说哪个连那个了吧),其中VCC连接到Bluno Beetle主板的5V上面。焊接好后,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图8

用同样的方法和连线方式,焊接好LIS2DH加速度计传感器,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图9

5、固定锂电池和相关硬件

我们的硬件已经焊接完成,需要将它们固定到锂电池上,我采用的是3MM厚的强力双面胶,这样既固定又能防止PCB后面的阵脚戳穿锂电池,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图10

6、焊接充电模块
充电模块放在锂电池的背面,注意将USB充电接口放在外面,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图11

用线将锂电池的“+”极与主板的5V连接,“-”与主板的GND连接,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图12

焊接好后,接下来需要焊接锂电池到充电模块了。用斜口钳剪掉锂电池上面的PH2.0接口,焊接到充电模块上,注意红色接到“+”极,黑色接到“-”极,如果接反了,你懂的,肯定玩儿完,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图13

焊接完成。。。

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图14

7、打印始终外壳

在前面的链接中下载3D文件,打印外壳,根据你设置的打印参数不同,打印所需的时间也不同,我打印的时候画了3个小时左右。

外壳打印中,等待。。。等待。。。

8、下载程序到主板

当焊接完成后,实际上主板已经可以正常工作了,因为锂电池在供电。这个时候插上主板上面的USB接口,给主板下载程序,程序源码需要从前面的链接中下载(这里就不需要我啰嗦怎么安装库文件了吧!!!)。如果下载顺利,时钟就会开始工作了,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图20

注意:这里需要在源码中更改当前的时间,如下所示:
      uint8_t secondCounter = 0;
     uint8_t minuteCounter = 2;
     uint8_t hourCounter = 11;

9、安装电路板到外壳
首先将充电器模块固定到外壳,注意将充电器模块上面的USB充电口通过外壳底板的小槽露出了,并用USB线测试是否可以正常插拔,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图15 【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图16

插上USB充电线后,充电模块上面的红色LED灯会亮,表示正常充电,充电完成后,绿灯亮:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图19

确定位置后,用热熔胶固定,如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图17


安装好充电模块后,把其他电路板塞到外壳中,这里随便怎么放置都可以,只要你不扯断线就OK了。

10、制作屏幕


将黑色亚克力透明板裁成外壳盖的内径大小(这个很费劲,我大概弄了20分钟),如下图所示:

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图18


不好意思,我后面忘了拍照片了,只有剪之前的照片。弄完之后,将外壳盖和亚克力板用热熔胶固定。

11、整机组装

将外壳盖和外壳用胶水固定,旋转时钟,显示效果也随之改变,至此,整个制作就完成了。

【智能桌面小时钟1】-基于arduino bluno用OLED12864液晶屏制作...图25

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(29)
派大星ym
派大星ym
,,,,
派大星ym
派大星ym
厉害厉害厉害
zerotwox
zerotwox
手残焊接选手在旁观战
碧海
碧海
很精彩,可以试着做一个
20060606
20060606
惯性检测好高级,像手机上那个
Erictice
Erictice
版主厉害
LYT
LYT
楼主请看一下,库文件和源代码的链接,指向了同一个网页,而且源代码似乎有问题。software。感谢
ljphit
ljphit
可以显示中文吗?加一行字
Chocho2017
Chocho2017
作者
回复ljphit
可以呀,用取模软件,然后做成数组,就可以了
xiaohe9527
xiaohe9527
能不能具体讲一讲程序部分啊,全代码有点看不懂的
xiaohe9527
xiaohe9527
太牛逼了
r_hh123
r_hh123
不错。
就是万一断电的话,时间就丢失了不准了,还要重新上传代码校准。这是个硬伤。
最好能改进下。
Chocho2017
Chocho2017
作者
回复r_hh123
嘻嘻,还行。
r_hh123
r_hh123回复Chocho2017
:lol动作挺快啊
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
hhhhhhhby
hhhhhhhby
可以分享代码吗
Chocho2017
Chocho2017
作者
回复hhhhhhhby
已经共享了呀
www.sxzisha.com
www.sxzisha.com
收藏了,电路部分以后会用得上
qq36255842
qq36255842
可以问一下,作者,这个屏幕能不能换成大屏幕?
Chocho2017
Chocho2017
作者
回复qq36255842
呵呵,我要的就是小巧,而且大屏幕费电。
nicho
nicho
突然发现DF的这个屏幕好漂亮
nicho
nicho回复Chocho2017
原来如此!
Chocho2017
Chocho2017
作者
回复nicho
我加了个黑色亚克力板,瞬间就高大上了。
svw
svw
焊接和拆线手法很牛啊!值得我这小白学习。
不过外壳设计,为何不用圆角(fillet),看着不舒服啊。
还有,可以用3d打印设计刻个名字啊。
Chocho2017
Chocho2017
作者
回复svw
3d图是我自己画的,还没来得及学会圆角了:lol。
bluewoood
bluewoood
写的很详细,成本要多少?
Chocho2017
Chocho2017
作者
回复bluewoood
但是对于自己来说,这个时钟物价,因为是自己做的。:lol:lol:lol:lol:lol:lol
Chocho2017
Chocho2017
作者
回复bluewoood
成本的话差不多200块。
微笑的rockets
微笑的rockets
根据你的bom,我做了一个心愿单,可以查看一下。
https://www.dfrobot.com.cn/wishlist.html
Chocho2017
Chocho2017
作者
回复微笑的rockets

嗯嗯,看了,挺好的。
许培享
许培享
收藏了,电路部分以后会用得上:D
Chocho2017
Chocho2017
作者
回复许培享
嗯嗯,以前我也以为uno非5V供电才行,后来才发现328p是宽电压输入的。
微笑的rockets
微笑的rockets
使用、学习、拆解、改造、重制,这大概就是创客的奥义。
给你101分,多一分,我为你骄傲!
Chocho2017
Chocho2017
作者
回复微笑的rockets
谢谢。我会持续改进的。