MGI 传感器是多种电路中广泛使用的设备。 有温度,湿度,烟雾,光线和长时间。 它们是使我们能够测量一定幅度并将其转换为电压响应的元素。 模拟输出信号可以轻松转换为数字,因此可以将这种类型的传感器与数字电路,LCD屏幕,Arduino板等配合使用。
LM35是最受欢迎的传感器之一 并被所有人使用,因为它是 温度感应器。 它封装在类似于我们在此博客中分析的晶体管的包装中,例如 2N2222 和 BC547。 它的作用是测量环境温度,并根据环境温度的高低来决定其输出端是否带有一个或另一个电压。
LM35
El LM35是温度传感器,标定值为1ºC 变化。 当然,这并不意味着所有温度传感器都已为摄氏温度做好了准备,但是在这种情况下确实如此。 实际上,这是您以后必须进行调整以校准它并使其在所需的比例尺上进行度量的内容。 在其输出端,它会根据在任何给定时间捕获的温度产生不同电压的模拟信号。
通常你可以 覆盖-55ºC至150ºC之间的测量温度,因此它具有测量相当普遍的温度的良好范围。 实际上,这就是成功的原因,它可以测量非常频繁的温度。 温度范围受其输出端具有的可变电压量的限制,范围为-550mV至1500mV。
也就是说,当它是 测量温度 150ºC,我们已经知道它将在输出端提供1500mV的电压。 而如果我们有-550mV,则意味着它的测量值为-55ºC。 并非所有温度传感器都具有这些相同的电压范围,有些可能会有所不同。 中间温度将必须使用知道这两个极限的简单公式来计算。 例如,以三个规则。
LM35引脚排列 很简单,第一个引脚或第一个引脚用于传感器所需的电源,从4v到30v,尽管它可能会因制造商而异,因此最好查看一下传感器的数据表,您已购买。 然后,在中间,我们有用于输出的引脚,即根据温度提供一个或另一个电压的引脚。 第三针接地。
功能和数据表
El LM35是无需额外电路即可对其进行校准的设备,因此非常易于使用。 例如,如果我们将其与Arduino一起使用,我们只需要担心知道它可以测量的最高和最低温度,便可以将其提供给输出的电压范围,并绘制一个简单的草图,以便将Arduino的模拟信号电路板接收的信号可以转换为数字,并且温度以ºC的形式显示在屏幕上,或转换为所需的刻度。
由于通常不会太热,因此通常 封装在廉价的塑料包装中 等等。 其操作和输出所需的低电压使其成为可能。 在某些情况下,它不是需要金属,陶瓷封装甚至散热器的大功率设备。
其中 杰出的技术特征 分别是:
- 输出电压与温度成正比:-55ºC至150ºC,电压-550mV至1500mV
- 校准摄氏度
- 保证从0.5ºC到25ºC的精确电压
- 低输出阻抗
- 低电源电流(60μA)。
- 低成本
- 封装SOIC,TO-220,TO-92,TO-CAN等
- 工作电压在4至30v之间
要获取有关LM35的所有详细信息,您可以 使用数据表 由TI(Texas Instruments),意法半导体(STMicroelectronics)和其他此类传感器的受欢迎供应商等制造商提供。 例如,在这里您可以 下载TI LM35数据表的PDF.
与Arduino集成
你可以得到 Arduino IDE的代码示例 和实际的例子 我们的课程或编程手册 在Arduino上但是,为了提供一个如何在Arduino和代码中使用LM35的示例,我们在这里看到了这个简单的示例。
至 用Arduino读取LM35的温度非常简单。 首先,请记住-55ºC和150ºC,灵敏度为1ºC。 通过计算可以得出结论,在1ºC的温度下,这意味着增加或等于10mV。 例如,如果考虑到最大输出为1500mV,则如果获得1490mV,则意味着传感器捕获的温度为149ºC。
一 公式 为了能够将LM35传感器的模拟输出转换为数字输出,它将是:
T =值* 5 * 100/1024
请记住1024是因为Arduino在其 数字输入 仅接受该可能值的数量,即0到1023。它将代表可以测量的温度范围,最小值为0,最大值为1023。这是从模拟转换的方法对在LM35引脚输出处获得的信号进行数字化处理。
这,传递给 您必须在Arduino IDE中编写的代码 要使其正常工作,将是这样的:
// Declarar de variables globales float temperatura; // Variable para almacenar el valor obtenido del sensor (0 a 1023) int LM35 = 0; // Variable del pin de entrada del sensor (A0) void setup() { // Configuramos el puerto serial a 9600 bps Serial.begin(9600); } void loop() { // Con analogRead leemos el sensor, recuerda que es un valor de 0 a 1023 temperatura = analogRead(LM35); // Calculamos la temperatura con la fórmula temperatura = (5.0 * temperatura * 100.0)/1024.0; // Envia el dato al puerto serial Serial.print(temperatura); // Salto de línea Serial.print("\n"); // Esperamos un tiempo para repetir el loop delay(1000); }
请记住,如果您更改Arduino板上的连接引脚或想要将其调整为其他比例,则必须更改公式和代码以匹配您的设计...
这样,您可以在屏幕上 获得以ºC为单位的温度测量值 相当可靠。 您可以尝试将冷或热的物体靠近传感器,以查看发生的变化...