有没有大神 懂得PT100 的我用的PT100经过放大电路之后 读取的值一直是个死值 当前室温也有个 30度吧一直是 负的 20度度 不知道为啥
这是程序
#include <Wire.h>
#include <SPI.h>
#include "U8glib.h"
float temperature;
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
// 当您按下复位时,设置程序运行一次:
void setup() {
//初始化串行通信在9600位/秒:
Serial.begin(9600);
}
// 循环例程一遍又一遍地运行:
void loop() {
double Tem = 0; // 为了减小误差,一次取出10个值后求平均值。
for (int i = 0; i < 50; i++) // 循环的越多精度越高,当然耗费的时间也越多
Tem +=analogRead(A0);
float voltage = (Tem/50) * (5.0 / 1023);
temperature = (voltage/0.0083333)-100;
// Serial.println(temperature); // 求平均值进行均差
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); //设置输出位置
u8g.print("Temperature="); //显示温度=
u8g.print(temperature); //显示在OLED的温度值
u8g.print("*C"); //单位为℃
}
while( u8g.nextPage() );
}
void u8g_prepare(void) {
u8g.setFont(u8g_font_6x10);//设置字体
u8g.setFontRefHeightExtendedText();//设置字体的参考高度
u8g.setDefaultForegroundColor();//设置字体的颜色
u8g.setFontPosTop();//设置字体的格式
}
|