热敏电阻的介绍

电子说

1.2w人已加入

描述

概述

热敏电阻是 热敏电阻 -一种随温度变化其电阻的电阻。从技术上讲,所有电阻器都是热敏电阻-它们的电阻会随温度而略有变化-但变化通常很小,很难测量。制作热敏电阻时,电阻会随温度急剧变化,因此每度变化的电阻可以是100欧姆或更多!

热敏电阻有两种,NTC(负温度系数)和PTC(正温度系数)。通常,您会看到用于温度测量的NTC传感器。 PTC通常用作自恢复保险丝-温度升高会增加电阻,这意味着当有更多电流通过时,它们会发热并“扼流”该电流,非常便于保护电路!

热敏电阻与其他类型的温度传感器相比,例如模拟输出芯片(LM35/TMP36)或数字温度传感器芯片(DS18B20)或热电偶具有一些优势。

首先,它们比所有产品都便宜得多。以上!裸露的5%热敏电阻的体积仅为10美分。

它们也很容易防水,因为它只是一个电阻器。

它们可以在任何电压下工作(数字传感器需要3或3V 5V逻辑)。

与热电偶相比,它们不需要放大器即可读取微小的电压-您可以使用任何微控制器来读取热敏电阻。

它们也可以是价格令人难以置信的准确。例如,商店中的10K 1%热敏电阻非常适合以±0.25°C的精度进行测量! (假设您有足够准确的模拟转换器)

它们很难断裂或损坏-它们更简单,更可靠

另一方面,它们需要需要更多的工作来解释读数,并且它们在像热电偶这样的高温下也不起作用。没有板载数模转换器,使用数字温度传感器可能会更好。

它们的简单性使其非常适合基本温度反馈控制。例如,假设您想让风扇在温度升高时打开。您可以使用微控制器,数字传感器来控制继电器。或者,您也可以使用热敏电阻为晶体管的基极供电,因为温度升高,电阻降低,向晶体管提供更多电流,直到其导通。 (这是一个粗略的想法,您需要更多的组件才能使其工作)

即使您确实使用了微控制器或复杂的系统,其价格也无法击败他们!

p》

您可以在Adafruit商店购买10K 1%防水热敏电阻

一些统计数据以下是我们商店中热敏电阻的技术细节

25°电阻C: 10K±1%

B25/50: 3950±1%

热时间常数? 15秒

热敏电阻温度范围 -55°C至125°C

电线温度范围 -55°C至105°C

28 AWG PVC电线

直径: 3.5mm/0.13in

长度:18in/45cm

电阻/温度表

请注意,即使热敏电阻可以升高到125°C,电缆本身也会在105°C时达到最高温度,因此该热敏电阻不适用于测量非常热的液体

测试热敏电阻

由于热敏电阻只是电阻,因此易于测试。只需使用万用表测量电阻:

假设您所坐的房间温度为10Kohm,您应该阅读一下。当然,取决于室温,电阻可以更高或更低。另外,您的手可能最终会碰触到触点,因此您的身体抵抗力也会降低该值。但是您仍然应该得到大约10 Kohm

,例如,夏天中旬在一个没有空调的房间里温暖,所以我们读到8Kohm(30°C-86°F!)

使用热敏电阻

热敏电阻 这些热敏电阻非常坚固,您可以剥去PVC绝缘层并将电线粘到面包板上或直接焊接到它们上。当然,您可以切割或延长电线。由于电阻相当高(10Kohm),因此导线电阻不会产生很大差异。

热敏电阻

div》模拟电压读取方法

要测量温度,我们需要测量电阻。但是,微控制器没有内置电阻表。相反,它只有一个电压读取器,称为模拟数字转换器。因此,我们要做的就是将电阻转换为电压,然后通过添加另一个电阻并将其串联来实现。现在,您只需按照简单的分压器方程来测量中间的电压,随着电阻的变化,电压也会发生变化。我们只需要固定一个电阻即可

说固定电阻为 10K ,可变电阻称为 R -电压输出( Vo )是:

Vo = R/(R + 10K)* Vcc

其中 Vcc 是电源电压(3.3V或5V)

现在我们想将其连接到微控制器。请记住,当您在Arduino ADC中测量电压( Vi )时,会得到一个数字。

ADC值= Vi * 1023/Varef

因此,现在我们将两者( Vo = Vi )合并,得到:

