Со своим пламенным пролетарским приветом спешу поделиться с вами интересной на мой взгляд информацией поднятой мной из мутных глубин интернета. Речь пойдёт о 4х битном подключении ЖК-монитора на HD44780 к Arduino через сдвиговые регистры с защёлкой и без таковой (74HC595, HEF4094 и 74HC164) по двух и трёх проводной схемам. Увы, мы часто сталкивались с проблемой нехватки выводов при прямом подключении ЖК-монитора, или с зависаниями вызванными недостаточно быстрой работой I2C интерфейса, но данная схемотехника лишена всех этих недостатков.
Достоинства:
1. Быстродействие (Частота обработки составляет 4 мГц против 100 кГц I2C).
2. Малое количество используемых выводов для подключения.
3. Отсутствие жёсткой привязки к интерфейсам SPI, I2C и ШИМу (Подключаемся к любым свободным выводам).
4. Простая схема и дешевизна.
Однопроводную схему подключения я не рассматриваю по причине применённой RC-фильтрации сигнала, что при сильном уровне индустриальных помех может привести к сбоям, но желающие могут поэкспериментировать сами на эту тему, т.к все примеры приложены к библиотеке, схемы есть на сайте разработчика. А вот об этих схемах поговорим чуть подробнее:
[spoiler]

[spoiler]

Для работы со сдвиговыми регистрами необходима библиотека NewliquidСrystal, это сборка-конструктор за авторством Francisco Malpartida модифицирующую стандартную библиотеку liquidСrystal в сторону оптимизации и добавления общего интерфейса для всех компонентов там использующихся. Библиотека не токсична в чём я сам убедился установив её в FLprog, все проекты запускаются без проблем. Для того кто всё таки сомневается в целесообразности замены, достаточно не переименовывать NewliquidСrystal в liquidСrystal, а закинуть эту папку как есть в директорию с библиотеками, но при этом вы лишитесь некоторых преференций в быстродействии и занимаемой памяти (примерно на 3%), что само по себе не критично. О всех возможностях библиотеки можно прочитать на сайте разработчика, там же можно скачать свежую версию, так же в папке самой библиотеки в папке utility в формате html приведён полный справочник по ней.
Мной были собраны и испытаны две схемы, библиотеку, рабочие примеры и схемы прилагаю. Добавлю, что при сборке схемы на 74HC164(2-Wire) подойдёт не абы какой диод, а именно 1N4148 или близкий по характеристикам (у меня с этим были проблемы). Регулировка контрастности я думаю от лукавого, по этому в место подстроечника pin3 LCD, через резистор 1 кОм подтягиваем к земле. Если Вы заинтересуетесь и напишите ПБ, то я в свою очередь их немедленно протестирую (макеты ждут своего звёздного часа), нарисую плату или шилд, закажу и после тестирования выложу сюда.