- Необходимые компоненты
- Модуль датчика давления BMP280:
- Схема подключения BMP280 к Arduino:
- Программа Arduino для взаимодействия BMP280 с Arduino:
- Работа над проектом сопряжения датчиков давления Arduino BMP280
Если вы хотите создать свою собственную систему мониторинга температуры или измерить высоту вашего дрона или просто хотите измерить атмосферное давление в вашем районе, то одним из лучших модулей для использования в вашем проекте является модуль датчика давления BMP280. BMP280 - датчик контроля абсолютного давления и температуры, который является обновленной версией датчиков BMP085, BMP180, BMP183. Почему это называется обновленной версией? Это будет обсуждаться в следующих разделах. Мы уже использовали старую версию BMP180 с Arduino в одном из наших предыдущих руководств.
Модуль датчика BMP280 может использоваться вместе с микроконтроллерами, такими как Arduino, PIC, AVR и т. Д. Для этого проекта мы собираемся использовать Arduino Uno с BMP280 вместе с модулем ЖК-дисплея 16x2 для отображения значений температуры и давления. Перед подключением BMP280 к Arduino нам необходимо загрузить библиотеку BMP280 Arduino, разработанную Adafruit. Щелкните ссылку библиотеки Adafruit BMP280, чтобы открыть соответствующую страницу Github и добавить файл заголовка в свою среду разработки Arduino.
Необходимые компоненты
- Ардуино
- BMP280
- Подключение проводов
- Хлебная доска
- ЖК-дисплей - 16x2
Модуль датчика давления BMP280:
Модуль датчика BMP280 работает с минимальным напряжением (VDD) 1,71 В, тогда как модули датчиков предыдущей версии работают с напряжением 1,8 В (VDD). Что касается потребления тока, BMP280 потребляет 2,7 мкА, тогда как BMP180 потребляет 12 мкА, а BMP183 и BMP085 потребляют по 5 мкА каждый. BMP280 также поддерживает новые режимы фильтрации. Модуль датчика BMP280 поддерживает протоколы I2c и SPI, тогда как оставшийся датчик поддерживает I2c или SPI. Модуль датчика BMP280 имеет точность ± 0,12 гПа., что эквивалентно разнице в высоте ± 1 м. Благодаря этим ключевым функциям он в основном используется в различных приложениях. Датчик BMP состоит из элемента измерения давления, элемента измерения влажности и элемента измерения температуры, которые дополнительно подключены к интерфейсу давления, влажности и температуре. Эти входные ИС представляют собой чувствительные аналоговые усилители, которые используются для усиления слабых сигналов. Выход этой аналоговой интерфейсной ИС подается на АЦП в качестве входного сигнала. При этом аналоговые значения преобразуются в цифровое напряжение, и это напряжение подается на логические схемы для дальнейшего взаимодействия с внешним миром.
Модуль датчика BMP280 состоит из трех режимов питания, спящего режима, принудительного режима и нормального режима. В спящем режиме измерения не производятся, а потребление энергии минимально. В принудительном режиме выполняется одно измерение в соответствии с выбранными параметрами измерения и фильтрации. В нормальном режиме выполняется непрерывный цикл между измерением и периодом ожидания, а период времени цикла определяется Tstandby. Сила тока в режиме ожидания немного выше, чем в спящем режиме.
Схема подключения BMP280 к Arduino:
Принципиальная схема для соединения Arduino с датчиком BMP280 и ЖК-дисплеем показана ниже. Если вы совершенно не знакомы с Arduino и ЖК-дисплеями, вы можете проверить это руководство по ЖК-дисплею Arduino, чтобы понять, как использовать Arduino с ЖК-дисплеями.
Контакты VCC и GND датчика подключены к контактам 3v3 и GND Arduino. Контакты SCL и SDA датчика подключены к A5 и A4 платы Arduino. Подключения ЖК-дисплея следующие
Имя вывода ЖК-дисплея |
Штырь Arduino |
VSS и RW |
GND |
RS |
D9 |
E |
D8 |
Д4, Д5, Д6, Д7 |
Д5, Д4, Д3, Д2 |
Программа Arduino для взаимодействия BMP280 с Arduino:
Полный код BMP280 Arduino можно найти внизу этой страницы, который можно загрузить прямо на вашу плату Arduino. Объяснение того же приведено ниже.
Эти библиотеки включены для включения специальных функций. Из файлов заголовков #include мы можем напрямую считывать значения, поступающие с датчика. #Include
#включают
Создание на объекте BMP для Adafruit_BMP280. Объектный файл создается для доступа к специальным функциям.
Adafruit_BMP280 BMP; // I2C
Настройка контактов Arduino для связи с ЖК-дисплеем. Данные будут передаваться с помощью этих контактов.
ЖК-дисплей LiquidCrystal (9, 8, 5, 4, 3, 2);
Инициализация ЖК-дисплея и последовательной связи.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F («тест BMP280»)); lcd.print («Добро пожаловать»); lcd.setCursor (0,1); lcd.print ("ДАЙДЖЕСТ ЦЕПИ"); задержка (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F («Не удалось найти действующий датчик BMP280, проверьте проводку!»)); в то время как (1); }
Эта функция работает, когда инициализация объекта bmp не удалась.
/ * Настройки по умолчанию из таблицы. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Рабочий режим. * / Adafruit_BMP280:: SAMPLING_X2, / * Передискретизация температуры * / Adafruit_BMP280:: SAMPLING_X16, / * Передискретизация давления * / Adafruit_BMP280:: FILTER_BMP280:: FILTER_ * / Adafruit_BMP280:: STANDBY_MS_500); /* Время ожидания. * /}
Эта часть кода выводит температуру на серийный монитор и предназначена для отладки.
void loop () {Serial.print (F ("Температура =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Функции bmp.readPressure и bmp.readTemprature используются для вызова специальных функций и возврата значений температуры и давления.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Работа над проектом сопряжения датчиков давления Arduino BMP280
Функции bmp.readTemprature () и bmp.readPressure () используются для возврата значений температуры и давления. Эти функции представляют собой группу операторов, которые выполняют специальную задачу, в нашем случае возвращают файлы температуры и давления. Эти функции вызываются с помощью функций bmp.readTemprature () и bmp.readPressure () . Lcd.setCursor устанавливает курсор дисплея в требуемое положение на экране. lcd.print команда печатает данные с позиции, установленной программистом. Если для ЖК-дисплея не задано положение по умолчанию, он принимает (0,0) в качестве исходного положения и непрерывно печатает данные. Следующие данные занимают позицию следующего столбца, и процедура продолжается до тех пор, пока не достигнет конца строки и не перейдет к следующей строке.
BMP280 можно использовать в летающих игрушках, мобильных телефонах, планшетах, ПК, устройствах GPS, портативных медицинских устройствах, домашних метеостанциях и т. Д. Следуя этой процедуре и используя файлы заголовков и некоторые специальные функции, мы можем легко связать BMP280 с Ардуино. Полную работу также можно найти в видео, приведенном ниже, надеюсь, вам понравилось это руководство по BMP280 Arduino и вы узнали что-то полезное. Если у вас есть какие-либо вопросы, оставьте их в разделе комментариев ниже или используйте форумы для других технических вопросов.