ADC值= R/(R + 10K)* Vcc * 1023/Varef

很好的是,如果您注意到,如果Vcc(逻辑电压)与ARef模拟参考电压相同,值会抵消!

ADC值= R/(R + 10K)* 1023

在什么电压下运行都没有关系。方便!

最后,我们真正想做的就是获得 R (未知阻力)。因此,我们做了一些数学运算以将 R 移动到一侧:

R = 10K/(1023/ADC-1)

很多人通过电子邮件告诉我上述方程式是错误的,正确的计算方法是 R = 10K * ADC/(1023-ADC)。他们的等效性留给读者练习! ;)

太好了,让我们尝试一下。如图所示连接热敏电阻:

热敏电阻

将10K电阻的一端连接到5V,将10K 1%电阻的另一端连接到热敏电阻的一个引脚,并将热敏电阻的另一引脚接地。然后将模拟0引脚连接到两者的“中心”。

现在运行以下草图:

下载:Project Zip 或 thermistor1.ino | 在Github上查看

复制代码

// thermistor-1.ino Simple test program for a thermistor for Adafruit Learning System

// https://learn.adafruit.com/thermistor/using-a-thermistor by Limor Fried, Adafruit Industries

// MIT License - please keep attribution and consider buying parts from Adafruit

// the value of the ‘other’ resistor

#define SERIESRESISTOR 10000

// What pin to connect the sensor to

#define THERMISTORPIN A0

void setup(void) {

Serial.begin(9600);

}

void loop(void) {

float reading;

reading = analogRead(THERMISTORPIN);

Serial.print(“Analog reading ”);

Serial.println(reading);

// convert the value to resistance

reading = (1023 / reading) - 1; // (1023/ADC - 1)

reading = SERIESRESISTOR / reading; // 10K / (1023/ADC - 1)

Serial.print(“Thermistor resistance ”);

Serial.println(reading);

delay(1000);

}

// thermistor-1.ino Simple test program for a thermistor for Adafruit Learning System

// https://learn.adafruit.com/thermistor/using-a-thermistor by Limor Fried, Adafruit Industries

// MIT License - please keep attribution and consider buying parts from Adafruit

// the value of the ‘other’ resistor

#define SERIESRESISTOR 10000

// What pin to connect the sensor to

#define THERMISTORPIN A0

void setup(void) {

Serial.begin(9600);

}

void loop(void) {

float reading;

reading = analogRead(THERMISTORPIN);

Serial.print(“Analog reading ”);

Serial.println(reading);

// convert the value to resistance

reading = (1023 / reading) - 1; // (1023/ADC - 1)

reading = SERIESRESISTOR / reading; // 10K / (1023/ADC - 1)

Serial.print(“Thermistor resistance ”);

Serial.println(reading);

delay(1000);

}

您应该获得与用万用表测量的热敏电阻电阻相对应的响应

如果未获得正确的读数,请检查10K电阻器是否位于VCC与A0之间,并且热敏电阻位于A0与地面之间。检查您是否具有10K热敏电阻,并且您正在使用“标准” NTC热敏电阻。在像经典Arduino或Metro 328这样的“ 5V”微控制器上,将5V用作VCC引脚。在Feather或Arduino Zero等3.3V微控制器上,将3.3V用作VCC引脚。

如果在加热热敏电阻时温度读数下降,请检查是否没有两个电阻交换并检查您使用的是NTC而不是PTC热敏电阻。

更好的读数

在进行模拟读数时,尤其是使用像arduino这样的“嘈杂”板时,我们建议两种技巧来改善结果。一种是使用3.3V电压引脚作为模拟参考,另一种是连续读取一堆读数并取平均值。

第一个技巧是依靠5V电源直接来自计算机的USB在Arduino上做很多事情,并且几乎总是比3.3V线路(经过次级滤波器/调节器级!)高得多。它易于使用,只需将3.3V连接到AREF和用它作为VCC电压。因为我们的计算不包括VCC电压,所以您不必更改方程式。您必须设置模拟参考,但这只是一行代码

多次读取读数以求平均结果也有助于获得更好的结果,因为您可能会有噪音或波动,建议大约5

如图所示进行重新布线,仍然将10K电阻连接到较高的电压,并将热敏电阻接地。

热敏电阻

此草图进行了这两项改进并将它们集成到演示中,您将获得更好,更精确的结果读数。

