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 发送传感器数据。