0.96" OLED 上顯示數字跟文字
OLED 顯示文字
利用Arduino IDE 1.8.1
OLED 驅動程式用 U8glib.h
U8glib.h下載
說明:
原本是用在隨身PM2.5空氣盒子上,跟顯示沒相關的程式碼拿掉作示範
因為要顯示的資訊不少,OLED只有0.96 "
所以只顯示英文字跟數字,沒有圖案跟中文字喔,
需要中文字跟圖形動畫顯示的,就再自行參考估狗大神了。
程式碼如下:
#include <U8glib.h>
// 設定OLED類型,這個就是0.96" OLED
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK);
// 因為PM2.5感測器,會有一些回傳值,會顯示在OLED上
// 先給一些數值,好對齊排列
long pmat10 = 999; // PM1
long pmat25 = 888; // PM2.5
long pmat100 = 777; // PM10
long pmt= 65; // 溫度
long pmh= 99; // 顯度
//副程式
void draw() {
//統一處理所有顯示文字和數字的工作
//可以改成全部用setPrint跟print處理就好了
//會用兩個的原因是要處理變數的顯示,對這個函式庫指令不太熟
u8g.setFont(u8g_font_8x13);
u8g.drawStr(0, 10, "T=");
u8g.setPrintPos(17, 10);
u8g.print(int(pmt));
u8g.drawStr(33, 10, "(C)");
u8g.drawStr(60 ,10, "H=");
u8g.setPrintPos(78, 10);
u8g.print(int(pmh));
u8g.drawStr(103, 10, "(%)");
u8g.drawStr(0,25, "PM2.5=");
u8g.setFont(u8g_font_fub25);
u8g.setPrintPos(50, 40);
u8g.print(int(pmat25));
u8g.setFont(u8g_font_profont12);
u8g.drawStr(0, 64, "PM1=");
u8g.setPrintPos(25, 64);
u8g.print(int(pmat10));
u8g.drawStr(60, 64, "PM10=");
u8g.setPrintPos(92, 64);
u8g.print(int(pmat100));
u8g.setFont(u8g_font_5x8);
u8g.drawStr(85, 52, "(ug/m3)");
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
u8g.firstPage(); //顯示開始
do {
draw(); //呼叫副程式
} while( u8g.nextPage() ); //顯示結束
}
留言
張貼留言