arduino

[arduino] 安裝0.66″OLED 顯示器與設定

我有買了一個0.66″OLED 顯示器 裝在我的arduino 上 不囉嗦直接看程式

#include <Arduino.h>
#include <U8g2lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
//字型https://github.com/olikraus/u8g2/wiki/fntlistall
U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); //Arduino搭配SSD1306(0.96" OLED)用這行
  int  counter = 1;

void setup(void) {
  Serial.begin(9600);
  u8g2.begin();  
  u8g2.clearDisplay();//清除顯示中所有圖元
  u8g2.clearBuffer(); // 清空顯示設備內部緩衝區

}

void loop(void) {
  u8g2.clearBuffer(); // 清空顯示設備內部緩衝區

  u8g2.firstPage();

  Serial.println("ok");
  if(counter>76){counter=0;}
  do {
      u8g2.home(); //讓游標回到左上角原點。
      u8g2.setFont(u8g2_font_IPAandRUSLCD_tf); //設定字型 u8g2_font_helvB08_tf
      u8g2.setFontPosTop();
   //     u8g2.drawXBMP(0,16, imgWidth, imgHeight, logo_bmp);  //繪圖
      u8g2.setCursor(20+counter, 15);//76就超出畫面了
      u8g2.print("Kunlex");
      u8g2.drawLine(0, 25, 100, 25);
      u8g2.setCursor(32, 28);
      u8g2.print("Temp:");
  
      u8g2.setCursor(32, 45);
      u8g2.print("Hum:");
    
      u8g2.setFont(u8g2_font_6x13B_t_hebrew); //設定字型 u8g2_font_helvB08_tf
      u8g2.setFontPosTop();

      u8g2.drawStr(68,36, (String(40)+" °C").c_str());  //輸出溫度
      u8g2.drawStr(68,54, (String(counter)+"%").c_str()); //輸出濕度
      Serial.println(counter); 
  } while ( u8g2.nextPage() ); 
  
  
counter=counter+1;
   delay(1000);
}
Be the First to comment.

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。