问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ESP32采用u8g2库驱动OLED屏显示中文教程

创作时间:
2025-03-30 13:12:35
作者:
@小白创作中心

ESP32采用u8g2库驱动OLED屏显示中文教程

引用
1
来源
1.
https://www.xpstem.com/article/10485

本文介绍ESP32采用Arduino框架u8g2库驱动OLED屏显示中文。

硬件准备:

主板:ESP32开发板

OELD屏幕:0.96寸 128*64 IIC通信

OELD屏幕-主连接图:

  • SDA:GPIO21
  • SCL:GPIO22
  • GND:GND
  • VCC:3V3

开始编程:

使用Vs Code 的PlatformIO IDE 插件 Arduino框架,引入U8G2库。

main文件代码:

#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>

U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(
  U8G2_R0, 
  /* clock=*/ 22,
  /* data=*/ 21,
  /* reset=*/ U8X8_PIN_NONE); 

void setup(void) {
  u8g2.begin();
  u8g2.enableUTF8Print(); //中文必要设置
}

uint8_t z_y=20;
uint8_t z_x=0;

void loop(void) {
  u8g2.setFont(u8g2_font_unifont_t_chinese2); //含有中文的字库
  //u8g2.setFont(u8g2_font_ncenB14_tr); //没有中文的字库
  u8g2.firstPage();
  do {
    u8g2.setCursor(z_x, z_y); //动态改变位置
    u8g2.print("你好,世界!"); //中文
    u8g2.setCursor(10,40);
    u8g2.print("Hello,world!"); //普通英文
  } while ( u8g2.nextPage() );
  delay(1000);
  z_y++;
}

运行结果:

运行上述代码后,OLED屏幕将显示"你好,世界!"和"Hello,world!",其中中文显示需要特别设置UTF8编码。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号