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

Датчики i2c BME680, CCS811, HDC1080

Veoramid

New member
Добрый день.
Простите за глупый вопрос, но уже недели две не могу самостоятельно разобраться.
Приблизительно 2 года назад я подключил датчики BME680, CCS811, HDC1080 по шине i2c к ESP8266 с помощью Arduine IDE.
Датчики работали, передавали данные в "народный мониторинг".

Сейчас я захотел изменить программу, перекомпилировал - датчики "отвалились".
Переподключил к Arduino Nano, долго мучал, нашел (помогли) ошибку в библиотеке HDC1080 - на нано все датчики работают.

Переподключил к ESP8266 - не хотят. Точнее i2c тест проходят, адреса подтверждают, но стандартные библиотеки не могут их иннициалдизировать. Осциллограф показывает красивую картинку.1681931101061.png

Что можно проверить?Уже третья неделя мучений - не могу разобраться что изменилось за два года :(
 

enjoynering

Well-known member
советую почитать об азах стандарта I2C и особенно что такое clock stretching и зачем он нужен.
 

Veoramid

New member
советую почитать об азах стандарта I2C и особенно что такое clock stretching и зачем он нужен.
В данном случае я не вмешиваюсь в "стандартную" библиотеку Wire.
Нашел статью, в которой рассказали о параметре Wire.setClock(15000); - пробовал разные значения от 250до 15000 - без изменений.
 

Veoramid

New member
Это сейчас? А тогда? 2.5.х или 2.7.х или ... ? Пробуйте откатиться
За версиями не слежу, поэтому увы. Но в принципе "решилось".


Код "стандартный" из всех примеров: setup: *.begin() loop: *.read()

Но проблема "решена" без изменения кода примера и без изменения электросхемы:
Удалил Arduino IDE,
Поиском нашел всякие папки Arduino15, libraris в %Programs%,%AppData% и т.д. удалил их,
Установил новую Arduino IDE,
Уставил поддержку ESP8266 через Arduino IDE,
Установил поддержку датчиков Adafruit_* через Arduino IDE,

И "все заработало". :(
1682415286090.png
 
Сверху Снизу