感知周围的环境 | Arduino 和 BMP280气压温度传感器 GY-BM E-P 280
/uploads/2018/02/2019-06-13-15_15_24-照片.jpg

引言

我用的模块是 GY-BM E/P 280,百度了一圈没有发现特别靠谱的教程,后来还是从 Adafruit 的网站上发现了它的 Arduino 库文件。它其实就是 BMP280 气压温度传感器的中国加工的板子,传感器用的是 BME280,最后的那个 E 其实就是英文环境“Environment”的首字母,它可以测量气压、温度和湿度。这样想想是不是以后就可以不用 NTC 热敏电阻和其他传感器来测环境参数了?(当然它们有它们的好处)

/uploads/2018/02/2019-06-13-15_15_33-20180225161320405.png-‎-照片.jpg

需要的材料和硬件连接

需要注意的是这块板子的额定电压是 3.3v,且同时支持两种连接方式: I²C 和 SPI ,其中 I²C 我并没有测试成功,所以下面的所有连接方式都是 SPI 的连接方式和程序。

左边的是 BMP280 的 6 个接口,右边是 Arduino 的 6 个接口,两者用杜邦线连接即可。将 USB 线缆连接到电脑,选择好合适的开发板以及端口,上传并打开串口监视器,查看数值变化。

GY-BM E/P 280Arduino UNO/nano/mega/leonardo etc
VCC3.3v
GNDgnd
SCL13
SDA11
CSB10
SDO12
/uploads/2018/02/2019-06-13-15_15_49-20180225161703668.jpg-‎-照片.jpg

测试程序

  1. 原始的库文件以及示例程序:adafruit/Adafruit_BMP280_Library https://github.com/adafruit/Adafruit_BMP280_Library 需要注意的是: 将 Adafruit_BMP280.h 文件中的 Line 37 改成 #define BMP280_ADDRESS (0x76)
  2. 改装过的
/*
需要 Adafruit_Sensor.h & Adafruit_BMP280.h
VCC---3.3v
GND---gnd
SCL---13
SDA---11
CSB---10
SDO---12
*/

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>  //需要导入两个Adafruit的库,可以在github上搜索
#include <Adafruit_BMP280.h>

#define BMP_SCK 13  //硬件连接,不需要改动
#define BMP_MISO 12
#define BMP_MOSI 11
#define BMP_CS 10

//Adafruit_BMP280 bmp; // I2C
//Adafruit_BMP280 bmp(BMP_CS); // hardware SPI
Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);  //选择此模式

void setup() {
  Serial.begin(9600);
  Serial.println(F("BMP280 测试"));

  if (!bmp.begin()) {
    Serial.println(F("找不到对应的传感器"));
    while (1);
  }
}

void loop() {
    Serial.print(F("温度 = "));
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");

    Serial.print(F("气压 = "));
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");

    Serial.print(F("海拔 = "));
    Serial.print(bmp.readAltitude(1013.25)); // this should be adjusted to your local forcase
    Serial.println(" m");

    Serial.println();
    delay(2000);
}

参考资料

  1. adafruit/Adafruit_BMP280_Library https://github.com/adafruit/Adafruit_BMP280_Library
  2. https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout/arduino-test
  3. http://www.electroschematics.com/13269/bmp280-diy-project-primer/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