Подключение BME280 к Ардуино
Подобные сенсоры часто применяются в различных проектах по модернизации либо созданию в домашних условиях метеостанций (прогнозированию погоды), в современных системах навигации GPS, в различных спортивных приложениях. Они не потребляют значительные системные ресурсы (в особенности электроэнергию), имеют компактные размеры, легки в сборке и функционировании, достаточно доступны по стоимости.
К слову, мы уже рассматривали другие модификации цифровых барометров – можете перейти по ссылкам, почитать на досуге подробнее. А мы продолжаем.
Поговорим о технических параметрах сенсора:
- напряжение питания: 1,7 – 3,6V;
- потребляемый ток: 0,1 мкА;
- тип шины: I2C и SPI;
- диапазон измерения давления: 300-1100hPa;
- -- влажности: от 0 до 100%;
- -- температуры: -40 - +85 °C;
- отклик: 1 секунда;
- габариты: 2,5 х 2,5 х 0,93мм.
Ну а теперь приступим к главному – сборке всех аппаратных компонентов. Для реализации схемы подключения через интерфейс I2C, нам понадобится такое «железо»: плата расширения Arduino Uno (Arduino Nano и другие совместимые микроконтроллеры также сгодятся), модуль датчика давления, соединительные провода (перемычки), макетная плата, USB-кабель для подключения к компьютеру.
Вот как выглядит принципиальная схема на скриншоте:
Для выполнения поставленных задач и в целом для упрощения процесса программирования, советуем пользоваться проверенными специализированными библиотеками. В нашем случае речь идет сразу о нескольких вариантах: Adafruit BME280 Library, Adafruit Sensor, Wire и SPI (эти 2 для управления интерфейсами).
https://github.com/adafruit/Adafruit_BME280_Library
https://github.com/adafruit/Adafruit_Sensor
Скачиваем файлы, разархивируем их в папке директории libraries (в среде IDE).
Проверим функциональность и работоспособность сенсора. Прописываем такой скетч:
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // I2C
//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI
unsigned long delayTime;
void setup() {
Serial.begin(9600);
Serial.println(F("BME280 test"));
bool status;
// default settings
status = bme.begin();
if (!status) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
Serial.println("-- Default Test --");
delayTime = 1000;
Serial.println();
delay(100); // let sensor boot up
}
void loop() {
printValues();
delay(delayTime);
}
void printValues() {
Serial.print("Temperature = ");
Serial.print(bme.readTemperature());
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(bme.readPressure() / 100.0F);
Serial.println(" hPa");
Serial.print("Approx. Altitude = ");
Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
Serial.println(" m");
Serial.print("Humidity = ");
Serial.print(bme.readHumidity());
Serial.println(" %");
Serial.println();
}
Управляется модуль стандартно - через последовательный порт. Открываем его через меню Инструменты (либо кнопками Ctrl+Shift+M). Все значения будут доступны на экране. Значит, все сделано правильно – можно тестировать далее!Метеостанция BME280 и Ардуино – два компонента, собрав которые воедино, вы получите уникальную платформу для экспериментов и интереснейших проектов.
Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...
На повестке дня - подключение LM35 к Arduino. Сегодня мы рассмотрим модуль устройства, его базовые характеристики, область применения и схему подключения. И...
Сегодня поговорим о том, как подключить датчик давления BMP280 к Ардуино, для чего он необходим, какие библиотеки и прошивки применяются для его работы. Мы уже...
Сегодня у нас на рассмотрении подключение MQ-135 к Arduino и все, что с ним связано. Данная тема и в особенности модуль сенсора выбраны не случайно, ведь в...
На повестке дня - подключение AM2320 к Ардуино. Тема очень занятная по той простой причине, что подобные датчики являются просто «мастхевом» для современных...