[IDE]

零知开源分享-使用CO2传感器模块-SCD30测量温度和湿度

[复制链接]
857|0
手机看帖
扫描二维码
随时随地手机跟帖
roc2two|  楼主 | 2019-5-18 14:05 | 显示全部楼层 |阅读模式
本帖最后由 roc2two 于 2019-5-27 16:11 编辑

本篇**中将使用盛思锐出品的CO2传感器-SCD30模块测量温度和湿度,模块带有温湿度数据测量,具有高稳定性,温度补偿。
主要特性:
支持接口I2C和MODBUS;
供电3.3-5.5v;
CO2测量;
588505cdf9f8aedc15.png
湿度测量;
1565cdf9fab03771.png
温度测量;
921385cdf9fb1f1d57.png

1、说明
MCU:零知开发板-标准板

918195cdf9fbd3407a.png

模块:盛思锐SCD30模块
773985cdf9fda01dca.png
2、连接
模块引脚说明:

990175cdf9fea09a07.png
将使用I2C接口,供电3.3v,因此只需要模块接入3.3v电源,共地,再把模块SCL接入零知标准板的A5,模块SDA脚接入零知标准板的A4,这样就完成了硬件的连接,非常简单。如下图所示:
352645cdf9ffbebc89.png
接好线后就可以烧写代码了,使用零知开源开发工具,示例多,使用方便。
347925cdfa00d1a70c.png
3、测试结果
865275cdfa02040305.png
4、核心代码
/*
  读取CO2,湿度,温度数据
  基于盛思锐CO2传感器-SCD30模块(I2C接口)
  powered by 零知实验室-零知开源
*/

#include "SCD30.h"
#include "SoftWire.h"

//SoftWire Wire1(0,1);//使用0-SCL,1-SDA接传感器I2C接口

SCD30 airSensor;

void setup()
{

  Serial.begin(9600);
  Serial.println("Sensirion SCD30 Demo!");

  airSensor.begin(); //默认采样率,2s读取一次数据
         
//                //airSensor.begin(Wire1);//可以修改I2C接口引脚,默认为A4,A5
         
//  //通过以下接口修改参数设置,以获取到实际场合的数据
//  //1.采样率设置为4s,有效设置范围: 2s ~ 1800s (30 minutes)
//  airSensor.setMeasurementInterval(4);
//
//  //2.海拔高度设置为1600m,当前的海拔高度以m为单位
//  airSensor.setAltitudeCompensation(1600);
//
//  //3.环境压强设置,当前设置为835mBar(注:1mBar = 100Pa),真空度24.65inHg或834.74mBar
//  airSensor.setAmbientPressure(835); //当前环境的压强 700~1200mBar
}

void loop()
{
  if (airSensor.dataAvailable())
  {
    Serial.print("CO2(ppm):");
    Serial.print(airSensor.getCO2());//读取CO2

    Serial.print(" temp(C):");//读取温度
    Serial.print(airSensor.getTemperature(), 1);

    Serial.print(" humidity(%):");//读取湿度
    Serial.print(airSensor.getHumidity(), 1);

    Serial.println();
  }
  else
  {
    //Serial.println("No data");
  }
  delay(1000);
}
完整工程或更多详细资料可到零知实验室官网免费获取。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

75

主题

85

帖子

1

粉丝