arduino使用u8g2
时间: 2025-05-31 07:44:10 浏览: 37
### Arduino 使用 U8G2 库开发指南
U8g2 是一款专为嵌入式设备设计的单色图形库,广泛应用于控制器驱动的单色 OLED 和 LCD 显示屏。通过该库可以轻松实现文字、线条、矩形以及圆形等基本图形绘制功能[^1]。
以下是关于如何在 Arduino 中使用 U8G2 库进行开发的具体方法:
#### 安装 U8G2 库
为了能够在 Arduino 平台上使用 U8G2 库,需先完成以下操作:
- 打开 Arduino IDE 软件;
- 进入菜单栏 `工具 -> 管理库`;
- 在搜索框输入 “U8g2”,找到对应的库并点击安装按钮即可完成安装过程[^1]。
#### 初始化显示屏对象
初始化过程中需要指定具体的显示器型号及其连接方式(I2C 或 SPI)。下面是一段典型的初始化代码片段作为参考:
```cpp
#include <U8g2lib.h>
// 创建一个基于 I2C 协议的 SSD1306 型号 128x64 分辨率的显示实例
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
```
此处 `U8G2_R0` 表示屏幕旋转角度设置为默认方向;如果希望改变显示方向,则可以选择其他选项如 `U8G2_R1`, `U8G2_R2`, 或者 `U8G2_R3` 来满足不同需求[^4]。
#### 设置字体与打印字符串
利用 `.setFont()` 方法来加载预定义或者自定义字体文件,并调用 `.print()` 函数向缓冲区写入所需内容。
```cpp
void setup() {
u8g2.begin();
// 加载 wqy 字体用于显示中文字符
u8g2.setFont(u8g2_font_wqy12_t_gb2312);
}
void loop() {
u8g2.clearBuffer(); // 清除当前帧缓存
// 设定光标位置 (x=0,y=15),然后输出一段文本消息
u8g2.setCursor(0, 15);
u8g2.print("你好,世界!");
// 将修改后的图像发送到实际硬件屏幕上呈现出来
u8g2.sendBuffer();
delay(1000); // 暂停一秒再重复执行循环逻辑
}
```
以上代码展示了怎样配置好基础环境之后,在每次迭代周期里清除旧画面重新渲染新信息的过程[^2]。
#### 绘制几何形状
除了单纯的文字输出之外,还可以借助于多种绘图命令构建更加丰富的视觉效果。例如画直线、填充方块或是圆圈等等。
```cpp
while (true) {
u8g2.ClearBuffer(); // 清空整个工作区域准备接受新的绘画指令
u8g2.DrawStr(0, 15, "Hello World!"); // 输出英文问候语句位于坐标原点偏移适当高度处
u8g2.DrawCircle(64, 40, 10, U8G2_DRAW_ALL); // 绘制半径为10像素中心坐标的实心圆
u8g2.SendBuffer(); // 更新最终结果至物理装置上显现
}
```
这段程序实现了持续不断地交替更新两幅简单图案的效果演示[^4]。
---
###
阅读全文
相关推荐



















