快速验证方式有多种,其中之一肯定是使用官方的GUI软件进行,不过没法实现,主要原因就是使用官方GUI需要用到一个特殊的工具——SEK-SensorBridge:

这个SensorBridge也是一个相当贵的工具,是盛思睿官方的桥接设备。
我们只能退而求其次使用Arduino进行快速验证测试,盛思睿官方对Arduino的维护支持也是相当迅速的,这次我们Arduino R4开发板进行基本测试,我们先看一下SCD41传感器评估板的基本信息:

典型的I2C应用电路需要SCL和SDA线都是开漏I/O,且必须连接到外部上拉电阻(例如10 kΩ),需要注意的是,上拉电阻需要包含在微控制器或嵌入式平台的I/O电路中,板测评估的开发板上并没有带,这就需要我们对arduino的IIC引脚进行一下查看确认,arduino的IIC接口:

明显这个不行,这个IIC接口上拉引脚默认是没有的,另一个qwiic是可以的,不仅上拉了还进行了电平匹配:

硬件连接:

测试代码:
#include <DFRobot_SCD4X.h>
DFRobot_SCD4X SCD4X(&Wire1, /*i2cAddr = */SCD4X_I2C_ADDR);
void setup(void)
{
  Serial.begin(115200);
  while( !SCD4X.begin() ){
    Serial.println("Communication with device failed, please check connection");
    delay(3000);
  }
  Serial.println("Begin ok!");
  SCD4X.enablePeriodMeasure(SCD4X_STOP_PERIODIC_MEASURE);
  SCD4X.setTempComp(4.0);
  float temp = 0;
  temp = SCD4X.getTempComp();
  Serial.print("The current temperature compensation value : ");
  Serial.print(temp);
  Serial.println(" C");
  SCD4X.setSensorAltitude(540);
  
  uint16_t altitude = 0;
  altitude = SCD4X.getSensorAltitude();
  Serial.print("Set the current environment altitude : ");
  Serial.print(altitude);
  Serial.println(" m");
  SCD4X.enablePeriodMeasure(SCD4X_START_PERIODIC_MEASURE);
  Serial.println();
}
void loop()
{
  if(SCD4X.getDataReadyStatus()) {
    DFRobot_SCD4X::sSensorMeasurement_t data;
    SCD4X.readMeasurement(&data);
    Serial.print("Carbon dioxide concentration : ");
    Serial.print(data.CO2ppm);
    Serial.println(" ppm");
    Serial.print("Environment temperature : ");
    Serial.print(data.temp);
    Serial.println(" C");
    Serial.print("Relative humidity : ");
    Serial.print(data.humidity);
    Serial.println(" RH");
    Serial.println();
  }
  delay(1000);
}效果如下:


 
					
				 
						
 
			
			
			
						
			 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

