跳轉至

OLED 顯示器

OLED 顯示器是顯示文本、數字、簡單圖示和設備狀態的小屏幕。與常規 LCD 不同,OLED 自發光,不需要單獨的背光。所以小型 OLED 模組可讀、佔用空間很小,對簡單的 DIY 設備很方便。

在 iDryer 類設備中,OLED 可以顯示溫度、濕度、工作模式、錯誤、Wi-Fi 狀態、剩餘耗材或當前烘乾階段。

OLED 何時有用

如果用戶需要在外殼上看到設備狀態,OLED 值得添加:

  • 當前室室溫度;
  • 濕度;
  • 目標溫度;
  • 工作模式;
  • 計時器;
  • 感應器錯誤;
  • 風扇或加熱器狀態;
  • 連接狀態;
  • 沒有大屏幕的簡單菜單。

如果設備始終通過 Klipper、網路介面或行動應用程式管理,單獨的 OLED 可能不必要。它增加線路、外殼空間、代碼和另一個故障點。

典型的尺寸和控制器

最常見的小型 OLED 模組:

  • 128x32 像素;
  • 128x64 像素;
  • 對角線約 0.91"0.96"
  • 單色:白色、藍色、黃藍色;
  • 帶控制器 SSD1306 或類似 SH1106

SSD1306SH1106 看起來相似,但在代碼中並非總是完全相容。如果程式庫為 SSD1306 設定,但模組實際上是 SH1106,屏幕可能顯示轉移的圖片、垃圾或無法工作。

購買前,重要的是不只檢查屏幕尺寸,還要檢查控制器、介面和供應電壓。

I2C 和 SPI

小型 OLED 模組通常透過 I2C 或 SPI 連接。

I2C 模組通常有 4 個接點:

  • VCC
  • GND
  • SDA
  • SCL

SPI 模組通常需要更多線:

  • VCC
  • GND
  • SCK/CLK
  • MOSI/DIN
  • CS
  • DC
  • 有時 RST

I2C 線路更簡單,對狀態、溫度和簡單菜單通常足夠。SPI 更快,如果屏幕經常重繪會更好,但對於小狀態顯示,這很少至關重要。

將 I2C OLED 顯示器連接到控制器

來源:Adafruit Learning System, CC BY-SA 3.0

電源和邏輯等級

OLED 模組可能額定為 3.3V5V,或在主板上有穩壓器和電壓轉換。外部這樣的模組看起來幾乎相同。

連接前,檢查:

  • 模組或產品頁面上列出的電源;
  • SDA/SCL 線是否與控制器邏輯相容;
  • 模組是否有 I2C 上拉電阻;
  • 上拉電阻是否與控制器電壓衝突。

對於 ESP32 和大多數現代微控制器,更安全地假設 3.3V 邏輯。如果 OLED 模組將 I2C 拉到 5V,對於 3.3V 控制器可能有問題。

許多流行的 I2C OLED 模組從 3.3V 工作並直接連接到 ESP32 很好,但你需要檢查特定的模組。

I2C 位址

I2C OLED 通常有位址:

  • 0x3C
  • 0x3D

如果屏幕不回應,在電源和線路後,位址是首先要檢查的。某些模組讓你透過跳線或焊接主板上的小跳線更改位址。

位址錯誤的跡象:

  • 素描或韌體啟動但屏幕空白;
  • I2C 掃描器在不同位址看到設備;
  • 程式庫初始化顯示而沒有可見的結果;
  • 0x3C 更改為 0x3D 使其工作。

在小屏幕上顯示什麼

128x32128x64 OLED 有非常小的空間。不要嘗試在其上製作完整的智慧型手機介面。

烘乾機或加熱器的好設置:

  • 大型當前溫度;
  • 目標溫度;
  • 濕度(如果有感應器);
  • 模式:HEATDRYIDLEERROR
  • 小風扇/熱圖示;
  • 錯誤代碼或簡短訊息。

不好的設置:

  • 長句子;
  • 小表格;
  • 一個屏幕上的許多菜單項;
  • 不斷滾動的文本;
  • 裝飾性動畫而不是有用的狀態。

對於有加熱器的設備,快速看到錯誤比漂亮的啟動屏幕更重要。

燒入和亮度

OLED 像素會因發光而老化。如果你在一個位置顯示相同的明亮文本很多小時,最終可能會出現痕跡。

對於 DIY 設備,這並非總是很關鍵,但最好:

  • 不要在沒有必要時將亮度保持在最高;
  • 在空閒時間後關閉屏幕;
  • 偶爾移動靜態元素;
  • 不要持續顯示白色填充;
  • 使用簡短更新而不是額外動畫。

在溫暖的室室或靠近加熱器,OLED 也活得更差。最好在溫度不超過模組範圍的區域保持電子設備。

線長和干擾

I2C 不喜歡長線,特別是靠近馬達、加熱器和電源線。如果 OLED 在門或可移除面板上,長柔性電纜可能成為噪聲源。

實務規則:

  • 保持 SDASCL 簡短;
  • 將它們遠離加熱器電源線佈線;
  • 使用共同 GND
  • 不要製作向後進入的連接器;
  • 對於可移除的蓋子,使用適當的連接器和應變浮雕;
  • 如果 I2C 不穩定,首先縮短線並檢查上拉。

SPI 通常容許更高的更新速度更好,但有更多線路和連接錯誤更常見。

OLED 或觸控屏

OLED 適合顯示狀態。沒有按鈕、編碼器或其他控制,它無法解決輸入問題。

如果用戶經常需要在設備上直接更改設定,你可能需要:

  • 編碼器 + OLED;
  • 幾個按鈕 + OLED;
  • TFT 顯示器;
  • 觸控屏;
  • 網路介面或應用程式。

不要只因為 OLED 看起來小就安裝觸控屏。對於簡單的設備,帶一個按鈕的小 OLED 有時更可靠和清晰。

購買前要檢查的事項

在購買 OLED 模組之前,檢查:

  • 尺寸:128x32128x64 或其他;
  • 控制器:SSD1306SH1106SH1107
  • 介面:I2C 或 SPI;
  • 電源:3.3V5V 或範圍;
  • 邏輯等級;
  • I2C 位址(如果列出);
  • 重置腳位支援;
  • 在選擇的韌體或程式庫中的支援;
  • 物理主板尺寸和安裝孔;
  • 連接器位置;
  • 工作溫度;
  • 顏色和在你需要的角度的可讀性。

對於 ESP32 設備,I2C OLED 128x64SSD1306 上,位址 0x3C 通常最方便。對於 Klipper 主板,檢查特定主板是否支援你選擇的匯流排以及配置中如何描述顯示器。

常見錯誤

  • 混淆 SDASCL
  • 將電源連接到錯誤的電壓;
  • 未檢查 I2C 位址;
  • 在代碼中選擇 SSD1306 但模組是 SH1106
  • 製作了太長的 I2C 線;
  • 忘記共同 GND
  • 將 5V 上拉模組連接到 3.3V 控制器而不檢查;
  • 選擇 SPI 模組期望 4 個腳位像 I2C;
  • 把屏幕放在熱區;
  • 添加顯示而不了解它為用戶解決什麼問題。

要點

OLED 顯示器適合短狀態和簡單的本地介面。對於大多數 DIY 設備,I2C OLED 128x64 如果在電源和選擇的韌體支援方面相容就足夠了。

連接前,檢查顯示器控制器、介面、電源、I2C 位址和線長。如果設備已經透過網路介面很方便,OLED 可能不需要。

參考資料