请注意,此代码指定了外部参考电压。为了正常工作,您必须如上图所示与AREF引脚建立额外的连接。

下载:Project Zip 或 thermistor2.ino | 在Github上查看

复制代码

// thermistor-2.ino Intermediate test program for a thermistor. Adafruit Learning System Tutorial

// https://learn.adafruit.com/thermistor/using-a-thermistor by Limor Fried, Adafruit Industries

// MIT License - please keep attribution and please consider buying parts from Adafruit

// which analog pin to connect

#define THERMISTORPIN A0

// how many samples to take and average, more takes longer

// but is more ‘smooth’

#define NUMSAMPLES 5

// the value of the ‘other’ resistor

#define SERIESRESISTOR 10000

int samples[NUMSAMPLES];

void setup(void) {

Serial.begin(9600);

// connect AREF to 3.3V and use that as VCC, less noisy!

analogReference(EXTERNAL);

}

void loop(void) {

uint8_t i;

float average;

// take N samples in a row, with a slight delay

for (i=0; i《 NUMSAMPLES; i++) {

samples[i] = analogRead(THERMISTORPIN);

delay(10);

}

// average all the samples out

average = 0;

for (i=0; i《 NUMSAMPLES; i++) {

average += samples[i];

}

average /= NUMSAMPLES;

Serial.print(“Average analog reading ”);

Serial.println(average);

// convert the value to resistance

average = 1023 / average - 1;

average = SERIESRESISTOR / average;

Serial.print(“Thermistor resistance ”);

Serial.println(average);

delay(1000);

}

// thermistor-2.ino Intermediate test program for a thermistor. Adafruit Learning System Tutorial

// https://learn.adafruit.com/thermistor/using-a-thermistor by Limor Fried, Adafruit Industries

// MIT License - please keep attribution and please consider buying parts from Adafruit

// which analog pin to connect

#define THERMISTORPIN A0

// how many samples to take and average, more takes longer

// but is more ‘smooth’

#define NUMSAMPLES 5

// the value of the ‘other’ resistor

#define SERIESRESISTOR 10000

int samples[NUMSAMPLES];

void setup(void) {

Serial.begin(9600);

// connect AREF to 3.3V and use that as VCC, less noisy!

analogReference(EXTERNAL);

}

void loop(void) {

uint8_t i;

float average;

// take N samples in a row, with a slight delay

for (i=0; i《 NUMSAMPLES; i++) {

samples[i] = analogRead(THERMISTORPIN);

delay(10);

}

// average all the samples out

average = 0;

for (i=0; i《 NUMSAMPLES; i++) {

average += samples[i];

}

average /= NUMSAMPLES;

Serial.print(“Average analog reading ”);

Serial.println(average);

// convert the value to resistance

average = 1023 / average - 1;

average = SERIESRESISTOR / average;

Serial.print(“Thermistor resistance ”);

Serial.println(average);

delay(1000);

}

转换为温度

最后,当然,我们希望获得温度读数,而不仅仅是电阻!如果只需要做一个快速比较电路(如果温度低于X,如果温度高于Y,则这样做),您可以简单地使用温度/电阻表,该表将热敏电阻的电阻与温度相关联。

但是,您可能需要实际的温度值。为此,我们将使用Steinhart-Hart方程,该方程使我们可以很好地近似转换值。它不如热敏电阻表精确(它是一个近似值),但是在使用该热敏电阻的温度范围内还是不错的。

热敏电阻

但是,这个方程相当复杂,需要知道很多我们没有的变量我们将使用简化的B参数方程。

热敏电阻

对此,我们只需要知道到(室温,即25°C = 298.15 K) B (在这种情况下为3950,是热敏电阻的系数)和 Ro (在室温下的电阻,在这种情况下为10Kohm)。我们插入 R (测量的电阻)并取出 T (开氏温度),该温度很容易转换为°C

为您计算°C

下载:Project Zip 或 thermistor3。 ino | 在Github上查看

复制代码

// Thermistor Example #3 from the Adafruit Learning System guide on Thermistors

// https://learn.adafruit.com/thermistor/overview by Limor Fried, Adafruit Industries

// MIT License - please keep attribution and consider buying parts from Adafruit

// which analog pin to connect

#define THERMISTORPIN A0

// resistance at 25 degrees C

