7742浏览
查看: 7742|回复: 0

[项目] 用I2C级联扩展器做一个时钟盒子

[复制链接]
本帖最后由 派大星ym 于 2022-7-29 09:01 编辑

最近因为优惠活动就囤了一些硬件模块,其中包括几块OLED显示屏。当它们整齐的摆放在一起时我突然想到能不能把它门同时点亮并且显示不同内容。很快,这想法遇到了问题,显示屏通过I2C接口与控制器通信,而ESP32-E控制器只有一个I2C接口就算使用扩展板也只有3个I2C接口,也无法满足同时控制4块显示屏。而且I2C器件地址的冲突,连接到控制器同一个I2C接口上的多个相同地址的I2C器件无法正常通信。

额。。。难道说还未开始就已结束了吗? 不,还没有结束,因为我看到了它—I2C级联扩展器:一个专门解决I2C地址的冲突的扩展器。有了它同时点亮多个显示屏的问题迎刃而解。



QQ图片20220727112413.png

准备做一个时钟盒子,能够显示时间日期、倒计时、座右铭。

QQ图片20220727112002.png









材料清单:



电路连接:
QQ图片20220725112419.png




硬件组装:


在塑料外壳四面用激光切割出屏幕开口
QQ图片20220725151702.jpg

使用激光切割尺寸较厚的塑料,至少需要重复切割2次才能成功,多次切割切口有时出现融边现象,需用美工刀修饰一下
QQ图片20220725151939.jpg


安装显示屏
QQ图片20220725151943.jpg

切口尺寸根据显示屏的尺寸设计,完美契合
QQ图片20220725151948.jpg


在显示屏的反面贴上3M单面海绵胶带(防止电路接触导致短路)
QQ图片20220725151951.jpg

QQ图片20220725151956.jpg


把杜邦线裁为合适的长度
QQ图片20220727132553.jpg


将4个显示屏分别连接到I2C级联扩展器的0-3端口
I2C扩展器用于解决I2C器件地址的冲突,通过扩展器的转接,多个相同地址的I2C器件就可以正常使用了

QQ图片20220725152005.jpg

QQ图片20220725152002.jpg


将I2C级联扩展器的I2C接口连接到ESP32-E主控板的I2C接口上
QQ图片20220727132557.jpg

QQ图片20220725152013.jpg

将电池插入ESP32-E主控的锂电池接口
QQ图片20220725152017.jpg


将RTC实时时钟模块的I2C接口连接到ESP32-E主控板的I2C接口上

QQ图片20220727132601.jpg

QQ图片20220725152020.jpg


整体图
QQ图片20220725152025.jpg



把主控的电容触摸引脚(D12)焊接到螺丝上,作为触摸按键

QQ图片20220725161137.jpg

用热熔胶以一定倾斜角度固定倾斜传感器
QQ图片20220725161133.jpg

连接导线
QQ图片20220725161129.jpg


将顶盖和底盒组装合并用螺丝固定
QQ图片20220727112413.png

QQ图片20220728171245.jpg
QQ图片20220728171249.png




不知道为什么测试的时候一切好好的,偏偏组装起来触摸就无反应。
一开始我以为是硬件相互接触短路了,所以贴上3M海绵胶带避免短路。
不出意外问题还是没有解决。
后来我又以为是电路接触不良,于是重新连接了电路,保证每一个导线连接点都正常。
结果问题还是没有解决。
经过一系列的排除问题后,当使用普通按键代替电容触摸按键时,发现问题解决了,最终确定是电容触摸出了问题。
数据线供电时触摸引脚的touchRead()返回值在10左右,而电池供电时触摸引脚的touchRead()返回值在30左右。




程序
sketch_jul08a.zip (1.19 KB, 下载次数: 13)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail