当前位置: 首页 > news >正文

ESP32 C3 开发板使用教程 01-测试显示屏

因为前期系统已经搭建好了,等换新电脑再出00系统搭建的文章,使用的是EPS32C3+0.42oled

直接TYPEC端口下载。

第一个例程是测试下载,使用的是Blink 我也把这个程序贴上来,只贴的图片,通常这步不用测试,但是注意选择的设备。

第二个例程是测试显示,首先是英文字库

#include <U8g2lib.h>
#define led 8
//# IIC version
U8G2_SSD1306_72X40_ER_1_SW_I2C u8g2(U8G2_R0,6,5,U8X8_PIN_NONE);
//U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,6,5,U8X8_PIN_NONE); //ESP32C3 OLED开发板的屏幕接线:scl-->gpio6  sda-->gpio5 如果是Arduino则改为scl-->A5  sda-->A4
void setup(void) {pinMode(led, OUTPUT);u8g2.setContrast(250);u8g2.begin();
}
void loop(void) {digitalWrite(led, HIGH);delay(100);digitalWrite(led, LOW);delay(100);u8g2.firstPage();do {u8g2.setFont(u8g2_font_ncenB10_tr);u8g2.drawStr(0,15,"ESP32-C3");u8g2.drawUTF8(0,40,"ESP32-C3");} while ( u8g2.nextPage() );

我是用了72X40的IIC驱动,X坐标是准的,Y坐标简单调整下即可。 UTF8 和Str对于英文的结果是一致的,屏幕输出两行 ESP32-C3

然后是中文字库 可以检索到 UTF8的字库

#include <U8g2lib.h>
#define led 8
//# IIC version
U8G2_SSD1306_72X40_ER_1_SW_I2C u8g2(U8G2_R0,6,5,U8X8_PIN_NONE);
//U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,6,5,U8X8_PIN_NONE); //ESP32C3 OLED开发板的屏幕接线:scl-->gpio6  sda-->gpio5 如果是Arduino则改为scl-->A5  sda-->A4
void setup(void) {pinMode(led, OUTPUT);u8g2.setContrast(250);u8g2.begin();
}
void loop(void) {digitalWrite(led, HIGH);delay(100);digitalWrite(led, LOW);delay(100);u8g2.firstPage();do {u8g2.setFont(u8g2_font_unifont_t_gb2312);u8g2.drawUTF8(0,15,"乙醇");u8g2.drawUTF8(0,40,"字符");} while ( u8g2.nextPage() );
}

如果使用chinese字库,有的复杂汉字显示不全。

第三个例程是屏幕动态显示

#include <U8g2lib.h>
#define led 8
//# IIC version
U8G2_SSD1306_72X40_ER_1_SW_I2C u8g2(U8G2_R0,6,5,U8X8_PIN_NONE);
//U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,6,5,U8X8_PIN_NONE); 
char VarLab1[]="传感器1#:";
char VarLab2[]="2#:";
float Var1=90.23;
float Var2=0.2;
char VarNum1[10];
char unit[3]="mV";
void setup(void) {pinMode(led, OUTPUT);u8g2.setContrast(250);u8g2.begin();u8g2.setFont(u8g2_font_unifont_t_gb2312);}
void loop(void) {digitalWrite(led, HIGH);delay(1000);digitalWrite(led, LOW);dtostrf(Var1,3,2,VarNum1);strcat(VarNum1,unit);u8g2.firstPage(); do {u8g2.drawUTF8(0,15,VarLab1);u8g2.drawUTF8(0,37,VarNum1);} while (u8g2.nextPage() );delay(1000);Var1=Var1+0.1;
}

这个程序可以动态显示传感器数值。

下次我们通过wifi 发送传感器数据。

http://www.lryc.cn/news/623230.html

相关文章:

  • 数据结构之heap算法
  • ollama 自定义模型
  • 黑板架构详解
  • jd-hotkey探测热点key
  • 深入理解 Linux 线程:从概念到虚拟地址空间的全面解析
  • 第5问 对于数据分析领域,统计学要学到什么程度?
  • 2025年睿抗国赛本科组题解
  • 《C语言程序设计》笔记p10
  • 【数据结构入门】二叉树(2)
  • 【数据结构】-2- 泛型
  • Day15 Docker
  • KNN 算法详解:从电影分类到鸢尾花识别的实战指南
  • GaussDB 数据库架构师修炼(十三)安全管理(4)-数据库审计
  • androidstudio内存大小配置
  • VS Code配置MinGW64编译Ipopt库
  • java-动态代理
  • vue优化有哪些手段?
  • InfluxDB 数据迁移工具:跨数据库同步方案(一)
  • 8.15 JS流程控制案例+解答
  • select、poll 和 epoll
  • InfluxDB 数据迁移工具:跨数据库同步方案(二)
  • 【大模型核心技术】Dify 入门教程
  • 制作 Windows 11 启动U盘
  • Linux-Vim编辑器最简美化配置
  • 全排列问题回溯解法
  • Linux软件编程(六)(exec 函数族、system 实现、进程回收与线程通信)
  • 基于动捕实现Epuck2的轨迹跟踪
  • 数据结构:迭代方法(Iteration)实现树的遍历
  • 记录一下第一次patch kernel的经历
  • 【UHD】vivado 2021.1 编译