#define THERMISTORNOMINAL 10000

// temp. for nominal resistance (almost always 25 C)

#define TEMPERATURENOMINAL 25

// how many samples to take and average, more takes longer

// but is more ‘smooth’

#define NUMSAMPLES 5

// The beta coefficient of the thermistor (usually 3000-4000)

#define BCOEFFICIENT 3950

// the value of the ‘other’ resistor

#define SERIESRESISTOR 10000

int samples[NUMSAMPLES];

void setup(void) {

Serial.begin(9600);

analogReference(EXTERNAL);

}

void loop(void) {

uint8_t i;

float average;

// take N samples in a row, with a slight delay

for (i=0; i《 NUMSAMPLES; i++) {

samples[i] = analogRead(THERMISTORPIN);

delay(10);

}

// average all the samples out

average = 0;

for (i=0; i《 NUMSAMPLES; i++) {

average += samples[i];

}

average /= NUMSAMPLES;

Serial.print(“Average analog reading ”);

Serial.println(average);

// convert the value to resistance

average = 1023 / average - 1;

average = SERIESRESISTOR / average;

Serial.print(“Thermistor resistance ”);

Serial.println(average);

float steinhart;

steinhart = average / THERMISTORNOMINAL; // (R/Ro)

steinhart = log(steinhart); // ln(R/Ro)

steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro)

steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)

steinhart = 1.0 / steinhart; // Invert

steinhart -= 273.15; // convert to C

Serial.print(“Temperature ”);

Serial.print(steinhart);

Serial.println(“ *C”);

delay(1000);

}

// Thermistor Example #3 from the Adafruit Learning System guide on Thermistors

// https://learn.adafruit.com/thermistor/overview by Limor Fried, Adafruit Industries

// MIT License - please keep attribution and consider buying parts from Adafruit

// which analog pin to connect

#define THERMISTORPIN A0

// resistance at 25 degrees C

#define THERMISTORNOMINAL 10000

// temp. for nominal resistance (almost always 25 C)

#define TEMPERATURENOMINAL 25

// how many samples to take and average, more takes longer

// but is more ‘smooth’

#define NUMSAMPLES 5

// The beta coefficient of the thermistor (usually 3000-4000)

#define BCOEFFICIENT 3950

// the value of the ‘other’ resistor

#define SERIESRESISTOR 10000

int samples[NUMSAMPLES];

void setup(void) {

Serial.begin(9600);

analogReference(EXTERNAL);

}

void loop(void) {

uint8_t i;

float average;

// take N samples in a row, with a slight delay

for (i=0; i《 NUMSAMPLES; i++) {

samples[i] = analogRead(THERMISTORPIN);

delay(10);

}

// average all the samples out

average = 0;

for (i=0; i《 NUMSAMPLES; i++) {

average += samples[i];

}

average /= NUMSAMPLES;

Serial.print(“Average analog reading ”);

Serial.println(average);

// convert the value to resistance

average = 1023 / average - 1;

average = SERIESRESISTOR / average;

Serial.print(“Thermistor resistance ”);

Serial.println(average);

float steinhart;

steinhart = average / THERMISTORNOMINAL; // (R/Ro)

steinhart = log(steinhart); // ln(R/Ro)

steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro)

steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)

steinhart = 1.0 / steinhart; // Invert

steinhart -= 273.15; // convert to C

Serial.print(“Temperature ”);

Serial.print(steinhart);

Serial.println(“ *C”);

delay(1000);

}

热敏电阻

,我们建议您读取“系列10K”的准确值,应该几乎是10K,但是如果您能获得更好的读数以减少错误。

读数的准确性如何?

您可能会注意到上面的温度读数为28.16° C-这意味着我们具有0.01°C的精度吗?热敏电阻有误差,模拟读取电路有误差。

我们可以通过首先考虑热敏电阻电阻误差来近似预期误差。热敏电阻的准确度为1%,这意味着在25°C时它可以读取10,100至9900欧姆。在25°C左右,相差450欧姆代表1°C,因此1%的误差表示大约+ -0.25°C(您可以通过在0°C的冰浴中确定热敏电阻的电阻并将其移除来进行校准任何偏移量)。您还可以使用0.1%的热敏电阻弹跳,这将可能的电阻误差降低到+ -0.03°C

