#include <Arduino.h>
#include<OneWire.h>
#include<DallasTemperature.h>
#include <U8g2lib.h>
#define BUS 15
OneWire onewire(BUS);
DallasTemperature sensors(&onewire);
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
// All Boards without Reset of the Display;
//设置OLED屏通讯针脚
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ RX, /* data=*/ TX, /* reset=*/ U8X8_PIN_NONE);
void setup(void) {
u8g2.begin();
u8g2.enableUTF8Print(); //启用对Arduino print()函数的UTF8支持
//Serial.begin(115200); //设置通讯波特率
//sensors.begin();
}
char t_str[3];
float t;
void loop(void) {
sensors.requestTemperatures();
t = sensors.getTempCByIndex(0); //读温度(摄氏度)
strcpy(t_str, u8x8_u8toa(t, 2)); //将t转换为两位数的字符串
u8g2.setFont(u8g2_font_unifont_t_chinese3); //设置显示屏字体
//u8g2.setFont(u8g2_font_wqy13_t_chinese3);
u8g2.setFontDirection(0); //设置字体方向
u8g2.clearBuffer();
u8g2.setCursor(0, 15);
u8g2.print("当前温度");
u8g2.setCursor(50, 40);
u8g2.print(t_str);
u8g2.sendBuffer();
delay(500);
}