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() );  //顯示結束
  
 }




留言

這個網誌中的熱門文章

電腦概論 -- 程式流程控制

製做隨身PM2.5空氣感測器 - 使用Arduino uno R3/OLED 0.96"顯示器/PMS5003T感測器