Найти в Дзене
miti-mti

PCF8574+Arduino без библиотеки

Чаще всего микросхему PCF8574 используют в качестве переходника, чтобы подключить LSD1602 - 2004 по шине I2C и есть даже самая известная библиотека для этого LiquidCrystal_I2C.h или как расширитель цифровых пинов для микроконтроллера - PCF8574.h но в этой статье я постараюсь максимально просто рассказать как управлять ею имея на борту лишь одну библиотеку, а именно стандартную Write.h

для начала посмотрим на распиновку и разберём за что отвечают пины

распиновка PCF8574 и таблица Адресов I2C   (L - низкий уровень H - высокий уровень)
распиновка PCF8574 и таблица Адресов I2C (L - низкий уровень H - высокий уровень)

P0-P7 - входы\выходы микросхемы.

A0 - A2 - Указатели адреса микросхемы.

INT - выход прирывания для МК

SDA - SCL - шина I2C

VDD - питание 2.5 - 6V

VSS - цифровой общий минус.

а теперь самое время взглянуть что нужно отправить по шине I2c чтобы управлять пинами P0 - P7.

-3

ну так вот, по хорошему библиотека для PCF8574 даже особо и не нужна, нам достаточно просто обратиться по адресу на котором она находиться и отправить туда 8 битное число, которое и будет выходить на выходах микрасхемы.

прочитать пины можно так же с помощью команды data = Wire.read(); где data это переменная в которой мы будем хранить прочитаное число.

а теперь после всего сказанного выше, можно пораскинуть мозгами и действительно ответить на вопрос, а проще ли управлять PCF8574 без библиотеки? Это как посмотреть, есть библиотеки, которые позволяют одновременно какую-то часть пинов читать и одновременно на остальных выводить что-то.. к примеру если мы просто подключаем к микросхеме семи сегментный индикатор то нам наверное проще и без библиотеки обойтись, если что-то сложнее, лучше использовать библиотеку, кое в интернете их очень много.

но это лишь мои мысли по этому поводу)))