Arduino中国 | Flamingo EDA

Mar/10

7

Arduino 电子积木 数字温湿度传感器 SHT10 SHT1x

在对环境温度与湿度进行测量及控制的时候,瑞士Sensirion公司推出的SHT系列数字温湿度集成传感器无疑是一个非常不错的选择。虽然价格较普通的模拟温度或者湿传感器来讲稍微有点偏高,但在需要读出准确的温度和湿度值的场景下却非常合适,而且具有极高的可靠性和出色的长期稳定性。

我们设计的这款数字温湿度传感器就是基于SHT系列中使用最为广泛的SHT10,有关该传感器的具体参数可以参考官方网站上的介绍

SHT10采用的是一种类似于I2C的两线串行接口(bidirectional 2-wire),因此在物理连接上我们需要使用两根连接线与该电子积木模块连接。

要在Arduino上使用该电子积木,可以从Practical Arduino这本书的官方网站上下载相应的库代码, 或者直接从这里下载我们在在测试时所使用版本的压缩文件。测试时我们使用的是Arduino 0018,只需要将相应的文件解压缩到Arduino安装目录下的libraries目录中就可以了:

测试时将电子积木上的DATA和SCK引脚分别与Arduino的数字I/O的10号引脚和11号引脚连接起来,相应的测试代码如下所示:

#include <SHT1x.h>

#define dataPin  10   // DATA
#define clockPin 11   // SCK
SHT1x sht1x(dataPin, clockPin);

void setup()
{
   Serial.begin(9600);
   Serial.println("Starting up");
}

void loop()
{
  float temp_c;
  float temp_f;
  float humidity;

  // Read values from the sensor
  temp_c = sht1x.readTemperatureC();
  temp_f = sht1x.readTemperatureF();
  humidity = sht1x.readHumidity();

  // Print the values to the serial port
  Serial.print("Temperature: ");
  Serial.print(temp_c, DEC);
  Serial.print("C / ");
  Serial.print(temp_f, DEC);
  Serial.print("F. Humidity: ");
  Serial.print(humidity);
  Serial.println("%");

  delay(2000);
}

下图是相应输出结果:

No tags

No comments yet.

Leave a Reply

<<

>>