在对环境温度与湿度进行测量及控制的时候,瑞士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
