Вот, к примеру, чип AD5203AR10 - четыре цифровых переменных резистора (ЦПР), интерфейс SPI. Довольно удобно. Но в розницу один такой чип стоит 83 рубля. С другой стороны, есть MCP4011 - похоже, самый дешёвый из ЦПР, в розницу стоит рублей 15. Но мне нужно, во-первых, четыре штуки. Во-вторых, весьма полезно всё управление вести по минимуму проводов, а каждый MCP4011 требует на себя две линии управления. В принципе, одна из этих линий может быть общей для всех (то есть нужно четыре линии, разведённых отдельно на каждый ЦПР, и ещё один провод, подключённый сразу ко всем четырём, итого пять линий). Если сравнить с SPI, то два лишних провода. Задача чуть упрощается при помощи микросхемы 74HC595, коей легко реализуется преобразование последовательного кода в параллельный (у неё последовательный вход загрузки данных и восемь выходных параллельных линий).
595-ая стоит меньше 10 рублей в розницу, так что некий аналог вышеупомянутого AD5203 можно собрать за... да почти те же деньги, в общем. Но остаётся ещё четыре "лишних" бита, к которым можно подключить ещё четыре MCP4011 и это внезапно может оказаться полезным.
По деньгам почти одинаково, сложность схемы меняется незначительно, сложность программы даже сложностью не назвать... что выбрать-то, блин?