使用 OLED 模組 (如 SH1106 / SSD1306... 等模組)
Last updated
Last updated
除了 Grove OLED,開發者可能還會接觸到搭載其他驅動 IC 的 OLED 模組。以 olikraus 所開發的 U8g_Arduino 函式庫為基礎,LinkIt 7697 提供了對應的移植版本供開發者使用與對接各式 OLED 模組,詳細的模組支援清單可至專案官方 WiKi 查詢,並參考另一篇教學瞭解如何安裝驅動程式。接下來的章節將示範如何使用 OLED 模組以及常見的問題。
此範例使用了 4-pin 128x64 I2C OLED 模組,請將 LinkIt 7697 的 3V3 / GND / P8 / P9 針腳分別接線至該 OLED 模組的 VCC / GND / SCL / SDA 腳位。並於驅動程式安裝完成後,點選 Arduino IDE 中的 File / Examples / U8g2 / page_buffer / GraphicsTest 選單,接著依照下面軟體設定內描述的流程,修改 sketch 程式完成模組初始化、並上傳至 LinkIt 7697 執行,便能看見 OLED 模組顯示各種不同的展示畫面:
開啟 GraphicsTest 範例 sketch 後,開發者會在檔案開頭看見許多被註解掉的建構函式,請依據所使用的 OLED 模組規格及驅動 IC 型號 (含連接介面,如 HW I2C 或 SPI 等) 開啟對應的建構函式。例如此範例使用了支援 HW I2C 的 SH1106 OLED 模組,那麼開發者就需要將第 71 行的建構函式開啟、以正確初始化顯示模組:
接著編譯並上傳此程式至 LinkIt 7697,就可以看到 OLED 模組顯示畫面。
注意事項
市面上有些標示使用 SSD1306 驅動 IC 的 128x64 OLED 模組並非真的使用該驅動 IC。當開啟 SSD1306 的建構函式驅動此 OLED 模組時,會看見整個畫面產生橫向平移的結果 (如下圖):畫面左方被裁切、且右方有雜點。這就表示該顯示模組並非使用 SSD1306 驅動 IC,以本文的例子,該模組的正確驅動 IC 型號為 SH1106 (原始討論連結)。