highlight.js

星期三, 5月 03, 2017

使用 SSD1306 晶片控制的 OLED 顯示模組

由於 OLED 顯示實在很有科技感, 所以我測試了這一款從淘寶買到的模組, 賣家其實有提供一堆資料,包含 Arduino 可用的函式庫, 我自己測試時是採用 Adafruit 的 Adafruit_SSD1306 函式庫, 不過在使用這一個函式庫時有幾個注意事項:
  1. 它需要使用到 Adafruit 的另一個函式庫 Adafruit GFX graphics core library 才能運作, 這個函式庫是 Adafruit 所有繪圖類函式庫的核心。
  2. 我所買到的模組是使用 I2C 傳輸介面, 但是它的 I2C 位址和 Adafruit 自己賣的不一樣,經檢測後發現我的模組是 0x3C,如果你購買時買家沒有提供相關資訊,也可以接上 Arduino 後, 用 i2c_scanner 程式幫你搜尋。並修改範例中  display.begin(SSD1306_SWITCHCAPVCC, 0x3D);的 0x3D 為你模組的 I2C 位址。
  3. 必須修改函式庫中的 Adafruit_SSD1306.h 檔, 根據你模組的解析度調整取消對應的註解:
    #define SSD1306_128_64
    //   #define SSD1306_128_32
    //   #define SSD1306_96_16
    
這樣就可以讓 OLED 模組正常運作了。

沒有留言: