• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос BME280 неподключается к WeMos D1 Mini Pro

SuperBoss

Member
Друзья,

Что-то не пойму куда копать начинать. Есть новый датчик BME280 с четырьмя шпыньками, т.е. подглючающийся чере I2C.
Подключаю его к v3.3, GND, D4 для SDA и D5 для SCL.
Запускаю пример от Adafruit для BME280 с инициализацией Adafruit_BME280 bme; т.е. для I2C.
В результате получаю, что датчик не найден и при попытке получить с него значение - эксепшн. Протрейсить эксепшн не могу, т.к. IDE свежая и Tool для расшифровки адреса не работает.

Пробовал подключать к другим пинам с указанием их через Wire - результат однофигственный.

Проверял есть ли питание, есть ли контакт. Все в норме. Куда копать?

PS. Попробовал подключить к Uno и той же библиотекой. Результат одинаковый (подключал как к аналоговым, так и цифровым пинам 4 и 5).
 
Последнее редактирование:

SuperBoss

Member
В общем, хитропопие прояснилось. Библиотека от AdaFruit, которую используются все кому лень и кому не лень, работает с датчиком у которого адрес x77. А у моего датчика адрес x76.
Выяснилось при помощи i2c сканера. Для того, чтобы заработало на просто Arduino, на ESP еще не пробовал, нужно внести две модиифкации в пример:
#define BME280_ADDRESS (0x76)
if (!bme.begin(BME280_ADDRESS )) {

После этого работает.
 

Arthur

Active member
В общем, хитропопие прояснилось. Библиотека от AdaFruit, которую используются все кому лень и кому не лень, работает с датчиком у которого адрес x77. А у моего датчика адрес x76.
Выяснилось при помощи i2c сканера. Для того, чтобы заработало на просто Arduino, на ESP еще не пробовал, нужно внести две модиифкации в пример:
#define BME280_ADDRESS (0x76)
if (!bme.begin(BME280_ADDRESS )) {

После этого работает.
Отлично! Вы смогли это сделать! :) Молодцы, с наступающим Новым Годом вас ).
 
Сверху Снизу