Призрачный Суслик писал(а): Пн июн 29, 2026 23:51:07
Может кто чего либо предложит умного :
Надо дополнительно подключить к нему 12 условных "кнопок".
Короче, вот накатал примерную схему вашего "костыля", получите распишитесь:
Файл пришлось упаковать, а то форум зачем-то пытается масштабировать картинку и упарывает её!
Выглядит схема на превый взгляд перегружено, но по сути всё просто и прямолинейно, даже суслик разберётся. Ваши "псевдо-кнопки" будут замыкать входы
на плюс. По I2C "нажатая кнопка" будет читаться как "0" в соотв. бите. Вместо
74HC14 можно впаять, в принципе, и 74HC04, но лучше не надо. Снабберы VD1...VD12 тоже можно выкинуть, но мой встроенный визионер подсказывает, что с ними будет не так ссикотно. Последовательные резюки с 47k можно, если понадобиться, увеличить и до 100, но тут уже начинайте думать об утечках по плате, УР-ом её быть может замазать не помешает. Если сильно приспичит, кондёры на землю с 0,1 можно увеличить и до 1 мкФ. Подтяжечные на землю резюки... думайте сами, какие там у ваших "кнопок" утечки и насколько замыкается контакт. Мой встроенный визионер подсказывает, что микротоки через них подавать не стоит, лучше не мелочиться. Провода, соединяющие логику с PCF, делайте как можно короче. Земляную заливку на плате сделайте. Соединять костыль с основной платой тоже как можно короче, I2C не любит помехи и длинные провода.
Базовые адреса I2C для чипов будут 0x20 и 0x21 для PCF8574T, либо 0x38 и 0x39 для PCF8574AT, смотря какой достанете.
Пусть ваш погромист записывает в оба чипа 0xFF, а потом просто их читает. Прерывание выкидывается лог. нулём, когда изменяется состояние кнопки по отношению к прошлой записи/чтению. А после чтения сбрасывается. Так что после чтения и при "отжатии "кнопки" оно тоже придёт.
Ну и 4 старших разряда второй PCF остались без дела. Наверно, если хотите, можно их использовать ещё для чего-нибудь. Подумайте сами. Удачи вам там...

P.S. Исправил в схеме кое-какие косяки и добавил последовательно с выходами логики резисторы "защиты от дурака". На случай, если ваш погромист захочет записать в чипы не 0xFF, а что-то иное. Можете на досуге подумать, почему это важно.