本文共 1180 字,大约阅读时间需要 3 分钟。
这里使用的温湿度传感器是 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() 转载于:https://my.oschina.net/u/732489/blog/134026