ESP32 采用u8g2库驱动OLED屏

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

硬件准备:

主板:ESP32开发板

ESP32 采用u8g2库驱动OLED屏

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

ESP32 采用u8g2库驱动OLED屏

OELD屏幕-主连接图:

ESP32 采用u8g2库驱动OLED屏

SDA:GPIO21

SCL:GPIO22

GND:GND

VCC:3V3

开始编程:

Vs Code 的PlatformIO IDE 插件 Arduino框架

引入U8G2

ESP32 采用u8g2库驱动OLED屏
ESP32 采用u8g2库驱动OLED屏

查看是否引入成功

ESP32 采用u8g2库驱动OLED屏

main文件:

ESP32 采用u8g2库驱动OLED屏

代码:

#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++;
}
开始运行:
ESP32 采用u8g2库驱动OLED屏

运行结果:

ESP32 采用u8g2库驱动OLED屏
- 本文内容来自网络,如有侵权,请联系本站处理。

2023-10   阅读(755)   评论(0)
 标签: 创客 ESP32 OLED

涨知识
I2S

I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。

评论:
相关文章
物联网项目开发实战-第3章-自动浇花项目迭代3

本节我们在迭代二的基础上使用四位数码管和OLED显示屏显示相关交互信息。


物联网项目开发实战-第3章-自动浇花项目迭代2

本节我们在迭代一的基础上增加采集土壤湿度数据,并根据湿度数据来决定是否自动进行浇水动作。


物联网项目开发实战-第3章-自动浇花项目迭代1

本节我们实现一个基本能工作的手动浇水装置,即通过按下按键来闭合继发器让小水泵进行浇水。


物联网项目开发实战-第2章-开发环境

本小节通过点亮LED和串口输出两个程序,来初步掌握ArduinoIDE、了解GPIO和串口使用、同时把开发环境与开发板的连接,上传程序的各环节跑通,


小鹏浇花套件单机版程序V1.0.0

本程序是小鹏物联网智能浇花套件的单机版程序(不连接物联网),供同学们参考。


ESP32 的中断机制和处理

本文介绍ESP32中的中断机制,以及如何通过GPIO中断实现按钮控制。重点讲解了如何设置中断服务例程、处理中断抖动问题,并提供了消除中断抖动的示例代码。


在ESP32上实现WEB交互界面

本文主要介绍在未联网(AP热点)情况下实现WEB交互界面的CSS和javascript库。


Arduino ESP32获取芯片、RAM信息

本文介绍如何使用Arduino-ESP32库中的API函数获取ESP32的芯片、RAM信息等,并提供了一个示例程序代码。


ESP32 FreeRTOS 双核使用

ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。


ESP32 GPIO 矩阵和引脚多路复用

ESP32 芯片有34个物理GPIO管脚。每个GPIO管脚都可用作一个通用IO,或连接一个内部的外设信号。IO_MUX ¹、RTC IO MUX 和GPIO交换矩阵用于将信号从外设传输至GPIO管脚。