Получение данных с BME280 ========================= BME280 даёт три параметра окружающей среды: - температура (°C); - атмосферное давление (гПа); - относительная влажность (%). В кубсате он сидит на шине I²C по адресу ``0x76`` (см. таблицу в :doc:`coding-setup`). Перед этим тестом убедитесь, что :doc:`coding-i2c-check` нашёл BME280. Необходимые библиотеки ---------------------- В ``Tools → Manage Libraries…`` поставить: - ``Adafruit BME280 Library`` (Adafruit); - ``Adafruit Unified Sensor`` (зависимость). Тестовый скетч -------------- .. literalinclude:: ../../../examples/bme280_read/bme280_read.ino :language: cpp :caption: examples/bme280_read/bme280_read.ino Скетч пробует адрес ``0x76``, потом ``0x77`` (на некоторых клонах модуля именно так). После инициализации печатает строку CSV-заголовка и далее раз в секунду — три значения. Как запустить ------------- 1. Залейте скетч. 2. Откройте Serial Monitor на скорости **115200**. Что должно быть видно --------------------- :: BME280 OK Temp_C,Pressure_hPa,Humidity_% 23.45,1013.25,38.20 23.45,1013.27,38.18 23.46,1013.25,38.21 ... В помещении ожидаемые диапазоны: .. list-table:: :header-rows: 1 :widths: 25 35 40 * - Параметр - Типичное значение - Что считать аномалией * - Температура - 18-28 °C - постоянное ``nan`` или скачки на ±20 °C * - Давление - 950-1050 гПа - значения < 800 или > 1100 — почти всегда битый сенсор * - Влажность - 20-70 % - 0 % или 100 % без причины Простая ручная проверка: подышать на модуль — температура и влажность должны заметно подскочить (на 1-3 °C и 5-15 % соответственно), потом плавно вернуться к фоновым значениям. Если значения ``nan`` --------------------- - Сенсор не инициализировался (адрес неверный, шина легла) — вернитесь к :doc:`coding-i2c-check`. - Перегретый или повреждённый модуль — сравните с другим, если есть. - Питание не 5 В (модуль терпит и 3.3 В, но клон может работать нестабильно).