零知开源分享 - 使用CO2传感器-SCD30测量温度和湿度-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3170|回复: 0

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

[复制链接]
发表于 2019-5-18 12:00 | 显示全部楼层 |阅读模式
本篇文章中将使用盛思锐出品的CO2传感器-SCD30模块测量温度和湿度,模块带有温湿度数据测量,具有高稳定性,温度补偿。
主要特性:
支持接口I2C和MODBUS;
供电3.3-5.5v;
CO2测量;

CO2.jpg
湿度测量;
湿度.jpg
温度测量;
温度.jpg
1、说明
MCU:零知开发板-标准板

好看的标准板 (2).jpg
模块:盛思锐SCD30模块
模块图.png
2、连接
模块引脚说明:

引脚说明.jpg
将使用I2C接口,供电3.3v,因此只需要模块接入3.3v电源,共地,再把模块SCL接入零知标准板的A5,模块SDA脚接入零知标准板的A4,这样就完成了硬件的连接,非常简单。如下图所示:
接线.jpg
接好线后就可以烧写代码了,使用零知开源开发工具,示例多,使用方便。
界面.png
3、调试结果
测试结果.jpg
4、核心代码
[mw_shl_code=arduino,true]/*
  读取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);
}[/mw_shl_code]
完整工程或更多详细资料可到零知实验室官网免费获取。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 07:32 , Processed in 0.098317 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表