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

Подключение i2c к ESP8266

ask1

Member
Обнаружил, что в разных проектах бывает разное подключение, хотя SDA и SCL на ESP8266 довольно отчетливо прописаны в многочисленных пинаутах, доступных в интернете.
Например, на NodeMCU v3 предлагается подключать к RX и TX (которые GPIO3 и GPIO1) сегментный экран на TM1637.
А на плате Wemod D1 Mini SDA и SCL соответствтуют пинам D1 и D2, которые выводят GPIO4 и GPIO5.
Поэтому возник вопрос: а это действительно важно, к каким выводам подключать подобные устройства (сегментный экран, датчик давления и т.п.), которые требуют двух проводов для передачи данных?
Или можно выбрать просто удобный вариант, чтобы, допустим, контакты были с одной стороны?
 

ask1

Member
Обе платы так устроены, что 5 вольт и 3.3 вольта находятся с противоположных сторон, а значит, в некоторых вариантах исполнения, будет удобно сделать БП с одной стороны, а датчики подключить с другой.
 

FatMan

New member
У ESP8266 нет аппаратной реализации I2C, потому для подключения шины I2C можно использовать почти любую пару выводов GPIO, кроме GPIO16 и, пожалуй, тех, конфигурация которых влияет на запуск. GPIO4/GPIO5 - вполне подходящая пара выводов, не "обременённая" особыми функциями. Если эти выводы не используются как-то особо, о почему бы их не использовать для I2C?

У меня был случай, когда на подключенное по I2C периферийное устройство подали 12 вольт вместо штатных 5, в результате GPIO4 залип в вечное то ли LOW, то ли HIGH. Я просто в программе указал какой-то другой порт для SDA - и проблема решена.
 

BlueBeard

Member
в dataset на ESP-12 прописано что для I2C рекомендуются выводы IO2 (SDA) / IO14 (CLK)
eee.jpg

по личному опыту на выше названных ногах меньше "подвисаний" шины
 

ask1

Member
ESP-12 не подходит. Неожиданный GPIO14 не получается использовать в ESP-01, а в Wemos D1 Mini и NodeMCU v3 бывает удобно подключать контакты с одной стороны платы.
 
Сверху Снизу