然后存在ADC误差,因为电阻的每一位都错了(大约25°C)时可能会产生约50欧姆的电阻。这还不错,并且误差比热敏电阻误差本身+-(0.1°C)小,但是无法“远离”校准它-高精度ADC(12-16位而不是10位)可以通常,我们认为热敏电阻的精度要高于热电偶或大多数低成本的数字传感器,但在1的Arduino上,精度不会高于+ -0.1°C %热敏电阻,建议不要高于+ -0.5°C。

自加热

如果在5V和地面之间连接了10K热敏电阻+ 10K电阻,则在5V/(10K + 10K)= 0.25mA的电流下流过一直。虽然电流不是很大,但由于10K热敏电阻将耗散约0.25mA * 2.5V = 0.625 mW的热量,因此会加热您的热敏电阻。

为避免这种发热,您可以尝试连接电阻分压器的“顶部”连接至GPIO引脚,并在您要读取时将其设置为高电平(从而创建分压器),然后在低功耗模式下将其设置为低电平(0V不会流到地电流)

CircuitPython

很容易将热敏电阻与CircuitPython和电路板的内置模数转换器一起使用。就像上一页的Arduino示例一样,您可以将热敏电阻连接到板的模拟输入并读取电阻。随着温度的变化,电阻也会发生变化,您可以使用Python代码将其转换为精确的温度值!

在开始之前,这将有助于您熟悉CircuitPython中的模拟输入。

下一步,完全按照上一页所示,将热敏电阻连接到板上。您需要从最高3.3V的模拟输入端连接一个固定电阻器(通常为10千欧姆)。然后将一个引脚从热敏电阻连接到相同的模拟输入,另一引脚连接到电路板的接地。在此示例中,我们将在Feather M0基础上使用模拟输入A1。

热敏电阻

Fritzing Source

下一步连接到开发板的串行REPL,因此您位于CircuitPython的》》》 提示符下。

您可以通过运行以下命令来导入必要的 board 和 analogio 模块:

下载:文件

复制代码

import board

import analogio import board

import analogio

现在使用连接到热敏电阻的引脚创建模拟输入:

下载:文件

复制代码

thermistor = analogio.AnalogIn(board.A1) thermistor = analogio.AnalogIn(board.A1)

此时,您可以从热敏电阻读取原始ADC值:

下载:文件

复制代码

thermistor.value thermistor.value

热敏电阻

原始价值不是很有趣对我们来说,我们真的想将其转换为电阻和温度值。不过要注意的一点是,该原始值始终在0到65535之间,而在Arduino中,原始值始终在0到1023之间。随着热敏电阻的电阻变化(基于温度变化),该原始值也会变化

使用与上一页相同的公式,您可以计算热敏电阻的电阻:

下载:文件

复制代码

R = 10000 / (65535/thermistor.value - 1)

print(‘Thermistor resistance: {} ohms’.format(R)) R = 10000 / (65535/thermistor.value - 1)

print(‘Thermistor resistance: {} ohms’.format(R))

热敏电阻

请记住,如果您使用的是其他尺寸的电阻器,则可能需要更改上面的公式,里面有10000个值!

转换为温度

将热敏电阻的电阻转换为温度就像您在Arduino的上一页中看到的那样。您可以使用一个特殊的方程式以及有关热敏电阻的一些已知参数,以Python代码执行此转换。

首先请确保您知道热敏电阻的这些值(如果可用,请查看其数据表):

Ro -标称温度值下的电阻。通常为10,000欧姆。

To -处于上面标称电阻值的温度(摄氏度)。通常为25.0摄氏度。

Beta -热敏电阻的beta系数值。通常,此值在3000-4000范围内,例如3950。

我们现在可以求解方程中提到的简化B系数Steinhart-Hart方程。上一页。您可以定义以下函数来执行此数学运算:

下载:文件

复制代码

def steinhart_temperature_C(r, Ro=10000.0, To=25.0, beta=3950.0):

import math

steinhart = math.log(r / Ro) / beta # log(R/Ro) / beta

steinhart += 1.0 / (To + 273.15) # log(R/Ro) / beta + 1/To

steinhart = (1.0 / steinhart) - 273.15 # Invert, convert to C

return steinhart def steinhart_temperature_C(r, Ro=10000.0, To=25.0, beta=3950.0):

import math

steinhart = math.log(r / Ro) / beta # log(R/Ro) / beta

