当前位置: 首页 > 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.dtcms.com/a/334164.html

相关文章:

  • 【系统分析师】软件需求工程——第11章学习笔记(下)
  • Android 移动端 UI 设计:前端常用设计原则总结
  • 【Docker项目实战】使用Docker部署Notepad轻量级记事本
  • vscode中使用CMake Tools生成compile_commands.json文件后,如何告诉clangd这个文件在哪里呢?
  • MySQL 基础操作与编码设置:从入门到避坑
  • 范式转移:AI幻觉的终结与GPT-5的“可信”架构设计
  • 《解耦的艺术:Python 观察者模式在 GUI 与事件驱动中的实战》
  • 音视频学习(五十四):基于ffmpeg实现音频重采样
  • 【科普向-第一篇】数字钥匙生态全景:手机厂商、车厂与协议之争
  • GPFS集群性能压测
  • C++编程学习阶段性总结
  • 2025年生成式引擎优化(GEO)服务商技术能力评估报告
  • 企业运维规划及Linux介绍虚拟环境搭建
  • ROS相关的ubuntu基础教程
  • 神经网络 常见分类
  • 视觉语言模型(VLA)分类方法体系
  • 6JSON格式转python并实现数据可视化
  • RJ45 网口集成万兆(10Gbps)以太网的核心是通过物理层技术革新和信号处理优化,在传统铜缆(双绞线)介质上突破速率限制,其原理可从以下几个关键维度解析
  • Express开发快速学习
  • 探秘gRPC——gRPC原理详解
  • B3924 [GESP202312 二级] 小杨的H字矩阵
  • Flink Stream API 源码走读 - window 和 sum
  • Kubernetes Service
  • Google C++ 风格指南
  • 大模型教机器人叠衣服:2025年”语言理解+多模态融合“的智能新篇
  • Cmake学习笔记
  • 小白学习《PCI Express体系结构导读》——第Ⅰ篇第1章PCI总线的基本知识
  • 如何使用 Git 修改已推送 Commit 的用户名和邮箱
  • FFmpeg QoS 处理
  • 正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别