传感器定制
投稿量: 粉丝量: 关注量:

BME280温湿度压力传感器

BME280

BME280传感器

BME280是博世公司的一款小尺寸、高性能的数字式温度、湿度、压力传感器。传感器模块安装在一个非常紧凑的金属盖LGA封装中,占地面积仅为2.5×2.5 mm²,高度为0.93 mm,非常适合空间有限的移动设备,如智能手机,平板电脑、智能手表和可穿戴设备。

BME280有两颗MEMS芯片和一颗ASIC芯片。其中,MEMS压力传感器采用博世APSM工艺制程,集成柔性压力薄膜和硅基温度二极管;相对湿度传感器采用了一种创新的电阻式测量技术,响应快速、准确,且芯片尺寸非常小。三种功率模式和用于压力与温度测量的各自配置过采样率可使BME280适应广泛的应用场合。该BME280提供出色的整体精度。压力读数的相对精度为±12hPa,相当于高度差为±1m处分辨率为37.5px。

BME280是增强高性能GPS应用的理想选择,它可以实现更精确和更快的位置测定,BME280特别适合电池驱动的应用场合。

参数指标

BME280

应用领域

● 健康监测
● 智能家居
● 物联网
● GPS增强
● 室内、室内导航
● 天气预报
● 垂直速度指示(如上升/下沉速度)

读、写和延时函数

signed char BME280_I2C_bus_read(unsigned char device_addr,unsigned char reg_addr,unsigned char *reg_data,unsigned char cnt)
{
  int iError=0;
  unsigned char array[I2C_BUFFER_LEN];
  unsiqned char stringpos;
  array[0]= reg_addr;
  iError = I2C_write_read_string(I2C0,device_addr, array, array,1,cnt);
  for(stringpos=0;stringpos<cnt;stringpos++)
  {
    *(reg_data + stringpos)= array[stringpos];
  }
  return (siqned char)iError;
 }

signed char BME280_I2c_bus_write(unsigned char device_addr,unsigned char reg_addr,unsigned char *reg_data,unsigned char cnt)
{
  int iError=0;
  unsigned char array[I2C_BUFFER_LEN];
  unsiqned char stringpos;
  array[0]= reg_addr;
  for(stringpos=0;stringpos<cnt;stringpos++)
  {
    array[stringpos+1] = *(reg_data + stringpos);
  }
  iError = I2C_write_string(I2C0,device_addr, array, array,cnt+1);
  return (siqned char)iError;
}

void BME280_delay_msec(BME280_U16_t msec) //delay in milliseconds
{
  BME280_U32_t counter;
  for (counter =0; counter/2000 < msec; counter++);// 2000 counts = 1 msec
}

补偿公式

8.1 双精度浮点数中的补偿公式

BME280

8.2 32位定点压力补偿

BME280

数据手册

BME280 Datasheet.pdf


如果需要给传感器增加无线传输功能,可以通过增加无线物联网控制器实现。
● 内置电池或外接5V电源供电
● 无线传输方式支持4G、NB、WIFI、LORA
● 支持所有传感器接口

9775460cb15acb62aac9043559bac65f.jpg
【单片机-传感器】项目定制开发

dettek

声明:该文观点仅代表作者本人,我们只提供信息存储空间服务。
我来说两句
加载中~
相关阅读