Нажать на кнопку
- Войдите на сайт для отправки комментариев
Пнд, 08/07/2019 - 20:52
Добрый час!
Потребовалось сделать вот такую штуку:
Есть радио-брелок с двумя кнопками, нужно нажимать на эти кнопки с компьютера.
Т.е. насколько я понял из своего иследования вопроса. Нужна ардуинка, два оптрона и пару резисторов.
По аппаратной части у меня пробелы. Хочу заказать вот этот набор. Правильно ли я подобрал компоненты?
По программной части думаю что разберусь самомстоятельно.
Спасибо.
Нравятся мне люди экономящие на спичках, что бы потом мужественно преодалевать созданные собой же трудности. Вот нафига для одноразовой поделки брать тиньку, когда добавив 50р можно взять уже нано мегу, в которой гораздо больше ресурсов.
Ну и еще не хватает как минимум конвертора usb-com.
Резисторов возьмите пачку 600 штук.
600pcs/set 30 Kinds 1/4W Resistance 1% Metal Film Resistor Pack Assorted Kit 1K 10K 100K 220ohm 1M Resistors
https://s.click.aliexpress.com/e/bQcoytpq
Нравятся мне люди экономящие на спичках, что бы потом мужественно преодалевать созданные собой же трудности. Вот нафига для одноразовой поделки брать тиньку, когда добавив 50р можно взять уже нано мегу, в которой гораздо больше ресурсов.
Ну и еще не хватает как минимум конвертора usb-com.
Спасибо за быстрый ответ!
Я понял. Возьму мегу.
А USB->COM это в смысле вот такой USB->UART?
https://ru.aliexpress.com/item/32630048726.html?spm=a2g0s.9042311.0.0.274233edfMrvia
Зачем он нужен? Если можно взять ардуинкой с USB поротом?
Про 600 резисторов это я так понял, разных номиналов что бы было легко подбирать?
Сори за глупые вопросы, я первый раз имею дело с микроконтроллерами на железном уровне.
Нравятся мне люди экономящие на спичках, что бы потом мужественно преодалевать созданные собой же трудности. Вот нафига для одноразовой поделки брать тиньку, когда добавив 50р можно взять уже нано мегу, в которой гораздо больше ресурсов.
Ну и еще не хватает как минимум конвертора usb-com.
Нравятся мне люди, которые вместо маленькой и умеющей шиться по USB без переходников платки берут кирпич и корячат афигенный корпус а потом используют 4 ноги и больше никогда не перешивают. И так работает. А все супер ресурсы лежат мёртвым грузом весом и размером.
И связь с компом тинька тоже по этому юсб обеспечит?
А как Вы собьираетесь в брелок залезть? Может взять сервомотор и просто механически нажимать кнопку?
А как Вы собьираетесь в брелок залезть? Может взять сервомотор и просто механически нажимать кнопку?
Зачем такие сложности? Подпаяюсь и все.
nen777w - тиньку не берите, управлять с компа по этому УСБ вы не сможете, в стандартном виде он только для прошивки. Но и Мегу, что вам товарищ PRC посоветовал - нафик не надо. Берите Нано или Уно.
Да, я имел в виду нано мегу168 или 328))
Есть радио-брелок с двумя кнопками, нужно нажимать на эти кнопки с компьютера.
Т.е. насколько я понял из своего иследования вопроса. Нужна ардуинка, два оптрона и пару резисторов.
Если я правильно понял, нужно замыкать контакты кнопок посредством компьютера. Зачем тут МК? Последовательных портов сейчас на ПК не найдешь, но есть переходники USB-RS232. На контакты разъема DTR и RTS программно подаем логические единицы - вот Вам и управление двумя кнопками. Нужны только пара оптронов с транзисторным выходом (PC817, 4N25....), пара резисторов 200-220 ом (токовый резистор для входного светодиода оптрона), а выходными транзисторами оптронов замыкаем кнопки. Из того, что я понял, ардуинка не нужна вообще. Или ТС как-то очень завуалированно описал более сложную задачу?
И связь с компом тинька тоже по этому юсб обеспечит?
А что, Digispark Virtual Com Port уже отменили? Посылай символы и управляй чем хочешь. Именно через воткнутую в USB плату. Вот человек светодиодом управляет http://rfanat.ru/Arduino_projekts/klone/Digispark_Attiny85.html
Плата самодельная, но сам принцип.
Если я правильно понял, нужно замыкать контакты кнопок посредством компьютера. Зачем тут МК? Последовательных портов сейчас на ПК не найдешь, но есть переходники USB-RS232. На контакты разъема DTR и RTS программно подаем логические единицы - вот Вам и управление двумя кнопками.
А можно подробнее. Есть у меня и даже несколько штук таких переходников USB->UART
https://ru.aliexpress.com/item/32364013343.html?spm=a2g0o.detail.1000016.1.7aad41971p7OMu&isOrigTitle=true
На нем есть: DCD, DSR, RTS, CTC, RST, SI, SUS, SUS (с верхним подчеркиванием), DTR, RXD, TXD, +5V, GND, 3V3
А можете если не сложно примерно нарисовать как правильно подключить его?
Если я правильно понял. То: Соблюдая полярность, ноги двух оптронов, (со стороны светодиода) подключаем к GND, другие их ноги к DTR, RTS. И на оставшиеся две ноги (со стороны транзистора) у каждого их оптрона подключем кнопки.
Ну и для питания самого брелока, тоже соблюдая полярность берем GND и 3V3.
Я правильно все понял?
Спасибо.
Я правильно все понял?
Да, все верно. Катоды светодиодов на GND, аноды через резисторы на RTS и DTR. Кнопки брелока зашунтировать выходными транзисторами оптронов (возможно, придется подобрать подключение - поменять контаты кнопки местами). Не бойтесь пробовать, транзисторы не спалите.
И при всём, при этом, на моё скромное предложение:
Может взять сервомотор и просто механически нажимать кнопку?
Отвечают:
Зачем такие сложности?
Куда катится этот мир? :)))
Я правильно все понял?
Да, все верно. Катоды светодиодов на GND, аноды через резисторы на RTS и DTR. Кнопки брелока зашунтировать выходными транзисторами оптронов (возможно, придется подобрать подключение - поменять контаты кнопки местами). Не бойтесь пробовать, транзисторы не спалите.
Зачем такие сложности, в брелке кнопка тупо замыкается на землю. Можно использовать любой ключ. И скорее всего можно напрямую подключить к выводам RTS и DTR при условии, что можно соединить землю ПК и брелка. Тогда и питание можно взять от ПК. Остается только научиться правильно управлять этими выводами. Но это другая история.
Зачем такие сложности, в брелке кнопка тупо замыкается на землю. Можно использовать любой ключ. И скорее всего можно напрямую подключить к выводам RTS и DTR при условии, что можно соединить землю ПК и брелка. Тогда и питание можно взять от ПК. Остается только научиться правильно управлять этими выводами. Но это другая история.
В принципе - да. Но тут ключевое слово "скорее всего". Насчет гальванического соединения брелока и порта ПК - тоже в принципе да, но ТС утверждает, что питание брелока 3,3 вольта. Как поведет он себя при подаче на кнопку 5 вольт, если представить, что кнопка там не на землю коротит, а на плюс? То есть, покопавшись в схемах, можно покумекать и совокупить напрямую в конце концов, но оптрон - универсальрное решение.
Может взять сервомотор и просто механически нажимать кнопку?
Евгений, это не кошерное решение. Вы предлагаете стрелять из пушки по воробьям. Простой электромагнит (типа замыкателя дверей на автомобиле) изящно решает проблему нажатия кнопки
:)
Серва нажимает нежно.
Есть радио-брелок с двумя кнопками, нужно нажимать на эти кнопки с компьютера.
Т.е. насколько я понял из своего иследования вопроса. Нужна ардуинка, два оптрона и пару резисторов.
Если я правильно понял, нужно замыкать контакты кнопок посредством компьютера. Зачем тут МК? Последовательных портов сейчас на ПК не найдешь, но есть переходники USB-RS232. На контакты разъема DTR и RTS программно подаем логические единицы - вот Вам и управление двумя кнопками. Нужны только пара оптронов с транзисторным выходом (PC817, 4N25....), пара резисторов 200-220 ом (токовый резистор для входного светодиода оптрона), а выходными транзисторами оптронов замыкаем кнопки. Из того, что я понял, ардуинка не нужна вообще. Или ТС как-то очень завуалированно описал более сложную задачу?
не, это не наш путь, там жеж еще правильно порты настроить надо чтобы при старте винды при инициализации на сигналы RTS и DTR ничего не прилетало, а 99,9% здесь обитающих, я более чем уверен, понятия не имеют, как это сделать )))
PS если ошибаюсь, пните ...
PS если ошибаюсь, пните ...
Абсолютно верно. При загрузке ПК на этих выводах цветомузыка. Я решил этот вопрос просто: подключал свои кнопочные приборы после загрузки винды. Мне это не мешало. А вот как быть с брелоком.... Тут ардуинка может помочь: пущай поспит, пока порт "танцует" при загрузке виды, а потом работает. Но это возвращение к исходной проблеме. А если не критично, то подключать брелок к уже работающему ПК.
PS если ошибаюсь, пните ...
Абсолютно верно. При загрузке ПК на этих выводах цветомузыка.
Пущай поспит, пока порт "танцует" при загрузке виды, а потом работает. Но это возвращение к исходной проблеме. А если не критично, то подключать брелок к уже работающему ПК.
Гм... Спасибо, про "цветомузыку" не знал. У меня правда Linux, но думаю что это не суть, хотя посмотрим... Отпишусь по результатам в этот топик. Завтра должны приехать оптроны, начну паять.
nen777w - а вообще я вам советую всю эту мутоту с компортом выкинуть из головы :) Сугубое ИМХО - на ардуине все получится в разы проще...
А некоторые товарищи просто застряли в прошлом веке, им все кажется, что МК - это сложно. И им думается, что подключится к компорту и написать в винде прогу управления - будет быстрее, чем взять 100рублевую ардуину и за 5 минут написать скетч из трех строк
Именно из за цветомузыки при включении и загрузке голосую за ардуинку. Можно обеспечить контролируемое поведение в этом режиме.
Так, на горизонте пока не появился ни один программист знающий винду хотя бы на троечку )))
Ждём садман41, подозреваю, что он то знает как это лечится...
Так, на горизонте пока не появился ни один программист знающий винду хотя бы на троечку )))
Вам тоже кажется, что переходник USB-RS232 - это "проще", чем ардуина? :)
nen777w - а вообще я вам советую всю эту мутоту с компортом выкинуть из головы :) Сугубое ИМХО - на ардуине все получится в разы проще...
Мне как раз и нужно управлять с компьютера брелком.
Если раскрывать все карты, делаю следующее (проект просто хобби):
- Камера стоит и смотрит на ворота со шлагбаумом.
- На компьютере работает приложение которое посредством библиотеки openALPR распознает подъехавшие к воротам и шлагбауму машины и отрывает их "для своих".
Сейчас часть с OpenALPR и клиентским приложение в разработке.
Пока просто хочу просто сделать Viber бота которые по командам будет открывать ворота и шлагбаум.
Так, на горизонте пока не появился ни один программист знающий винду хотя бы на троечку )))
Так я как раз программист :-)
Просто с смехотехникой у меня пробелы.
Мне как раз и нужно управлять с компьютера брелком.
Не вижу противоречий. Берете ардуино Нано. втыкаете в USB и управляете своим брелком. Код на ардуине - сторок 30 максимум.
и лично на мой взгляд это куда проще возни с USB-RS232
Мне как раз и нужно управлять с компьютера брелком.
Не вижу противоречий. Берете ардуино Нано. втыкаете в USB и управляете своим брелком. Код на ардуине - сторок 30 максимум.
и лично на мой взгляд это куда проще возни с USB-RS232
Да это я криво прочитал Ваше начальное сообщение.
Ардуины уже в пути из Китая, но завтра будут оптроны, и "руки чешуться" уже попробовать спаять.
Если будут проблемы (а я так понял будут) то переделаю все на ардуину.
Так, на горизонте пока не появился ни один программист знающий винду хотя бы на троечку )))
Вам тоже кажется, что переходник USB-RS232 - это "проще", чем ардуина? :)
мне не кажется, я это пользую десятки лет
А у нас ворота открываются ещё и кнопкой, к которой всяко проще прицепиться дляуправления. Тем более что программа у вас уже открывает ворота, значит весь интерфейс уже построен. По мне проще в программу внедриться и параллельно ей слать программно команды на открытие - закрытие через существующие схемы.
Мне как раз и нужно управлять с компьютера брелком.
Не вижу противоречий. Берете ардуино Нано. втыкаете в USB и управляете своим брелком. Код на ардуине - сторок 30 максимум.
и лично на мой взгляд это куда проще возни с USB-RS232
Да это я криво прочитал Ваше начальное сообщение.
Ардуины уже в пути из Китая, но завтра будут оптроны, и "руки чешуться" уже попробовать спаять.
Если будут проблемы (а я так понял будут) то переделаю все на ардуину.
проблема только на стадии обнаружения виндовс устройств подключенных к последовательному порту, когда всё загружено и работает проблемы нет, но это лечится )))
PS мышь питается от сигнала DTR (это подсказка)
проблема только на стадии обнаружения виндовс устройств подключенных к последовательному порту, когда всё загружено и работает проблемы нет, но это лечится )))
PS мышь питается от сигнала DTR (это подсказка)
У меня linux. Завтра заберу оптроны напишу как там.
проблема только на стадии обнаружения виндовс устройств подключенных к последовательному порту, когда всё загружено и работает проблемы нет, но это лечится )))
PS мышь питается от сигнала DTR (это подсказка)
У меня linux. Завтра заберу оптроны напишу как там.
по линуксу не подскажу, в самых первых версиях код был очень кривой в части прерываний и адресов портов, это помню, наверное уже давно поправили, но зато поднимался порт ручками, ...и да если он не пытается определить (PnP) устройства, то засады быть не должно, а в своей программе инициируйте линии порта на LOW
Прибыли радио детали.
Пока что решил написать программу эмулирующую нажатие кнопок (управление DTR, RTS).
Подключил через резисторы два светодиода к этим выходам.
Обнаружил что при включени USB->UART эти два выхода устанавливаются в 1-цу. Скачал терминал (Terminal by Br@y++) поуправлял выходами оттуда.
Забавно то что в терминале эти выходы (судя по графической индикации, тоже должны быть на старте в 0-е). Ну да ладно...
Буду смотреть ioctl API в Linux для управления DTR, RTS.
p.s.
Тут же пришла идея оставить эти светодиоды когда я добавлю оптроны.
Я так понимаю ничего страшного я не случиться?
Я так понимаю я могу даже через один и тот же резистор включить и светодиод и оптрон?
Прибыли радио детали.
Пока что решил написать программу эмулирующую нажатие кнопок (управление DTR, RTS).
Подключил через резисторы два светодиода к этим выходам.
Обнаружил что при включени USB->UART эти два выхода устанавливаются в 1-цу. Скачал терминал (Terminal by Br@y++) поуправлял выходами оттуда.
Забавно то что в терминале эти выходы (судя по графической индикации, тоже должны быть на старте в 0-е). Ну да ладно...
Буду смотреть ioctl API в Linux для управления DTR, RTS.
p.s.
Тут же пришла идея оставить эти светодиоды когда я добавлю оптроны.
Я так понимаю ничего страшного я не случиться?
Я так понимаю я могу даже через один и тот же резистор включить и светодиод и оптрон?
можете, только учтите, что нормальный RS232 на эти сигналы даёт минус до 15 вольт (уровень нуля), отсекается диодом в прямом включении...
Значит в Линуксе тоже PnP реализован на уровне ядра, гуглите как отключить для конкретных портов
Во общем, только что собрал схему и вроде все плучилось, но есть одно НО!
Те светодиоды что я оставил для индикации при добавлении в схему оптронов перестали работать.
Но сами оптроны работают нормально, это видно по диоду на брелке.
Что это может быть?
Резисторы: 200 Om.
Оптроны: PC817
Принципиальную схему и фото макетки прилагаю.
ну так напряжение стабилизации у оптрона меньше, подай на светодиоды напряжение через отдельные резисторы
Еще вопросы :-)
Я так понимаю никак нельзя сделать так что бы до старта приложения которое управляет этой железячкой на пинах USB->UART RTS, DTR были 0-и?
Т.е. прийдется переходить на ардуину.
На счёт "тиньки" которая сейчас под рукой, я так понимаю там нет возможности управлять ею по USB ? И USB там только для прошивки?
Спасибо.
Извини, но ты тему то читаешь? В #11 я дал ссылку как управлять тинькой через USB.
Еще вопросы :-)
Я так понимаю никак нельзя сделать так что бы до старта приложения которое управляет этой железячкой на пинах USB->UART RTS, DTR были 0-и?
Т.е. прийдется переходить на ардуину.
На счёт "тиньки" которая сейчас под рукой, я так понимаю там нет возможности управлять ею по USB ? И USB там только для прошивки?
Спасибо.
можно, но не я на этом ресурсе крутой специалист по Линух, что делать понятно, надо отключть PnP на выбранном тобой компорту, погули, не может быть, чтобы в линухе это не отключалось
оно конечно можно и на тиньке, но под линуксом проблем будет не меньше, начиная с того, что получим виртуальный комппорт в системе, можно и не виртуальный, но тогда надо загружать специальную прошивку, к примеру воспользовавшись DigiCdc
Не все так просто с этой Тинькой :-)
Решил поробовать сперва под Win 10. Установил драйвера, перепрошил блинком. Все ок. Светодиод мигает. Красота!
Потом решил залить CDC_LED, и вот тут уже после загрузки, по истесчению 5-ти секунд когда скетч в микроконтроллере уже начал свою работу он сделал системе BSOD :-) Я потом еще пару раз проверял, перезагружал Win поключал тиньку и по истечению 5-ти секунд BSOD.
Я еще не смотрел минидампы, но думаю что дело в драйверах Digispark (который нужны тиньке). У кого то было такое?
Так под десятку и не должны, кто их правил
Так под десятку и не должны, кто их правил
Есть и под 10-ку. Например тут: https://arduino.ua/prod1986-plata-razrabotchika-attiny85-microusb-ot-digispark
Но с проблемой уже разобрался. Начитался что нужно отключить в биос
xHCI, EHCI
когда включил обратно, то падать перестало.
Материнка ASUS X99 DELUX
Продолжаю осваивать переход на Arduino (пока что ATtiny85).
Такой вопрос: Мне для питания брелка нужно 3v3 у тиньки можно взять только 5. Сегодня почитал спеку и обнаружил что у нее есть PWM т.е. можно использовать analogWrite() ?
Также у меня есть вот такой DC->DC конвертор: https://ru.aliexpress.com/item/32684592402.html?spm=a2g0s.9042311.0.0.274233eddL2KOS
Т.е. у меня два пути либо запитать брелок от PWM (подобрав значение analogWrite() что бы на выходе получилось 3v3 (т.е. (255/5)*3.3 ~= 169)) либо взять +5v и запитать брелок через DC->DC конвертор.
Какой вариант лучше?
И если таки можно от PWM то нужен ли сглаживающий конденсатор? Если да то какой и как его включать в схему?
Спасибо.
p.s.
Прошу прощения за возможно глупые вопросы.
А сколько миллиампер потребляет брелок, может обычного резистора и стабилитрончика на 3.3 вольта будет достаточно?