實驗說明:
- 市面上常見的OLED有0.96吋、0.91吋,都屬於SSD1306晶片規格,可用相同的函式庫。前一篇已經有跟各位介紹過OLED有0.96吋的使用方式,本範例將介紹SSD1306 OLED 0.91吋顯示螢幕與Arduino的使用方式。
▼ 購買OLED 0.91吋顯示螢幕:
材料:
- Arduino Uno R3
- USB 傳輸線
- OLED 0.91吋顯示器
- 杜邦線
安裝 Adafruit SSD1306 程式庫
- 在 Arduino 整合環境功能表點選 草稿碼 / 匯入程式庫 / 管理程式庫。
- 在右上方搜尋框輸入「 Adafruit SSD1306 」,下方會列出所有符合條件的程式庫,不同程式庫使用的程式碼並不相同。此處點 選「Adafruit_SSD1306 」,該項目右下角會出現「安裝」鈕,請點擊「安裝」鈕。
▼ 選擇Install all開始安裝。
程式範例一 (文字顯示):
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED 寬度像素
#define SCREEN_HEIGHT 32 // OLED 高度像素
// 設定OLED
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void testdrawstyles(void) {
display.clearDisplay();
display.setTextSize(2); // 設定文字大小
display.setTextColor(1); // 1:OLED預設的顏色(這個會依該OLED的顏色來決定)
display.setCursor(5,0); // 設定起始座標
display.print("Hello OLED"); // 要顯示的字串
display.display(); // 要有這行才會把文字顯示出來
delay(1000);
}
void setup() {
Serial.begin(9600);
// 偵測是否安裝好OLED了
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // 一般1306 OLED的位址都是0x3C
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
display.clearDisplay(); // 清除畫面
testdrawstyles(); // 測試文字
delay(1000);
}
void loop() {
}
程式範例二 (Adafruit內建範例):
▼開啟Adafruit SSD1306 >> ssd1306_128x32_i2c 範例檔,即可上傳燒錄。