steinhart += 1.0 / (To + 273.15) # log(R/Ro) / beta + 1/To

steinhart = (1.0 / steinhart) - 273.15 # Invert, convert to C

return steinhart

现在调用该函数并将其传递给您的热敏电阻电阻传递给您。您也可以传入显式的Ro,To和beta参数,或使用默认值(10k,25.0C,3950):

下载:文件

复制代码

R = 10000 / (65535/thermistor.value - 1)

steinhart_temperature_C(R) R = 10000 / (65535/thermistor.value - 1)

steinhart_temperature_C(R)

热敏电阻

或者如果您要传递显式的Ro,To,beta参数:

下载:文件

复制代码

steinhart_temperature_C(R, Ro=10000.0, To=25.0, beta=3950) steinhart_temperature_C(R, Ro=10000.0, To=25.0, beta=3950)

热敏电阻

现在您将来自热敏电阻的温度作为摄氏温度值!

Thermistor Module

如果您只想读取一个热敏电阻的值,实际上可以使用一个方便的CircuitPython模块为您自动执行所有上述计算。要将热敏电阻模块传感器与Adafruit CircuitPython板一起使用,您需要在板上安装Adafruit_CircuitPython_Thermistor模块。

下一步,您需要安装必要的库才能使用硬件-仔细按照以下步骤从Adafruit的CircuitPython库包中查找和安装这些库。例如,Circuit Playground Express指南上有一个很棒的页面,说明如何为快速和非表达板安装库包。

记住非表达板,例如Trinket M0,Gemma M0和Feather/Metro M0 basic,您需要从捆绑包中手动安装必要的库:

adafruit_thermistor.mpy

在继续制作之前确保您开发板的lib文件夹或根文件系统已复制 adafruit_thermistor.mpy 模块。

热敏电阻

div》用法

演示热敏电阻模块的用法,您可以连接到板的串行REPL并运行Python代码以读取温度和湿度。

首先连接到板的串行REPL,您就是

提示。

下一步,导入面板和 adafruit_thermistor 模块,这些是初始化和访问传感器的必要模块:

下载:文件

复制代码

import board

import adafruit_thermistor import board

import adafruit_thermistor

现在从模块中创建 Thermistor 类的实例。就像自己进行数学运算一样,您需要了解热敏电阻的Ro,To和Beta参数。例如,使用与之前相同的热敏电阻设置:

下载:文件

复制代码

thermistor = adafruit_thermistor.Thermistor(board.A1, 10000.0, 10000.0, 25.0, 3950.0, high_side=False) thermistor = adafruit_thermistor.Thermistor(board.A1, 10000.0, 10000.0, 25.0, 3950.0, high_side=False)

让我们分解发送给热敏电阻初始化程序的所有参数:

模拟输入-第一个参数是连接到热敏电阻(在这种情况下为板针A1)的模拟输入的名称。

串联电阻-第二个参数是连接到热敏电阻的串联电阻的值。如果您遵循本指南,则需要10,000欧姆的值。

标称电阻(Ro)-第三个参数是标称温度下热敏电阻的电阻值。对于本指南中的热敏电阻,请使用相同的10,000欧姆值。

标称温度(To)-第四个参数是在以下温度下热敏电阻的温度值(以摄氏度为单位)。标称电阻值。对于本指南中的热敏电阻,请使用相同的25.0度值。

β系数-第五个参数是您的热敏电阻的beta系数,在这种情况下为3950。

High_side布尔值-第六个参数是可选的,它指示热敏电阻是连接在电阻分压器的高端还是低端。在本指南中,我们实际上已将热敏电阻的下部接线,或者从ADC输入引至地。但是,对于其他电路板和用途,您可以从高端反向连接热敏电阻,或者从高达3.3V或5V的ADC输入连接。 high_side参数的默认值为true,但对于本指南中的接线,我们需要通过将high_side设置为false来告知我们正在使用低端接线。

创建热敏电阻实例后,您可以读取温度属性以获取摄氏温度值:

下载:文件

复制代码

thermistor.temperature thermistor.temperature

热敏电阻

这就是使用热敏电阻模块读取热敏电阻的温度所需要的一切!在内部,该模块将为您完成所有必要的Steinhart-Hart方程数学。您可以获取温度结果,并在自己的程序中使用它来添加温度感应!
       责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分