esp32-cam外接OLED SSD1306,烧入水果库(Adafruit_SSD1306.h)的IIC示例代码,显示屏啥都不显示。
首先,代码是实例肯定没错吧?( 打脸 了)
其次,排除引脚接的是否正确,由于esp32-cam没有特定的SDA,SCL引脚,找了其他人接法都是SSD1306的SDA接IO15,SCL接IO14.
还有,SSD1306默认地址是0X3C,具体怎么看是0x3c还是0x3d,见文章末尾po的链接;
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
OLED没有 RESET 引脚的话,则应将 OLED_RESET 变量设置为 -1 (有的话是4)
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
最后,找啊找,换了一天终于找到一篇文章讲自定义引脚的声明!!!
在setup()函数添加 Wire.begin(/*SDA*/15,/*SCL*/14);
void setup() {
Serial.begin(9600);
Wire.begin(/*SDA*/15,/*SCL*/14);
//省略其他代码
}
引脚声明语句真的特别重要!例如esp32-cam没有特定的SDA,SCL引脚,声明试试可能就可以显示啦 。
以下链接是我在找解决办法时候看到的一篇不错的文章,虽然没有解决我的问题。
若有侵权,联系我~~
怎么看OLED地址是0X3C还是0X3D