• 大小: 685KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-30
  • 语言: 其他
  • 标签: SDP810  Arduino  

资源简介

气压传感器SDP810的Arduino控制代码,包括头文件与申明文件。目前成功应用于移动机器人的碰撞检测。

资源截图

代码片段和文件信息

/*****************************************************
SDP810.cpp
气压传感器源文件
版本:1.00  日期20170718  编写:孙斌
描述: 见头文件
      
*****************************************************/
#include “stdint.h“
#include“SDP810.h“
#include“Wire.h“
#include“arduino.h“

SDP810::SDP810(){
  ERROR_TypeDef  error = ERROR_NONE;
  _address = SDP810_ADDR;  
 }
SDP810::~SDP810(){}

const uint8_t SDP810::scaleFactorTemperature = 200;

/*******************************************************************
   初始化 (Setup 中运行)
   输入 无     
   返回  错误类型
*******************************************************************/     
ERROR_TypeDef SDP810::Init(){
  ERROR_TypeDef error = ERROR_NONE; 
  SoftReset();
  /*
  if(Reset() != ERROR_NONE){
    Serial.println(“Oops! No SDP810! Check wire!“);
  }else{
    Serial.println(“Success to initialize SDP810!“);    
  }
  */
  delay(10);
  error = StartContinousMeasurement(TEMPCOMP_DIFFERNTIAL_PRESSUREAVERAGING_NONE);
  delay(10);
  // ReadID(); //放弃使用,会导致读不出气压,尚未解决。
  return error;
}

/*******************************************************************
   工作模式选择
   输入 无     
   返回  错误类型
*******************************************************************/     
ERROR_TypeDef SDP810::StartContinousMeasurement(TempComp tempCompAveraging averaging){
  ERROR_TypeDef error = ERROR_NONE;
  Command command = COMMAND_UNDEFINED;
    // determine command code
  switch(tempComp) {
    case TEMPCOMP_MASS_FLOW:
      switch(averaging) {
        case AVERAGING_TILL_READ:
          command = COMMAND_START_MEASURMENT_MF_AVERAGE;
          break;
        case AVERAGING_NONE:
          command = COMMAND_START_MEASURMENT_MF_NONE;
          break;
         
      }
      break;
    case TEMPCOMP_DIFFERNTIAL_PRESSURE:
      switch(averaging) {
        case AVERAGING_TILL_READ:
          command = COMMAND_START_MEASURMENT_DP_AVERAGE;
          break;
        case AVERAGING_NONE:
          command = COMMAND_START_MEASURMENT_DP_NONE;
          break;
      }
      break;
  }
  if(COMMAND_UNDEFINED != command) {
    error = ExecuteCommand(command);
    // wait 10 ms for startup
    delay(10);
   
  } else {
    error = ERROR_IVALID_PARAMETER;
  }
  
  return error;
}

/*******************************************************************
   停止连续测试
   输入 无     
   返回  错误类型
*******************************************************************/   
ERROR_TypeDef SDP810::StopContinousMeasurement(void){
  return ExecuteCommand(COMMAND_STOP_CONTINOUS_MEASUREMENT);
  
}

/*******************************************************************
   读取测量结果
   输入 无     
   返回  错误类型
*******************************************************************/   
ERROR_TypeDef SDP810::ReadResults(uint8_t * result){
  ERROR_TypeDef  error = ERROR_NONE;
  int16_t  diffPressureTicks;
  float  Presstemp = 0;
  int16_t  temperatureTicks;
  uint16_t scaleFactorDiffPressure;
  
  error = ReadMeasurementRawResults(&diffPressureTicks &temperatureTicks&scaleFactorDiffPressure);
  
  if(ERROR_NONE == error)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      29992  2017-08-14 16:29  气压传感器SDP810的Arduino控制代码\01  引脚图.jpg

     文件      11959  2017-08-14 16:50  气压传感器SDP810的Arduino控制代码\SDP810_500pa\SDP810.cpp

     文件       4873  2017-08-09 18:04  气压传感器SDP810的Arduino控制代码\SDP810_500pa\SDP810.h

     文件       1706  2017-12-27 17:45  气压传感器SDP810的Arduino控制代码\SDP810_500pa\SDP810_500pa.ino

     文件     778752  2017-07-18 15:51  气压传感器SDP810的Arduino控制代码\Sensirion_Differential_Pressure_Sensors_SDP8xx_Digital_Datasheet_0v5.pdf

     目录          0  2018-06-06 09:49  气压传感器SDP810的Arduino控制代码\SDP810_500pa

     目录          0  2018-06-06 09:49  气压传感器SDP810的Arduino控制代码

----------- ---------  ---------- -----  ----

               827282                    7


评论

共有 条评论