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

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

[复制链接]
本帖最后由 派大星ym 于 2022-8-16 15:59 编辑

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

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



用I2C级联扩展器做一个时钟盒子图17

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

用I2C级联扩展器做一个时钟盒子图18









材料清单:



电路连接:
用I2C级联扩展器做一个时钟盒子图1




硬件组装:


在塑料外壳四面用激光切割出屏幕开口
用I2C级联扩展器做一个时钟盒子图2

使用激光切割尺寸较厚的塑料,至少需要重复切割2次才能成功,多次切割切口有时出现融边现象,需用美工刀修饰一下
用I2C级联扩展器做一个时钟盒子图3


安装显示屏
用I2C级联扩展器做一个时钟盒子图4

切口尺寸根据显示屏的尺寸设计,完美契合
用I2C级联扩展器做一个时钟盒子图7


在显示屏的反面贴上3M单面海绵胶带(防止电路接触导致短路)
用I2C级联扩展器做一个时钟盒子图5

用I2C级联扩展器做一个时钟盒子图6


把杜邦线裁为合适的长度
用I2C级联扩展器做一个时钟盒子图19


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

用I2C级联扩展器做一个时钟盒子图9

用I2C级联扩展器做一个时钟盒子图8


将I2C级联扩展器的I2C接口连接到ESP32-E主控板的I2C接口上
用I2C级联扩展器做一个时钟盒子图20

用I2C级联扩展器做一个时钟盒子图10

将电池插入ESP32-E主控的锂电池接口
用I2C级联扩展器做一个时钟盒子图11


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

用I2C级联扩展器做一个时钟盒子图21

用I2C级联扩展器做一个时钟盒子图12


整体图
用I2C级联扩展器做一个时钟盒子图16



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

用I2C级联扩展器做一个时钟盒子图13

用热熔胶以一定倾斜角度固定倾斜传感器
用I2C级联扩展器做一个时钟盒子图14

连接导线
用I2C级联扩展器做一个时钟盒子图15


将顶盖和底盒组装合并用螺丝固定
用I2C级联扩展器做一个时钟盒子图23


显示时间/日期/座右铭
用I2C级联扩展器做一个时钟盒子图24
用I2C级联扩展器做一个时钟盒子图25


显示倒计时,时钟盒子四面分别显示5/10/15/20分钟倒计时,通过电容触摸按键进行控制用I2C级联扩展器做一个时钟盒子图26
用I2C级联扩展器做一个时钟盒子图27



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




程序
下载附件sketch_aug16a.zip





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

硬件清单

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

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

mail