zoukankan      html  css  js  c++  java
  • Arduino连接SHT10温湿度传感器--返回值不正常解决办法

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

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

    电路图片:

    导入库的路径:

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

    /**
     * ReadSHT1xValues
     *
     * Read temperature and humidity values from an SHT1x-series (SHT10,
     * SHT11, SHT15) sensor.
     *
     * Copyright 2009 Jonathan Oxer <jon@oxer.com.au>
     * 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);
    }

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

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

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

  • 相关阅读:
    如何让spring mvc web应用启动时就执行特定处理
    关联查询left join中on 和where 的区别
    c语言中'.'与'>'的区别
    申请博客园的计划
    java学习环境安装与配置
    ACM之旅之坎坷编译器
    2013年小结
    申请博客园的计划
    生命在于运动
    委托和事件
  • 原文地址:https://www.cnblogs.com/sowhat4999/p/4480024.html
Copyright © 2011-2022 走看看