PCF8575c меняет адрес в сканере I2C
Я хочу подключить удлинитель контактов PCF8575c к ESP32, чтобы зажечь 12 светодиодов. Проблема в том, что после подключения, когда я пытаюсь использовать сканер I2C, он показывает мне много разных адресов, а не постоянный. Может ли это произойти из-за неисправности штифта? Я использую эту библиотеку: https://github.com/xreef/PCF8575_library
Кроме того, сканер I2C можно найти здесь: https://playground.arduino.cc/Main/I2cScanner/
И выводы, которые я использую для светодиодов, определены следующим образом:
pcf8575.pinMode(P0, OUTPUT);
pcf8575.pinMode(P1, OUTPUT);
pcf8575.pinMode(P2, OUTPUT);
pcf8575.pinMode(P3, OUTPUT);
pcf8575.pinMode(P5, OUTPUT);
pcf8575.pinMode(P6, OUTPUT);
pcf8575.pinMode(P11, OUTPUT);
pcf8575.pinMode(P12, OUTPUT);
pcf8575.pinMode(P14, OUTPUT);
pcf8575.pinMode(P15, OUTPUT);
pcf8575.pinMode(P16, OUTPUT);
pcf8575.pinMode(P17, OUTPUT);
Ссылка на точную PCF8575c: https://www.aliexpress.com/item/2038559527.html?spm=a2g0o.productlist.0.0.3f8331ebu0zuwr&algo_pvid=5e9fc157- a422-4847-acf4-8618a2d365ea&algo_expid=5e9fc157-a422-4847-acf4-8618a2d365ea-2&btsid=0ab6f82415840969999872503e3228&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
1 ответ
Лучший ответ:
Посмотрите на заднюю часть модуля. Имеется 3 группы по 3 контактные площадки в каждой, отмеченные A0, A1 и A2. С помощью этих полей вы можете установить 3 младших бита адреса.
На изображениях в ссылке на ваш продукт эти пэды не связаны. Средний контакт является адресным контактом. Левая контактная площадка (которая подключена к дорожке) — Vcc, правая контактная площадка (которая подключена к большой области трассы) — заземление. Соединив среднюю контактную площадку с землей, вы устанавливаете адресный бит в ноль. Подключив его к Vcc, вы установите его равным 1.
Поскольку контактные площадки не подключены, адресные контакты не подключены. В этом состоянии контакт реагирует на случайный электрический шум, таким образом случайным образом меняя состояние. Таким образом, адрес также меняется случайным образом.
Вам необходимо соединить каждый вывод адреса либо с землей, либо с напряжением питания, добавив перемычку для пайки на контактные площадки.
- Встроенные светодиоды HIGH и LOW кажутся перевернутыми
- Светодиодная панель ESP32 с регулируемой яркостью и MOSFET
- Безопасно питать светодиодную ленту через ESP32 GPIO
- Светодиод максимальной мощности для esp32
- Матрица СИД силы с батареей LiPo и ESP32
- Подключение катода диода к выходу мультиплексора
- Экран 8*8 Матрицы панели сид WS2812B цифровой гибкий. Некоторые светодиоды, которые не должны включаться, включаются
- Что представляет собой встроенный светодиодный вывод для платы разработки ESP32-WROOM-32D?
Какие адреса он вам дает?, @Majenko
Настроили ли вы перемычки A0/A1/A2 на плате?, @Majenko
Я согласен с Маженко. Это действительно звучит как несвязанные и, следовательно, контакты с плавающим адресом., @chrisl