|
有沒有大神 懂得PT100 的我用的PT100經(jīng)過放大電路之后 讀取的值一直是個死值 當(dāng)前室溫也有個 30度吧一直是 負(fù)的 20度度 不知道為啥
這是程序
#include <Wire.h>
#include <SPI.h>
#include "U8glib.h"
float temperature;
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
// 當(dāng)您按下復(fù)位時,設(shè)置程序運行一次:
void setup() {
//初始化串行通信在9600位/秒:
Serial.begin(9600);
}
// 循環(huán)例程一遍又一遍地運行:
void loop() {
double Tem = 0; // 為了減小誤差,一次取出10個值后求平均值。
for (int i = 0; i < 50; i++) // 循環(huán)的越多精度越高,當(dāng)然耗費的時間也越多
Tem +=analogRead(A0);
float voltage = (Tem/50) * (5.0 / 1023);
temperature = (voltage/0.0083333)-100;
// Serial.println(temperature); // 求平均值進(jìn)行均差
Serial.print("Temperature = ");//串口輸出溫度值
Serial.print(temperature);
Serial.println(" *C");//串口輸出溫度單位
mydraw();
delay(1000); //延時1S
}
void mydraw(void) {
u8g_prepare();
u8g.firstPage();
do {
u8g.setPrintPos(0,30); //設(shè)置輸出位置
u8g.print("Temperature="); //顯示溫度=
u8g.print(temperature); //顯示在OLED的溫度值
u8g.print("*C"); //單位為℃
}
while( u8g.nextPage() );
}
void u8g_prepare(void) {
u8g.setFont(u8g_font_6x10);//設(shè)置字體
u8g.setFontRefHeightExtendedText();//設(shè)置字體的參考高度
u8g.setDefaultForegroundColor();//設(shè)置字體的顏色
u8g.setFontPosTop();//設(shè)置字體的格式
}
|
|