首页 > 其他分享 >气体流量传感器 AFM3000/SFM3000 驱动

气体流量传感器 AFM3000/SFM3000 驱动

时间:2023-08-03 18:25:33浏览次数:44  
标签:AFM3000 SFM3000 errorMessage println 传感器 error print Serial

之前买入了奥松电子的气体流量传感器,型号为 AFM3000。到手后发现没有 Arduino 的驱动代码,调试不了。

离谱的是,我在 Arduino 论坛逛的时候,发现了这个问题:I2C communication with SFM3000 series flow sensor from Sensirion。问题中用到的气体流量传感器为 SFM3000,看了说明书后,只能说两款传感器基本一样。

于是我又去 git 上找了找,看是不是有现成的驱动,结果还真有 Sensirion I2C SFM3000 Arduino Library。之后在 Arduino IDE 的 Library 中搜索「Sensirion I2C SFM3000」下载即可。

这是 AFM3000/SFM3000 的驱动代码:

/*
 * I2C-Generator: 0.2.0
 * Yaml Version: 0.1.0
 * Template Version: 0.7.0-38-g217adaf
 */
/*
 * Copyright (c) 2021, Sensirion AG
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * * Redistributions of source code must retain the above copyright notice, this
 *   list of conditions and the following disclaimer.
 *
 * * Redistributions in binary form must reproduce the above copyright notice,
 *   this list of conditions and the following disclaimer in the documentation
 *   and/or other materials provided with the distribution.
 *
 * * Neither the name of Sensirion AG nor the names of its
 *   contributors may be used to endorse or promote products derived from
 *   this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#include <Arduino.h>
#include <SensirionI2CSfm3000.h>
#include <Wire.h>

SensirionI2CSfm3000 sfm;


float scalingFactor = 140.0;
float offset = 32000;


void setup() {

    Serial.begin(115200);
    while (!Serial) {
        delay(100);
    }

    Wire.begin();

    uint16_t error;
    char errorMessage[64];

    sfm.begin(Wire, SFM300_I2C_ADDRESS_0);

    uint32_t serialNumber;

    error = sfm.readSerialNumber(serialNumber);
    if (error) {
        Serial.print("Error trying to execute serialNumber(): ");
        errorToString(error, errorMessage, 64);
        Serial.println(errorMessage);
    } else {
        Serial.print("SerialNumber:");
        Serial.print(serialNumber);
        Serial.println();
    }

    error = sfm.startContinuousMeasurement();
    
    if (error) {
        Serial.print("Error trying to execute startContinuousMeasurement(): ");
        errorToString(error, errorMessage, 64);
        Serial.println(errorMessage);
    }
}

void loop() {
    uint16_t error;
    char errorMessage[64];

    delay(100);

    // Read Measurement
    float flow;

    error = sfm.readMeasurement(flow, scalingFactor, offset);

    if (error) {
        Serial.print("Error trying to execute readMeasurement(): ");
        errorToString(error, errorMessage, 64);
        Serial.println(errorMessage);
    } else {
        Serial.print("Flow:");
        Serial.print(flow);
        Serial.println();
    }
}

烧录到 Arduino 即可。

标签:AFM3000,SFM3000,errorMessage,println,传感器,error,print,Serial
From: https://www.cnblogs.com/wonderhoi/p/17604106.html

相关文章

  • 振弦传感器信号转换器应用山体滑坡安全监测
    振弦传感器信号转换器应用山体滑坡安全监测随着人类文明的进步,自然灾害对人们的生活和财产安全造成的威胁也越来越大。山体滑坡作为自然灾害中的一种,给人们的生活和财产安全带来了极大的威胁。因此,进行山体滑坡的安全监测显得尤为重要。振弦传感器信号转换器在山体滑坡安全监测中......
  • 多点液位传感器在扫地机器人的应用
    扫地机器人是现代家庭和办公环境中常见的智能清洁设备,它能够自动清扫地面,提高生活和工作效率。在扫地机器人的设计中,多点液位传感器的应用可以有效地监测水箱的水位,提供更智能的清洁体验。多点液位传感器可以通过多个传感器点来检测水箱的液位高度。在扫地机器人上使用多段液位检测......
  • 振弦传感器信号转换器(VTI104_DIN)应用岩土工程监测
    振弦传感器信号转换器(VTI104_DIN)应用岩土工程监测振弦传感器信号转换器(VTI104_DIN)是一种用于实现振弦传感器信号转换的设备,可将振弦传感器所采集到的振动信号转换成电信号,并通过模拟量输出或数字量输出的方式进行传输和记录。在岩土工程监测中,振弦传感器信号转换器广泛应用于地震......
  • 工程监测仪器振弦传感器信号转换器(VTI104_DIN)
    工程监测仪器振弦传感器信号转换器(VTI104_DIN)振弦传感器信号转换器,简称VTI104_DIN,是一种用于转换振弦传感器信号的电子设备。该设备可以将振弦传感器产生的模拟信号转换成标准的电压或电流输出,从而使其可以连接到PLC、DCS、PC等控制系统中,实现自动控制、数据采集和处理等功能。......
  • 振弦传感器信号转换器应用岩土工程安全监测
    振弦传感器信号转换器应用岩土工程安全监测振弦传感器信号转换器是一种用于实现振弦传感器信号转换的设备,可将振弦传感器所采集到的振动信号转换成电信号,并通过模拟量输出或数字量输出的方式进行传输和记录。在岩土工程监测中,振弦传感器信号转换器广泛应用于地震动监测、建筑物结......
  • 光电液位传感器怎么安装和使用
    液位传感器是一种用于检测液位的设备。被应用于各种小家电设备以及水处理等领域。今天能点科技介绍一下光电液位传感器的安装和使用方法。安装液位传感器需要选择合适的位置。应确保传感器与液体之间没有任何障碍物,以确保准确测量液位。将液位传感器固定在所选择的位置上。可以使用......
  • 服务器中心机房大数据机房温度和湿度智能化集中监控系统之以太网温湿度传感器
    数据机房服务器数据中心温湿度的解决方案  引言 数据机房是现代企业和组织存储和处理海量数据的关键设施。在这些机房中,服务器承担着运行和存储数据的重要任务。然而,由于服务器的高功耗和密集堆放,温湿度管理成为数据中心运维中不可忽视的问题。为了解决这一难题,H-THRJ45以......
  • 红外雨量计(光学雨量传感器)检测降雨量,预防内涝
    红外雨量计(光学雨量传感器)检测降雨量,预防内涝随着城市化进程的加快,城市内涝成为一个愈发严峻的问题。短时间内大量的降雨,不仅会给城市交通带来困难,也会对城市的基础设施和居民的生活造成很大的影响。因此,有效预防内涝也成为城市管理者和居民关注的焦点。红外雨量计就是一种用来检......
  • 什么是DIN导轨 轨道安装式振弦传感器信号转换器
    什么是DIN导轨轨道安装式振弦传感器信号转换器DIN导轨是德国工业化协会制定的一种导轨标准。是德语DeutschesInstitutfürNormunge.V的缩写。DIN导轨的种类一般有两个种类,主要是尺寸上的区别。1、TS35DIN导轨这里的数字“35”是指高顶帽开槽的距离(即:导轨最大宽度),是......
  • M5ATOMS3基础02传感器MPU6886
    M5ATOMS3基础01按键简洁版本MPU6886是一款6轴IMU单元,具有3轴重力加速度计和3轴陀螺仪。它采用16位ADC,内置可编程数字滤波器和片上温度传感器,并通过I2C接口(地址为0x68)与上位机通信。MPU6886支持低功耗模式,并具有高性能规格,包括陀螺仪灵敏度误差±1%、陀螺仪噪声±4mdps/√Hz、加速......