Arduino连接SHT10温湿度传感器--返回值不正常解决办法

如题目,arduino中连接温湿度传感器,用的是一个github开源项目,地址:点击打开,其实这个就是一个封装好的库,下载后把解压的文件夹复制到Arduino目录下的librarys文件夹内,重启Arduino,到此就算是到库成功了。下面看电路连接图:

Arduino连接SHT10温湿度传感器--返回值不正常解决办法

注意DATA和SCK两个脚对于Arduino上的数字引脚,在写程序的时候要用到,如图所示:将 SHT15 的 Data 脚接到 pin11, SCK 接到 pin10

电路图片:

Arduino连接SHT10温湿度传感器--返回值不正常解决办法

导入库的路径:

Arduino连接SHT10温湿度传感器--返回值不正常解决办法

其实库里面提供了一个实例代码,你可以直接拿过来使用,下面放代码:

/**

 * ReadSHT1xValues

 *

 * Read temperature and humidity values from an SHT1x-series (SHT10,

 * SHT11, SHT15) sensor.

 *

 * Copyright 2009 Jonathan Oxer <[email protected]>

 * www.practicalarduino.com

 */



#include <SHT1x.h>



// Specify data and clock connections and instantiate SHT1x object

#define dataPin  11

#define clockPin 10

SHT1x sht1x(dataPin, clockPin);



void setup()

{

   Serial.begin(38400); // Open serial connection to report values to host

   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);

}

那么串口窗口的显示信息就是所要的值:

Arduino连接SHT10温湿度传感器--返回值不正常解决办法

遇到的问题:出现数据错误解决办法

比如:“Temperature: -40.0099983215C / -40.0180015563F. Humidity: -4.44%”,这个数值典型就是没连上,为避免信号冲突,微处理器应驱动DATA 在低电平,所以sht10的data和vcc之间要串一个10kΩ的上拉电阻(其实就是一个简单的10kΩ的电阻),注意是串联,两端分别连接data和vcc之间即可。

你可能感兴趣的:(arduino)