Arduino初初教程10(温湿度传感器)
Arduino初初教程10(温湿度传感器)
这里使用的温湿度传感器是SHT1X温湿度传感器
如图
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创意方案
晨光熹微 版主