Вообще-то, способы уменьшения количества проводов там и так предусмотрены. Вот, например, четырёхбитный режим. Всё равно много? Есть дисплейные модули с I2C. Но нет предела совершенству, и если у вас найдётся лишнее Arduino (рано или поздно появляющееся у многих), дисплей можно отнести от источника данных на некоторое расстояние и подключить двухпроводным кабелем.
Один из способов передачи питания и данных по одной и той же паре проводов состоит в следующем. Сигнал с данными модулируют высокой частотой и объединяют, а на противоположном конце линии разделяют для подачи в демодулятор при помощи дросселей и конденсаторов. Но при питании постоянным током можно воспользоваться более простым способом, похожим на применяемый в домофонных ключах. Модулятор и демодулятор в этом случае не требуются, на передающей стороне достаточно ключа, коммутирующего цепь питания:
Транзисторы — AO3400A и AO3401A. Второй из них выдерживает 5 А (по другим данным — 4), а здесь коммутировать ему приходится всего 200 мА. Поток последовательных данных на ключ может быть подан с какого-либо микроконтроллера, но поскольку конструкция экспериментальная, автор воспользовался ПК, на котором запущен Python-скрипт, и конвертером USB-UART.
Прерыватель питания у автора получился неказистым, но очень крепким:
На противоположном конце линии пульсирующее напряжение подано на однополупериодный выпрямитель с фильтром (хотя выпрямление в данном случае не требуется, просто нужно, чтобы напряжение до диода оставалось пульсирующим, а после — нет), от которого питаются Arduino и дисплейный модуль. Arduino преобразует последовательные данные в параллельные, необходимые модулю. Внимание, у модулей на КБ1013ВГ6 цоколёвка бывает нестандартной. Пульсирующее напряжение до диода поступает на один из цифровых входов Arduino.
Так это выглядит в реале:
Прошивка максимально упрощена, она самостоятельно не вырабатывает даже команды инициализации контроллера дисплея (и все остальные команды), поэтому подавать их должна передающая сторона. Но при этом она распознаёт простейшие однобайтные команды, адресованные непосредственно ей. Здесь х — младший полубайт, команда — старший полубайт:
0xA[x] — подать полубайт x на выводы 4 — 7 модуля
0xB[x] — подать младший бит полубайта x на вход RS модуля
0xC[x] — подать младший бит полубайта x на вход EN модуля
0xD[x] — выставить яркость подсветки (регулируется ШИМом) пропорционально полубайту x
Всё необходимое ПО находится здесь. Чтобы показать, как всё работает, автор составил такой сценарий:
И запустил:
Комментарии (41)
VT100
28.04.2019 13:30+1Милый Kunststuck.
Может — даже полезный, если рассматривать с т.з. того, что не надо засирать радиодиапазон для такого низкоскоростного устройства.
pvvv
28.04.2019 14:47+1вместо ардуины можно было 595 сдвиговым регистром и парой RC цепочек обойтись.
A__D
28.04.2019 15:27+2А куда тогда девать ардуину? Она должна быть… везде, даже в генераторе меандра простейшем (555 юзают только деды и не продвинутые).
cyberly
28.04.2019 21:29+1555 юзают только деды
Не, деды делают на рассыпухе…Paskin
29.04.2019 12:45На самом деле — китайцам положена какая-нибудь премия вроде той что дали Курниковой за «вклад в развитие высокоскоростного интернета». «Левые» тиражи любого заказанного устройства привели к замене всего чего можно микропроцессорами…
FuneralService
28.04.2019 15:02+1Это интересное решение. Даже придраться особо не к чему. Взял на заметку и повторю.
Что изменю у себя:
1. Инициализацию дисплея полностью перенесу на видео-мк.
2. Вместо ардуино, поставлю 20-ти ногую stm32f042/f030
2. В схеме, вместо n-mosfet AO3400A, поставлю биполярник BCR512green88
30.04.2019 11:11Без подсветки 1602 потребляет около 3 ма. Лет 20 назад питал по аналогии с 1-wire. На выходе мастера был только резистор подтяжки на 470 ом, без всего этого огорода. Притом что к мастеру планировалось подключить 1602 в кол-ве 16 штук.
REPISOT
28.04.2019 16:17+1Схема — трэш и угар. Почему все ардуинщики не могут нарисовать схему, чтобы было понятно нормальным людям?
FuneralService
28.04.2019 16:24+1А что не так со схемой??? Ну кроме того что там на входе нет токоограничивающего резистора и резистора подтяжки (которые, кстати говоря, при определенных условиях, не обязательны)???
И нормальные люди — это кто?? Те кому надо все разжевать и в рот положить или те кто все же способен самостоятельно добыть недостающие знания или синтезировать их самостоятельно???REPISOT
28.04.2019 16:29+1Нормальная схема? Серьезно?
FuneralService
28.04.2019 16:37+1Аааааа. Дак вы об этом убожестве… Тут с вами не поспоришь. Но все же и тут при желании можно разобраться.
REPISOT
28.04.2019 16:32+1А статью зачем читать?
самостоятельно добыть недостающие знания или синтезировать их самостоятельно
я и так могу. Зачем мне бесполезная картинка?
Habivax
28.04.2019 20:07+1Идея очень интересная в плане практического применения.
коммутировать ему приходится всего 200 мА.
Ардуино потребляет 17 ма и подсветка 40 мА (максимальный ток выхода). Как получилось 200 мА?
Хотел бы обратить внимание что примененный модуль ЖКИ у Вас новый, с яркими диодами подсветки. Это видно по выступающему справа от экрана блестящему кожуху. На обычных (старых) модулях ток подсветки примерно 160 мА (от 5В). При их использовании выход желательно бы усилить транзистором.NordicEnergy
28.04.2019 22:08+2У меня попадались 1602 с алишки, которые жрали до 1А легко с подсветкой на полную мощность.
Kolschik
29.04.2019 05:261А 5В это 5 ватт мощности на светодиоде. Это же прожектор-фонарик!.. Может, китайцы не поставили токоограничивающий резистор?
Kolschik
28.04.2019 20:14+4Вот жесть то, еще адруинку запихать… Если уже так хочется передать данные по двум проводам хоть на километр, то меняйте полярность, модулируя переменку хоть фазой, хоть частотой.
NordicEnergy
28.04.2019 22:04+2По буду занудой… На километре эти 5В упадут настолько, что работать не будет. 5В и 1А на километр — это надо ВВГ 2.5 мм2 или что-то на уровне, а не китайские говно-провода с сечением 0.1 мм2 :))
P.S. просто случай из жизни, одни ардуинщики знакомые пытались запитать цепочку устройств от 12В. Первые 20 устройств работали, а потом что-то переставали. Суммарное потребление было 12В и пара ампер, через километр было уже 5...6В, провод какой-то китайский с алишки около 0.5 мм2.cyberly
28.04.2019 22:47+1Помню, я лично пытался питать роутер от его родного БП (12В переменки, в роутере — выпрямитель и линейный стабилизатор) по неиспользуемым парам UTP. Метров 70 что-ли… Не получилось…
clawham
28.04.2019 23:48+1У меня возникает только один вопрос — зачем там процессор?
Прекрасно это все реализуется одной примитивной микрухой 74hc595. более того я так делал и оно работает!
схема проверенная в железе.
Habivax
29.04.2019 05:55+1Не показывает картинку, проверьте пожалуйста.
clawham
29.04.2019 13:23+1sim2q
29.04.2019 09:17+1Прекрасно это все реализуется одной примитивной микрухой 74hc595. более того я так делал и оно работает!
точно два провода, вместе с питанием?
CrashLogger
29.04.2019 09:40+1Микруху эту еще заказать надо, а ардуина у многих валяется в ящике стола. Кроме того, на ардуину можно навесить дополнительных функций, например инициализацию, скроллинг символов.
balamutang
29.04.2019 10:34+1к чему мелочиться, можно передавать закодированную информацию и ардуиной раскодировать на дисплей. можно еще много чего придумать чтоб оправдать оверкилл, но промышленное решение будет самое дешевое и надежное, с 595 микросхемой :)
pvvv
29.04.2019 12:53+1Всё равно будет какой-то свой протокол поверх этого однопроводного интерфейса, что ничем особо не отличается от какого-нибудь кривого (посылать в УАРТ байт для передачи одного бита) управления сдвиговым регистром по одному проводу импульсами разной длительности.
А «разгружать» основной процессор поставив дополнительную ардуину в качестве «видеокарты» для 16х2 — так себе идея.
Только если надо здесь и сейчас что-то соорудить из того что есть под рукой, приходилось как-то заменять пару микросхем медленной, обычной 74 логики микроконтроллером, в качестве временного патча.
aivs
Полезная статья. Несколько раз мне пригодился бы такой подход.
Автор конечно мастер скриншотов :)
u_235
В чём польза, в экономии одного провода?
AlexAV1000
В том, что его можно сдать в металлоприёмку.
Otard
Если два провода уже проложены, а третий проложить возможности нет.
safari2012
Потрясающе. Автор изобрёл
велосипед1-wire.