步骤1:一般如何工作
一般来说这个温度计是Adafruit的产品,它带有K型传感器,几乎可用于家庭或地下室温度测量,炉子和烤箱热量测量。它可以承受从-260摄氏度到980摄氏度的温度,并且通过一些小的电源调整,它可以达到1380摄氏度(非常值得注重)并且非常精确,+/- 2度变异非常有用。如果你像我们使用Arduino Nano那样制作它,你也可以将它装在一个小盒子里(考虑到你将制作你自己的盒子,但不包括在本教程中)。
Step 2:连接并正确布线
您可以从上面的照片中看到这样的包装。您可以使用跳线将其连接到Arduino板,但我会建议焊接电线,因为它可以在非常小的电压下工作,因此任何轻微的移动都会破坏结果。
上面的照片是如何拍摄的我们将电线焊接到传感器上。对于我们的项目,我们使用了Arduino Nano,正如您所看到的,我们已经对我们的Arduino进行了一些修改,以便从我们的测量中获得最佳结果。
第3步:使用类型
根据数据表,此传感器可用于使用常规Arduino 5V电源在-260至980摄氏度之间进行测量,或者您可以添加一些外部电源,这将让您有机会测量高达1380度的温度。 但要注意,如果温度计给Arduino提供的电压超过5V,可能会损坏你的Arduino并且你的项目可能注定要失败。
为了克服这个问题,我们放了一个器件上的分压器,在我们的情况下是Vout到Vin电压的一半。
链接到数据表:
http://www.analog.com/media/en/技术文件。..
http://www.analog.com/media/en/technical-documenta 。..
第4步:大问题使用测量时的代码
根据温度计的数据表,参考电压为1.25V。在我们的测量中,情况并非如此。..。..当我们进一步测试时,我们发现指示电压是可变的,我们在两台计算机上测试,两者都不同(!?!)。好吧,我们在电路板上放了一个引脚(如上图所示),我们在代码中放了一行,每次在计算之前读取所指的电压值。
这个的主要公式是 Temp =(Vout-1.25)/0.005 。
在我们的公式中我们做到了: Temp =( Vout-Vref)/0.005 。
第5步:代码部分1
const int AnalogPin = A0;//用于临时读取的模拟引脚
const int AnalogPin2 = A1;//用于读取参考值的模拟引脚
float Temp;//温度
float Vref;//参考电压
float Vout;//adc之后的电压
float SenVal;//传感器值
float SenVal2;//来自引用引脚的传感器值
void setup(){
Serial.begin(9600);
void loop(){
SenVal = analogRead(A0);//温度模拟值
SenVal2 = analogRead(A1);//来自refferent pin的模拟值
Vref =(SenVal2 * 5.0)/1024.0;//将模拟转换为数字以表示参考值
Vout =(SenVal * 5.0)/1024.0;//温度读取电压的模拟转换为数字
温度=(Vout - Vref)/0.005;//温度计算
Serial.print(“ Temperature =”);
Serial.println(Temp);
Serial.print(“Referent Voltage =”);
Serial.println(Vref);
延迟(200);
}
当您使用Arduino(无外部电源)的电源时,将使用此代码。根据数据表,这会将您的测量限制为最高980摄氏度。
步骤6:代码部分2
const int AnalogPin = A0;//用于临时读取的模拟引脚
const int AnalogPin2 = A1;//我们读取参考值的模拟引脚(我们必须这样做,因为传感器的参考值不稳定)
float Temp;//温度
float Vref;//参考电压
float Vhalf;//分隔符后的arduino读取电压
float Vout;//转换后的电压
float SenVal;//传感器值
float SenVal2;//来自我们获得参考值的传感器值
void setup(){
Serial.begin(9600); }
void loop(){
SenVal = analogRead(A0);//模拟输出值
SenVal2 = AnalogRead(A1);//我们得到参考值的模拟输出
Vref =(SenVal2 * 5.0)/1024.0;//将来自Referent引脚的模拟值转换为数字值
Vhalf =(SenVal * 5.0)/1024.0;//将模数转换为数值
Vout = 2 * Vhalf;//计算半分压分压器后的电压
Temp =(Vout - Vref)/0.005;//温度公式计算
Serial.print(“ Temperature =”“);
Serial.println(Temp);
Serial.print(“Vout =”);
Serial.println(Vout);
Serial.print(“Referent Voltage =”);
Serial.println(Vref);
延迟(100);
}
如果您使用外部电源,这是代码,为此我们使用分压器。这就是为什么我们里面有“ Vhalf”值。我们使用的分压器(参见第3部分)是输入电压的一半(R1具有与R2相同的欧姆值),因为我们使用的是9V电池。如上所述,任何高于5V的电压都可能损坏Arduino,因此我们使其达到最大4.5V(在这种情况下这是不可能的,因为在分压器之后传感器输出的最大功率可能在3.5V)。
第7步:结果
从上面的屏幕截图中可以看到,我们已经对其进行了测试并且可以正常工作。此外,我们还为您提供了Arduino的原始文件。
责任编辑:wv
-
温度计
+关注
关注
6文章
404浏览量
78422 -
Arduino
+关注
关注
187文章
6462浏览量
186615 -
AD8495
+关注
关注
0文章
6浏览量
13090
发布评论请先 登录
相关推荐
评论