Arduino + RGB контроллер, подключение через "провод"
- Войдите на сайт для отправки комментариев
Втр, 04/06/2013 - 23:48
Приветствую форумчане!
Имеется: Arduino Mega + RGB контроллер с ИК пультом и ИК приемником на контроллере соответственно.
Нужно избавиться от ИК и подключить контроллер Ардуино напрямую к RGB контроллеру, при этом хотелось бы использовать один Пин для сигнала.
Данные сигнала поступают примерно в таком виде "80B098E2"(включить красный цвет, синий, выключить и т.п.).
Как бы мне передать от Цифрового Пина Арудино данные(грубо эмитировать сигнал с ИК пульта) на RGB контроллер через проводочек, а не через ИК приемник?
Роюсь целый день, ничего подобного не нашел...Это вообще возможно?
Спасибо за отклики.
Возможно, но бессмысленно, поэтому ничего и не нашли. Почему именно по проводу? и почему именно по одному?
Хорошо, расскажу детальней.
У меня 7 RGB контроллеров, у каждого 3х цветная светодиодная лента. Мне нужно управлять каждым цветом по отдельности.
Если подключать без контроллера, получается что на каждую ленту будет задействованно 3 Пина. Итого будет 21 Пин задействован. Я хочу сократить это кол-во до 7 пинов. RGB контроллер уже в свою очередь управляет 3мя цветами с помощью команд, которые через ИК посылает.
Вариант подключения к каждому из 7ми Пинов ИК передатчика отпадает, тогда будут сигналы путаться и включатся сразу на всех RGB контроллеров от одной команды...
Ну просто по проводу более логичнее и проще делать.
Я не гуру в транзисторах, резисторах и т.п. - есть общее представление.
Самое главное что этих RGB контроллеров может быть и 20 штук.
Какие еще могут быть варианты управления, так что бы одной 3х цветной лентой управлять с 1 Пина?
Ну если посмотреть отстраненно, то ик светодиод пульта + и ик фотодиод приемника, есть простейшая оптопара. Только не в одном корпусе а разнесенная.
Так что берешь дуину, подцепляешь икфотодиод, и запоминаешь или еще лучше декодируешь сигнал пульта (помоему можно библиотекой IRemote).После чего вместо ик фотодиода контроллера ленты ставишь выход оптопары, и управлешь ей одним пином посылая команды записанные или декодированные ранее.
Я бы так мучать стал, может кто чего и поумнее подскажет.
Не так все просто. ИК-приемники это не обычные фотодиоды, они цифровые и демоделируют сигнал. Поэтому во-первых, просто убрать ИК-приемник и ИК-светодиод и заменить их оптроном не получится. Во-вторых IRemote может генерить сингал только на одном из 2 выводах.
Так как переписать библиотеку под свои нужды вы не в силах, то в вашем случае остается разве что следующее:
Берете библиотеку IRemote и организуете управление одного контроллера. Затем к каждому контроллеру крепите свой ИК-светодиод (лучше маломощный) так что бы каждый светодиод не засвечивал соседний контроллер. Потом подключаете все аноды светодиодов через резистор к 3 выводу (на УНО это вывод, на котором IRemote генерит сигнал), а катоды не к земле, а к другим выводам дуины так что бы каждый катод был подключен в своему выводу. После чего вы сможете управлять каждым контроллером отдельно выбирая нужный ИК-светодиод низким уровнем на его катоде.
Snubist
Мне тут обьяснили детально, что надо делать что бы все это дело через провод пустить, это просто жесть, мне кажеться проще пентагон взломать)
maksim
Чорт, у меня была идея такая же, только не знал как ее правильно реализовать, спасибо, попробую!
Не так все просто. ИК-приемники это не обычные фотодиоды, они цифровые и демоделируют сигнал. Поэтому во-первых, просто убрать ИК-приемник и ИК-светодиод и заменить их оптроном не получится. Во-вторых IRemote может генерить сингал только на одном из 2 выводах.
А почему не получится? IMHO именно поэтому и может "выйти просто". Если выкинуть ИК-приемник и подпаятся вместо его DATA-выхода? Тогда отпадает необходимость "демодуляции", а значит и "модуляции" со стороны ардуины. Можно слать импульсы "в чистом виде". Хоть обычным digitalWrite/delay на любом пине. А значит IR-ремоте нужна будет только на этапе "сграбить коды пультов" .
Если с настоящими пультами "все работает одновременно" (три пульта, три приемника) - значит коды у них отличаются. Если они друг-другу не мешают - значит умеют делить между собой "общий эфир". А значит и с ардуины, для всех них можно гнать коды "по общему проводу".
Правда "ровно один провод" все равно не выйдет. Еще земля потребуется. Ну и расстояние (длина провода) может сыграть рояль.
Но все это, конечно, теория. Нужно пробовать.
Как на меня, то тут IRRemote обойдется подправить "малой кровью".
Нужно пронаследоваться и оверрайднуть, благо они virtual (или похачить их прямо в библиотеке) две функции
Только вместо включения, выключения PWM-ма, нужно просто ставить какой-нибудь пин в LOW/HIGH. А сам пин - проводком туда куда подключается ИК-Приемник.
Ну вообщем у меня была примерно такая же теория.
Сейчас пока сделаю простую схему с реле.
Как будет время обязательно поэксперементирую.
Так вот именно в этом из наключалость "Не так все просто" и "не получится просто соединить" - так как надо редактировать библиотеку.
Если с настоящими пультами "все работает одновременно" (три пульта, три приемника) - значит коды у них отличаются. Если они друг-другу не мешают - значит умеют делить между собой "общий эфир". А значит и с ардуины, для всех них можно гнать коды "по общему проводу".
Правда "ровно один провод" все равно не выйдет. Еще земля потребуется. Ну и расстояние (длина провода) может сыграть рояль.
Но все это, конечно, теория. Нужно пробовать.