Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Пользовательские блоки для подключения различных микросхем в Ардуино, таких как АЦП, ЦАП, расширители входов-выходов и прочие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09.04.2016{, 12:17}
Репутация: 22
Откуда: Кременчуг
Имя: Сергей

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#1

Сообщение seri0shka » 01.04.2018{, 23:21}

Расширитель входов и выходов на регистрах 74НС165 и 74НС595 с комбинированным подключением (тактовый вывод и вывод защёлки общие для входных и выходных регистров).
Количество входных 74НС165 и выходных 74НС595 регистров настраивается в параметрах пользователя от 1 до 6 штук и может быть разным (например, 6 входных и 2 выходных)
Подключается к Arduino всего четырьмя проводами:
- pin14 74HC595 => Dout_pin
- pin9 74HC165 => Din_pin
- pin1 74HC165 и pin12 74НC595=> PL_pin
- pin2 74HC165 и pin11 74НC595 => Clock_pin
Номера выводов Ардуино настраиваются в параметрах пользователя, доступны все выводы, включая аналоговые (кроме А6, А7). Аппаратный SPI не использован. Кроме того, есть "быстрый" блок с исользованием библиотеки "CyberLib.h", работает примерно в 5 раз быстрее, но может конфликтовать с другими блоками (теоретически), кроме того, выводы подключения изменить можно только редактированием блока.
К мастер-блоку добавляется необходимое количество входных блоков 165_Read_Byte и выходных блоков 595_Write_Byte с соответствующими номерами.
На выходах блоков получаем переменные типа Byte, их можно преобразовать в биты блоками Boroda byte_to_8bit_
На входы блоков подаём переменные типа Byte, их можно получить из битов блоками Boroda 8bit_to_byte_
Тема подробно обговорена здесь: http://forum.flprog.ru/viewtopic.php?t=885&start=40, примерно с сообщения 44.
Всё, что надо, есть в папке. Подключение подробно расписано в описании блока. Протестировано в железе.
Финальные версии блоков практически полностью разработаны Sancho, мной отредактированы, протестированы в железе, добавил подробное описание.
Прошу отписаться о применении. Вопросы и критика приветствуются
165 и 595 кол-во настраивается.ubl
(408.35 КБ) 375 скачиваний
Отправлено спустя 16 минут 52 секунды:
Прилагаю простенький пример для понимания
165 и 595 тестовый.flp
(484.69 КБ) 409 скачиваний
СпойлерПоказать
165 и 595 тестовый.png

seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09.04.2016{, 12:17}
Репутация: 22
Откуда: Кременчуг
Имя: Сергей

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#2

Сообщение seri0shka » 06.04.2018{, 23:17}

Добавил ещё один мастер-блок для работы по трём проводам. К мастер-блоку добавляется необходимое количество входных блоков 165_Read_Byte и выходных блоков 595_Write_Byte с соответствующими номерами. При подключении микросхем входных регистров нужно добавить три деталюхи, на рисунке выделены, в описании блока расписано подробно.
СпойлерПоказать
по 5 проводам-1.jpg
165_595_Master_3_lines_(CODE).ubi
(19.08 КБ) 297 скачиваний
Проверил в железе, работает, но хотелось бы ещё чьи-то результаты применения узнать.

seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09.04.2016{, 12:17}
Репутация: 22
Откуда: Кременчуг
Имя: Сергей

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#3

Сообщение seri0shka » 09.04.2018{, 17:51}

Испытания показали, что схема работает и при замкнутой цепочке из резистора с диодом, хотя не должна. :wizard:

tolochko
Сержант
Сообщения: 247
Зарегистрирован: 30.11.2016{, 16:58}
Репутация: 7
Откуда: Днепропетровск

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#4

Сообщение tolochko » 22.01.2020{, 15:13}

Здравствуйте уважаемые пользователи FlProg
Есть простенький проект для работы со счетчиками воды
На проекте их 7 а должно быть в 4 раза больше т е 28
У UNO не хватает ног
Вопрос : что лучше взять МЕГу или использовать сдвиговые регистры
Плата будет работать круглосуточно
Заранее благодарю за ответы
Да может по оптимизации что то подскажете
Вложения
Дренаж.flp
(801.03 КБ) 134 скачивания

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#5

Сообщение Ingwar » 10.09.2020{, 12:45}

