0.96 OLED
Arduino 安装库 ESP8266 and ESP32 Oled Driver for SSD1306 display
代码例子:
// 0.96OLED
#include <Wire.h>
#include "SSD1306Wire.h"
//OLED定义 ADDRESS, SDA, SCL
SSD1306Wire display(0x3c, 4, 5);
void setup() {
//波特率设置
Serial.begin(115200);
//OLED初始化
Serial.println();
display.init();
display.flipScreenVertically();
//设置字体
display.setFont(ArialMT_Plain_10);
}
void loop() {
display.clear();
//随便设置两个变量
float h = 33;
float t = 22;
//设置字体
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(ArialMT_Plain_16);
display.drawString(0, 0, "Humi:"+ String(h) + "%");
display.drawString(0, 20,"Temp:"+ String(t) + "°C");
display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(128, 54, String(millis()));
// write the buffer to the display
display.display();
delay(10);
}
OLED 中文显示
安装库 u8g2
代码例子
//U8g2
#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/U8X8_PIN_NONE, /* clock=*/5, /* data=*/4);
void setup() {
//波特率设置
Serial.begin(115200);
u8g2.begin();
u8g2.enableUTF8Print();
u8g2.setFont(u8g2_font_wqy12_t_gb2312); //此处建议用gb2312字库,完整支持所有中文编码
u8g2.setCursor(0, 15);
u8g2.print("正在搜星.........");
u8g2.sendBuffer();
}
void loop() {
u8g2.clearDisplay(); // 清除显示数据及屏幕
u8g2.setCursor(0, 12);
u8g2.print("维度:");
u8g2.println(30.644252, 6);
u8g2.setCursor(0, 24);
u8g2.print("经度:");
u8g2.println(104.042245, 6);
u8g2.setCursor(0, 36);
u8g2.print("日期:");
u8g2.print("2024-05-24");
u8g2.setCursor(0, 48);
u8g2.print("时间:");
u8g2.println("18:06:25");
u8g2.setCursor(0, 60);
u8g2.print("卫星:");
u8g2.println("6");
u8g2.print("速度:");
u8g2.println("20km/h");
u8g2.sendBuffer();
delay(100);
}