Освой Arduino играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Датчики атмосферного давления (барометры)

BMP280
Библиотека BMP280 от Adafruit
BMP180
BME280

Наиболее популярные модели датчиков атмосферного давления - BMP280, BMP180, BME280. С их помощью можно предсказать погоду или измерить высоту над уровнем моря.

BMP280

BMP280

Датчик BMP280 создан специально для случаев, когда требуются малые размеры и пониженное потребление энергии. Датчик обладает высокой точностью, хорошей стабильностью и линейностью.

Технические характеристики

  • Габариты: 2×2,5×0,95 мм
  • Давление: 300-1100 гПа
  • Температуры: от 0°С до 65°С
  • Интерфейсы: I2C и SPI
  • Напряжение питания: 1,7В – 3,6В
  • Средний ток: 2,7мкА
  • 3 режима работы – режим сна, режим FORCED (проведение измерения, считывание значения, переход в спящий режим), режим NORMAL (перевод датчика в циклическую работу – то есть устройство самостоятельно через установленное время выходит из режима сна, проводит измерения, считывает показания, сохраняет измеренные значения и переходит снова в режим сна)

Купить на AliExpress

Подключаем по протоколу SPI. Понадобятся шесть проводов.


      SPI
BMP280 | Arduino 
----------------
   VCC | 5V
   GND | GND 		 
   SCL | D13 
   SDA | D11
   CSB | D10
   SDO | D12

Библиотека BMP280 от Adafruit

После установки будет доступен один пример bmp280test. Он подходит как для SPI, так и для I2C, нужно только выбрать правильный вариант и снять комментарии при необходимости.


...

#define BMP_SCK  (13)
#define BMP_MISO (12)
#define BMP_MOSI (11)
#define BMP_CS   (10)

Adafruit_BMP280 bmp; // вариант I2C

// Вариант для SPI, снять комментарии
//Adafruit_BMP280 bmp(BMP_CS); // hardware SPI
//Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);

...

BMP180

Датчик BMP180 – дешёвый и простой сенсорный датчик, который измеряет атмосферное давление и температуру. Состоит из пьезо-резистивного датчика, термодатчика, АЦП, энергонезависимой памяти, ОЗУ и микроконтроллера. Поддерживает интерфейс I2C.

Технические характеристики

  • Диапазон измеряемых значений: от 300 гПа до 1100 гПа (от -500м от +9000м над уровнем моря)
  • Напряжение питания: от 3.3 до 5 В
  • Сила тока: 5 мкА при скорости опроса — 1 Герц
  • Уровень шума: 0.06 гПа (0.5м) в грубом режиме (ultra low power mode) и 0.02 гПа (0.17м) а режиме максимального разрешения (advanced resolution mode)

      I2C
BMP180 | Arduino 
----------------
   VCC | 5V
   GND | GND 		 
   SCL | AO 
   SDA | AO

Есть старая библиотека на Гитхабе SparkFun BMP180_Breakout Arduino Library, которая давно не обновляется.

BME280

Датчик BME280 содержит в себе 3 устройства – для измерения давления, влажности и температуры. Разрабатывался для малого потребления тока, высокой надёжности и долгосрочной стабильной работы. Поддерживает интерфейс I2C.

Датчик BME280 похож на BMP180. Отличие между ними заключается в наличии у BME280 датчика влажности.

Дополнительные материалы

Реклама