Количество входных 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, мной отредактированы, протестированы в железе, добавил подробное описание.
Прошу отписаться о применении. Вопросы и критика приветствуются
Отправлено спустя 16 минут 52 секунды:
Прилагаю простенький пример для понимания