当前位置: 首页 > 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.xdnf.cn/news/1312813.html

相关文章:

  • k8sday08深入控制器(3/3)
  • 【数据分析】比较SparCC、Pearson和Spearman相关性估计方法在合成组学数据上的表现
  • 从频繁告警到平稳发布:服务冷启动 CPU 风暴优化实践00
  • MATLAB基础训练实验
  • XSS攻击:从原理入门到实战精通详解
  • 数据结构初阶(16)排序算法——归并排序
  • Python入门第5课:如何定义和使用函数,提升代码复用性
  • PHP反序列化的CTF题目环境和做题复现第1集
  • 软件的终极:为70亿人编写70亿个不同的软件
  • Sklearn 机器学习 邮件文本分类 加载邮件数据
  • Netty 的 Select/Poll 机制核心实现主要在 NioEventLoop 的事件循环
  • 同创物流学习记录1
  • 【论文阅读】Multimodal Graph Contrastive Learning for Multimedia-based Recommendation
  • 从冒泡到快速排序:探索经典排序算法的奥秘(二)
  • 如果构建企业本地的ERP智能ai系统,让先进的大模型数据处理ERP的各类数据,更加轻松智能,准确?从企业资源计划ERP变成企业资源智能EPA的升级
  • 基本电子元件:金属氧化膜电阻器
  • 玩转tokenizer
  • vscode中用python调用matlab的函数(环境安装)
  • SpringSecurity(一)入门
  • Winsows系统去除右键文件显示的快捷列表
  • 【完整源码+数据集+部署教程】高尔夫球追踪与识别系统源码和数据集:改进yolo11-LAWDS
  • Hexo 双分支部署指南:从原理到 Netlify 实战
  • C# 应用特性的更多内容:多维度解析与深度拓展
  • 启发式合并 + 莫队 恋恋的心跳大冒险
  • 设计索引的原则有哪些?
  • 八、SpringBoot项目热部署
  • 嵌入式硬件篇---电源电路
  • pwn定时器,ARM定时delay 外部中断用函数指针(统一)day55,56
  • 19.3 Transformers量化模型极速加载指南:4倍推理加速+75%显存节省实战
  • 头文件包含和前置声明