INT 21h

Hi, I am Vladimir Smagin, SysAdmin, DevOps and barely good guy. Telegram Email / GIT / Микроблог / Thingiverse / GPG

Подключение BMP280 (BME280) к ESP8266

№ 8459 В разделах: Программирование Электроника ESP8266 от September 9th, 2017,

Ничего сверхестественного тут нет, кроме нескольких моментов, которые упускают новички просто не заглядывая в код скачанных библиотек для Arduino IDE или документацию к ним.

Итак, чаще всего для BMP280 и BME280 используется библиотека от Adafruit. Датчики отличаются лишь наличием гигрометра. Помимо этого еще сама библиотека инклудит другую библиотеку Adafruit sensor unified, но это не обязательно, т.к. она в реальности не используется. Если не хотите править код библитеки и в принципе пофигу на размер итоговой программы, то можно ее и установить. Я же просто закомментировал неиспользуемый class Adafruit_BMP280_Unified : public Adafruit_Sensor и забыл. Итого получим такой инклуд для работы датчика:

#include <Wire.h>
#include <Adafruit_BMP280.h>

Печалька в том, что народ не читает документацию и не смотрит код подключаемых библиотек СОВСЕМ и даже если смотрят код, то видят там фигу. Давайте объясню эту фигу. Датчики идут с адресами 0x76 и 0x77. 99% пациентов лезут в код править дефайн с дефолтным адресом, хотя могли бы взять и посмотреть определение самой функции bool begin(uint8_t addr = BMP280_ADDRESS);. Это значит, что если в begin не был передан адрес датчика, то только в этом случае будет использован дефайн с тем адресом. Давайте не будем предаваться массовому дебилизму и сделаем как надо 🙂

#define BME280_ADDRESS 0x76
Adafruit_BMP280 bme;

void bmp280Init() {
  if (!bme.begin(BME280_ADDRESS )) {
    Serial.println(F("\nCould not find a valid BMP280 sensor, check wiring!"));
    while (1) delay(10);
  }
}

Время читать!

void bmpSend() {
  float termoValue = 0; //C
  float pressureValue = 0; //mmHg
  pressureValue = bme.readPressure() / 133.32239F;
  termoValue = bme.readTemperature();
}

Температура будет отдана в Цельсия, а давление в привычных нам миллиметрах ртутного столба. Вот, собственно, и всё.

Полный код примера можно посмотреть здесь.

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Микроблог перейти

# 2019-11-20 13:13:54

Говорят вещь хорошая, надо будет поковырять на днях keel.sh/ #kubernetes #devops

# 2019-11-16 02:02:31

Хорошая шпаргалка по пластикам для печати drive.google.com/file/d/1NKB3- В принципе, данные практически сходятся с моими blindage.org/?p=10199

# 2019-11-14 15:29:01

Код quay теперь открыт www.projectquay.io/ #devops #kubernetes


© Vladimir Smagin, 2005-2019. Копирование материалов без разрешения запрещено. GPG DA4CD0F5E222EA727D6A40C413BCE12E5618F071 *
Яндекс.Метрика

Fortune cookie: Johnny Carson's Observation on Geriatrics: Sex in the sixties is great, but it improves if you pull over to the side of the road.