Чаще всего микросхему PCF8574 используют в качестве переходника, чтобы подключить LSD1602 - 2004 по шине I2C и есть даже самая известная библиотека для этого LiquidCrystal_I2C.h или как расширитель цифровых пинов для микроконтроллера - PCF8574.h но в этой статье я постараюсь максимально просто рассказать как управлять ею имея на борту лишь одну библиотеку, а именно стандартную Write.h
для начала посмотрим на распиновку и разберём за что отвечают пины
P0-P7 - входы\выходы микросхемы.
A0 - A2 - Указатели адреса микросхемы.
INT - выход прирывания для МК
SDA - SCL - шина I2C
VDD - питание 2.5 - 6V
VSS - цифровой общий минус.
а теперь самое время взглянуть что нужно отправить по шине I2c чтобы управлять пинами P0 - P7.
ну так вот, по хорошему библиотека для PCF8574 даже особо и не нужна, нам достаточно просто обратиться по адресу на котором она находиться и отправить туда 8 битное число, которое и будет выходить на выходах микрасхемы.
прочитать пины можно так же с помощью команды data = Wire.read(); где data это переменная в которой мы будем хранить прочитаное число.
а теперь после всего сказанного выше, можно пораскинуть мозгами и действительно ответить на вопрос, а проще ли управлять PCF8574 без библиотеки? Это как посмотреть, есть библиотеки, которые позволяют одновременно какую-то часть пинов читать и одновременно на остальных выводить что-то.. к примеру если мы просто подключаем к микросхеме семи сегментный индикатор то нам наверное проще и без библиотеки обойтись, если что-то сложнее, лучше использовать библиотеку, кое в интернете их очень много.
но это лишь мои мысли по этому поводу)))