580|0

113

帖子

4

TA的资源

一粒金砂(高级)

楼主
 

【DigiKey“智造万物,快乐不停”创意大赛】基于Arduino Uno R4智能床头灯项目&1驱动2 [复制链接]

  本帖最后由 eew_cT3H5d 于 2023-12-16 21:53 编辑

在基于Arduino Uno R4智能床头灯项目中传感器的驱动也是重头,需要驱动Senrision的二氧化碳传感器和温湿度传感器,智能床头灯项目中准备蓝牙版本用温湿度传感器,WiFi版本用二氧化碳传感器(感知二氧化碳、温度、湿度)

一、SCD30二氧化碳传感器驱动

二氧化碳作为检测空气质量的一种传感器,其原理有很多中,其中红外检测原理比较常见,Senrision的二氧化碳传感器SCD30具有很高的一致性和准确性,在市场得到很高的好评,在DigiKey官网有售卖,而且零售价不便宜

 

红外二氧化碳原理演示:通过该动画可以很直观了解红外二氧化碳传感器的原理

 

下面开始介绍:如何利用Arduino Uno R4驱动SCD30的过程

1.没有思路:

1)下载Senrision官方SCD3的IIC库报错,因为Arduino Uno R4 WiFi版本自带Qwiic接口可以很方便连接IIC设备,所以就死心塌地用IIC通信进行读取传感器的数据

报错内容:CRC、无法写入IIC

21:18:31.019 -> Error trying to execute readFirmwareVersion(): Wrong CRC found
21:18:32.609 -> Error trying to execute blockingReadMeasurementData(): Error writing to I2C bus
21:18:34.210 -> Error trying to execute blockingReadMeasurementData(): Error writing to I2C bus
21:18:35.796 -> Error trying to execute blockingReadMeasurementData(): Error writing to I2C bus

 

2)参考Adafruit_SCD30.h库也是无法使用,根本没有思路,基本上要更换串口通信放弃自带Qwiic接口方案

 

 

2.转折点:查阅官网相关资料,看到这篇文章似乎有点思路:https://docs.arduino.cc/tutorials/uno-r4-wifi/qwiic#i2c

   

3.正常驱动:下载库SparkFun_SCD30_Arduino_Library.h,进行修改参数引脚,可以正常读取数据,非常顺利

 

SCD30传感器驱动程序代码:

#include <Wire.h>

#include "SparkFun_SCD30_Arduino_Library.h" //Click here to get the library: http://librarymanager/All#SparkFun_SCD30
SCD30 airSensor;

void setup()
{
  Serial.begin(115200);
  Serial.println("SCD30 Example");
  Wire1.begin();

  if (airSensor.begin(Wire1) == false)
  {
    Serial.println("Air sensor not detected. Please check wiring. Freezing...");
    while (1)
      ;
  }

  //The SCD30 has data ready every two seconds
}

void loop()
{
  if (airSensor.dataAvailable())
  {
    Serial.print("co2(ppm):");
    Serial.print(airSensor.getCO2());

    Serial.print(" temp(C):");
    Serial.print(airSensor.getTemperature(), 1);

    Serial.print(" humidity(%):");
    Serial.print(airSensor.getHumidity(), 1);

    Serial.println();
  }
  else
    Serial.println("Waiting for new data");

  delay(500);
}

 

SCD30传感器开始工作:传感器二氧化碳光源开始工作

 

 

二、SHT3X温湿度传感器驱动

有了SCD30传感器的调试经验,很快完成SHT3X温湿度传感器驱动

 

实物连接图:采用IIC通信,即默认IIC0接口

 

 

关键词:SCD30STH3XArduino Uno R4二氧化碳温湿度

 

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表