在arduino 中使用u8glib 在oled显示数字时钟,不需要时钟模块
时间: 2024-12-14 14:13:57 浏览: 21
在Arduino中,使用u8glib库来控制OLED(有机发光二极管显示器)显示数字时钟,通常情况下我们并不需要专门的时钟模块,因为Arduino本身自带了时间功能,可以利用`millis()`函数获取系统的时间戳。以下是基本步骤:
1. **安装u8glib库**:首先,你需要在Arduino IDE中安装u8glib库,可以在设备管理器中搜索并安装。
2. **设置初始化**:在你的 sketch 中,导入必要的头文件,并实例化一个u8g2 OLED对象,比如U8GLIB_SSD1306_128X64这一型号。
```cpp
#include <U8GLIB.h>
U8G2_SSD1306_128X64_F_HW_I2C u8g2(U8G2_R0, SCL, SDA);
```
3. **读取当前时间和格式化**:创建一个函数,使用`millis()`获取当前时间戳,然后将其转换为字符串以便于显示。
```cpp
void drawTime() {
unsigned long currentTime = millis();
String formattedTime = format("%02d:%02d", hours(currentTime), minutes(currentTime));
}
```
4. **绘制到OLED**:在主循环里,每次刷新屏幕都调用这个函数并将结果画到OLED上。
```cpp
void loop() {
drawTime();
u8g2.firstPage();
while (u8g2.nextPage()) {
u8g2.drawStr(0, 0, formattedTime.c_str());
}
delay(1000); // 每秒更新一次
}
```
阅读全文