Подумал о дешёвой двухпроводной шине для мелкой автоматизации на больших расстояниях.
Придумал простую схему, для передачи данных дёргать двумя GPIO через транзисторные ключи подключенные к высокочастотному трансформатору и таким образом генерировать импульсы с различной частотой. А для приёма данных, подсчитывать число принятых фотодиодом импульсов от светодиода подключенного к шине.
Но возникает проблема. Если кабель неизвестного качества и расстояния неизвестные. И число устройство подключенных на одну шину неизвестно, то для максимально надёжной передачи, нужно напряжение повыше. Но, в сети ведь есть падение напряжения и поэтому непонятно какое конкретно придёт на светодиод, 3 вольта или 50 вольт. Например от одного передатчика придёт 7 вольт, а от другого 40 вольт. А ещё в случае коллизии они могут наложится. А приёмник должен не выйти из строя. А в идеале нужно учесть и всякие проблемы со статическими потенциалами. Я конечно разбираюсь слабо, но что то мне подсказывает что в таких условиях светодиод долго не прослужит.
Нужна какая то простая схема, которая частоту переменного тока частотой несколько килогерц (от 0,3 до 5) и широкого диапазона напряжений, от 3 до 110 вольт преобразует в аналогичное количество открытий полевого транзистора на входном GPIO.
Примечание: Про схему шины с коротким замыканием двух жил знаю, но хочу сделать нечто более универсальное и в теории не требующие запитывания самой шины когда данные не передаются. А ещё что бы через фильтры, поток данных можно было загнать и в сеть переменного тока.

Короче, просчитал схему где резистор, потом два диода 1n4148 последовательно на GND.
C резистором 10k:
3 вольта на входе, 1.16 вольт на выходе.
110 вольт на входе - 1.51 вольт на выходе.
И даже - 1000 вольт на входе - 1.71 вольт на выходе, ток диода 100 мА (а у него длительный допустимый 200 мА).
То есть даже 10k резистор удовлетворяет. Если ток, потребляемый диодом при 110 вольтах (10 мА) это много для тебя - то тогда можно как @torvn77 говорит ставить 100k, с ним почти то же, только чуть ниже напряжение на выходе.
Но вообще помимо ограничивающих резисторов и диодов надо бы поставить ращделительный трансформатор чтобы не думать о совмещении GND контроллера и сети.
Сам ток меня не в плане энергопотребления волнует, а в плане того что бы светодиод не сгорел.
Если всё действительно так просто, то спасибо.
Только, еще раз поясню - то что я писал - это если взять обычный диод, не светодиод! И с него напрямую на ножку микроконтроллера подавать.
Если через светодиод оптопары, то так не получится, потому что у тебя либо не загорится светодиод при минимальном напряжении, либо он сгорит при максимальном, в зависимости от резистора.
Посоветуй как правильно гальванически развязать? ВЧ трансформатор выдранный из старого ethernet контроллера подойдёт?
Сомневаюсь.
Отталкивайся от трансформаторов в диалаповских модемах.
Вообще тебе не обязательно разделять трансформатором, можно разделить и двумя конденсаторами на 500V и выше.
Лучше уж через оптрон думать, но 50 Гц надо давить. Я сейчас на работу, чуть позже подумаю получше, может что подскажу.