## 须知
验证方式使用3块0.96寸SSD1306,仅用于验证原理,电路仅供参考,电路设计不完美,请勿直接照抄。
## 原理
0.96寸SSD1306屏幕有两个I2C地址,可以通过拉高或拉低 `D/C#` 引脚切换,始终向其中一个地址写入数据,这样只有 `D/C#` 引脚被拉低的屏幕可以接收数据。
再配合
74HC595,这样无论有多少块屏幕,都可以使用5个IO口驱动。
思路来源于视频 https://www.bilibili.com/video/BV1Zt4y157Yu 稚晖君的评论。
![20220909_141757.jpg]
## 问题
我焊接的实物有个神奇的BUG,可能是我的电路设计有问题,或者是程序有问题,再或者是我买的芯片有问题(我买的是用于驱动数码管的74HC595),必须将芯片加热才能正常切换地址(风枪180度吹10s),等芯片冷却后又会出问题。不过这个问题不影响思路验证,我的思路是对的,可以通过切换I2C地址达到同时驱动多块屏幕的目的。
## 演示
见附件视频