【瑞康原创,转载需说明】
博世BMP280气压温湿度传感器
BMP280和BME280主要区别:
需要注意是的,在读器件ID时,如果是BMP280,返回值应是0x58,如果返回0x60,则证明器件是BME280.
-
引脚说明:
Pin1:VCC(3.3V供电)
Pin2:GND
Pin3:SCL(I2C通信模式时钟信号)
Pin4:SDA(I2C通信模式数据信号)
Pin5:CSB(SPI通信模式下用到的引脚,本次没用到,可以悬空)
Pin6:SDO(传感器地址控制位,接GND的时候I2C中器件地址为0xEC,接高电平为0xEC+ 1,本次接GND
)
-
传感器测试范围:
温度:-45℃~+85℃
大气压强:0~20000hPa(百帕)
-
测量主要模式:
Sleep Mode:作电流达到uA级别,典型值为0.1uA,最大值为0.3uA,所有测量工作都停止。
Normal Mode: 正常工作,相关工作间隔时间可以通过寄存器控制。
Forced Mode:主控发起一次采集命令,传感器采集一次信号,然后进入Sleep Mode,等待下次唤起(本次没用到)。
-
BMP280内部寄存器如下图:
校准参数寄存器(0x88-0xE3)
测量的基本流程
-
初始化
-
数据全部清零:写数据0xb6到地址0xE0;
-
读芯片ID:读地址0xD0;返回值应为0x58或0x60。
-
设置测量控制寄存器:写数据0xFF到地址0xF4(测量数据位20Bit,Normal Mode);
-
设置配置寄存器:写数据0x00到地址0xF5;
-
读取补偿值数据
-
I2C循环读取传感器参数,代入公式计算获得结果,并且将结果通过串口输出到上位机。
附STC51完整源程序(测试通过):
附上位机VB.net源程序(测试通过):
评论列表
我要评论