ESP32-S3+1.3寸OLED+SH1106

简介

事情就是为了看大一点的屏幕,买了1.3寸的OLED屏幕(4pin),结果发现是SH1106驱动。

试了很多方法,终于点亮了这个oled。

资料下载
1.首先就是下载普中资料:普中科技-各型号产品资料下载链接_公司新闻_新闻资讯_深圳市普中科技有限公司 (prechin.cn)

2.根据型号,我直接是ESP32-S3,下载基础实验:

3.点开例程安装zip库。

因为提供的库里有关于SH1106的文件,可以直接解压缩zip,查看文件,也可以点击此处为github此库的详细链接

esp8266-oled-ssd1306/src/SH1106Wire.h at master · ThingPulse/esp8266-oled-ssd1306 · GitHub

根据库的一些提示,修改代码。最后就可以显示了。

代码:

1.首先是引入库

#include <Arduino.h>
#include <SH1106Wire.h>

2.定义引脚。

#define SDA 47
#define SCL 21

3.创建实例

地址一开始用的0x78.无果。换0x3c,误打误撞成功了。问过客服説是,如果是7位就0x3c,如果是8位那就0x78

SH1106Wire display(0x3c,SDA,SCL,GEOMETRY_128_64,I2C_ONE,400000);

如何配置如图:

可以自行点开github链接查看.h文件。

4.setup()


void setup() {
  Serial.begin(115200);
  if(!display.init()) {
    Serial.println("OLED init failed");
    while (1) delay(100); // 如果初始化失败,则停止执行
  }
  display.flipScreenVertically();
  display.clear();
  display.setFont(ArialMT_Plain_10);
  display.drawString(0, 0, "Hello World");
  display.display();
}

如果发现没有反应,可以使用串口检测去调试。很好用。

全部

#include <Arduino.h>
#include <SH1106Wire.h>

#define SDA 47
#define SCL 21

SH1106Wire display(0x3c,SDA,SCL,GEOMETRY_128_64,I2C_ONE,400000);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  if(!display.init()) {
    Serial.println("OLED init failed");
    while (1) delay(100); // 如果初始化失败,则停止执行
  }
  Serial.println("2");
  display.flipScreenVertically();
  display.clear();
  display.setFont(ArialMT_Plain_10);
  display.drawString(0, 0, "Hello World");
  display.drawString(0, 10, "oled");
  display.drawString(0, 20, "电磁阀");
  display.display();
  Serial.println("3");
}

void loop() {
  // put your main code here, to run repeatedly:

}

到此就可以显示啦!

如果还希望显示别的功能的话,看看文件有什么函数可以使用吧~

或者直接看普中例程、b站教程22.1-OLED液晶显示实验-介绍_哔哩哔哩_bilibili

后面也大差不差了。

补充:这个库里面没有直接显示中文的字体,需要用到取模软件,也在普中资料里

普中-ESP32S3开发板资料_免费高速下载|百度网盘-分享无限制 (baidu.com)

怎么使用的话可以看22.4-OLED液晶显示实验-函数介绍3_哔哩哔哩_bilibili

我尝试了很多方法,什么Adafruit SH110X啦,什么U8g2啦,或者是问淘宝客服找各种例程啦,但是都出现了很多问题,最后巧合发现了直接用这个库就可以显示了。也有可能是我笨笨的,也花了很长时间,如果可以帮到你,那我真的很开心。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值