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

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

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



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

 



 

时钟





材料清单:




电路连接:




硬件组装:


在塑料外壳四面用激光切割出屏幕开口


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


安装显示屏


切口尺寸根据显示屏的尺寸设计,完美契合


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





把杜邦线裁为合适的长度



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





将I2C级联扩展器的I2C接口连接到ESP32-E主控板的I2C接口上




将电池插入ESP32-E主控的锂电池接口



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





整体图




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


用热熔胶以一定倾斜角度固定倾斜传感器


连接导线



将顶盖和底盒组装合并用螺丝固定








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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

派大星m

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值