Arduino初初教程10(温湿度传感器)

这里使用的温湿度传感器是SHT1X温湿度传感器
如图
DFR0066-2-240x240
SHT1x温湿度传感器是瑞士Sensirion公司推出的单片数字温湿度集成传感器。采用CMOS过程微加工专利技术(CMOSens technology),确保产品具有极高的可靠性和出色的长期稳定性。该传感器由1个电容式聚合体测湿元件和1个能隙式测温元件组成,并与1个14位A/D转换器以及1个2-wire数字接口在单芯片中无缝结合,使得该产品具有功耗低、反应快、抗干扰能力强等优点。在对环境温度与湿度测量要求高的情况下使用,该产品具有极高的可靠性和出色的稳定性。其技术规格如下:
q全部校准,数字输出;
q接口简单(2-wire),响应速度快;
q超低功耗,自动休眠;
q出色的长期稳定性;
q超小体积(表面贴装);
q湿度范围0—100%RH,温度范围-40℃—128.8℃
q测湿精度±4.5%RH,测温精度±0.5℃(25℃)
q模块尺寸:32X17mm
传感器采用2-wire接口,数字输出,所以需要占用两个数字口
举个应用的例子:(例子中占用Arduino的数字口9(接SHT1x温湿度传感器的SCK)和数字口10(接SHT1x温湿度传感器的DATA))
代码如下:
#include <SHT1x.h>
#define dataPin  10
#define clockPin 9
//定义SHT1x类的对象sht1x
SHT1x sht1x(dataPin, clockPin);
void setup()
{
Serial.begin(9600);                 // 波特率9600 bps
}
void loop()
{
           float temp_c;                             //定义温度值变量
           float humidity;                           //定义湿度值变量
           // 读取温湿度值
            temp_c = sht1x.readTemperatureC();
            humidity = sht1x.readHumidity();
           //通过串口输出温度值
           Serial.print(“Temperature: “);
           Serial.print(temp_c);
            //通过串口输出湿度值
           Serial.print(”     Humidity: “);
           Serial.print(humidity);
           Serial.println(“%”);
           //2秒采样一次
           delay(2000);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
需要定义一个SHT1x的对象sht1x。
获取温度值使用函数 sht1x.readTemperatureC()
获取湿度值使用函数 sht1x.readHumidity()
另外还可以直接获取华式温度,使用函数  sht1x.readTemperatureF()

分享来源:

http://www.52forum.com我爱方案网论坛 » AVR单片机 » Arduino创意方案

晨光熹微 版主

版权声明:本文为jukeshang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jukeshang/archive/2011/07/26/2116814.html