Собрал платку для теста регистров (2 на вход и 2 на выход).
В результате возникло пару вопросов:

При "сквозном" подключении в программе,
СпойлерПоказать
Безымянный.png
Безымянный.png (4.15 КБ) 4255 просмотров
физические входа - выхода зеркальны
A - H
B - G
C - F
D - E
E - D
F - C
G - B
H - A
так и задумывалось?

При включении питания, до начала работы ПБ, состояние выходов случайно (чаще высокий уровень).
Это "неизбежное зло"?

Отправлено спустя 17 минут 27 секунд:
Забыл добавить, при таком соединении в программе еще и микрухи входа выхода реагируют крест накрест...

Отправлено спустя 2 часа 25 минут 14 секунд:
Другой тест
СпойлерПоказать
Безымянный.png
Результат
Входа соответствуют номерам микросхем и разрядам.
Выхода соответствуют номерам микросхем и разрядам.

Получается что-то не то именно при "сквозном" подключении.

Отправлено спустя 1 час 33 минуты 17 секунд:
В догонку )

Такой вариант (понимаю, что практически идентичен первому, но вдруг...)
СпойлерПоказать
Безымянный.png
Безымянный.png (22.21 КБ) 4201 просмотр
чуда не произошло....
Крест накрест и зеркало.

Отправлено спустя 5 часов 7 минут 3 секунды:
Благодаря Sancho, проблема выяснена. Надеюсь появится ТС и обновит описание.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#6

Сообщение Ingwar » 27.05.2021{, 12:36}

Может кто-то порекомендовать микрухи изоляторов для этого интерфейса из личного опыта?
Критерии банальны - приемлемая цена (меньше 3$), немного обвеса (без доп. источника питания) и достаточная скорость.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#7

Сообщение WildCat » 07.11.2022{, 01:23}

Парни, seri0shka, Sancho, спасибо за эту тему, за блоки, за описание!

Собрал тестовую схему на блоке из этого сообщения (в одном блоке 4 входа, 4 выхода)
viewtopic.php?t=885&start=40#p44127

Всё работает, но есть нюанс.
Для выходных регистров (595) по этому блоку опрос идёт с последней микросхемы в каскаде. Т.е в блоке in 1 - это последняя микросхема, а in 4 - первая.

В редакторе блока поменял очередность в коде (4 строчки с опросами in1..in4), теперь всё по порядку идёт.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#8

Сообщение ecoins » 07.11.2022{, 02:20}

WildCat писал(а):
07.11.2022{, 01:23}
Всё работает, но есть нюанс.
Для выходных регистров (595) по этому блоку опрос идёт с последней микросхемы в каскаде. Т.е в блоке in 1 - это последняя микросхема, а in 4 - первая.
В блоках ecoins есть блоки работы с HC595 и HC165 - работают как через аппаратный SPI (разных платформах), так и через программный SPI.
При работе с ними следует учитывать некоторые нюансы, но удалось преодолеть.

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#9

Сообщение WildCat » 07.11.2022{, 02:39}

ecoins, спасибо, тему блоков ecoins мониторю, но пока изучать нет возможности.
Сейчас проект запущу на том, что знаю, а потом можно уже и углубиться.

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#10

Сообщение krom23 » 07.11.2022{, 12:29}

WildCat писал(а):
07.11.2022{, 01:23}
Всё работает, но есть нюанс.
Возможно отсчёт начинается с младшего регистра, то есть с права налево.

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#11

Сообщение WildCat » 07.11.2022{, 14:41}

krom23 писал(а):
01.04.2018{, 23:37}
отсчёт начинается с младшего
Внутри регистра отсчёт идёт слева направо. А между регистрами - с последнего.
Принципиально это не имеет значения, просто непонятка возникла, когда из 4 возможных регистров у меня было подключено два, и они не работали. Изменил порядок - всё заработало.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

#12

Сообщение Sancho » 12.12.2022{, 08:27}

WildCat писал(а):
07.11.2022{, 01:23}
Всё работает, но есть нюанс.
Для выходных регистров (595) по этому блоку опрос идёт с последней микросхемы в каскаде. Т.е в блоке in 1 - это последняя микросхема, а in 4 - первая.
viewtopic.php?t=885&start=60#p44323
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ответить

Вернуться в «Микросхемы расширений»