Пульт 49 мгц для игрушки

Обновлено: 01.05.2024

Накопилось у меня некоторое количество радиоуправляемых игрушек, из тех, которые покупать своим двум детям нельзя: один пульт управляет всем в округе, никакого разделения ни по частотам, ни по кодам. Одновременно играть не получится. У меня эти игрушки работают на частоте 27mhz, но аналогичные могут работать на частотах 35, 40, 49 mhz по тому же простейшему протоколу, о котором и пойдет речь дальше.

Мне пришла мысль заменить пульт управления игрушки компьютером. Основой для подобных мыслей послужил вот этот пост.

Моя идея заключалась в том, чтобы сделать USB девайс, на который можно передавать с компьютера коды команд, а это устройство каждую команду закодирует и выдаст в эфир RC-машинке.

Первым этапом я решил убедиться самостоятельно насколько описанное в вышеприведенном посте подходит к моим RC-игрушкам. Как у автора поста, так и у меня, все игрушки базировались на комплекте популярных микросхем RX-2 для приемника и TX-2 для передатчика. Эти микросхемы имеют 5 входов для считывания кнопок нажатия, которые они кодируют и передают в эфир на выходной каскад. Таким образом, к примеру, нажатие кнопки "вперед" микросхема кодирует следующим образом: заголовок, состоящий из 4 длинных импульсов с заполнением 75% и сам код нажатия - десять коротких импульсов с заполнением 50%.

Список кодов комманд

Мое оборудование использовало следующий набор команд:

Forward: 10 pulses

Reverse: 40 pulses

Right: 64 pulses

Forward/Left: 28 pulses

Forward/Right: 34 pulses

Reverse/Left: 52 pulses

Reverse/Right: 46 pulses

Но было несколько пультов на 27 mhz, которые не работали или работали не корректно с моими игрушками. В интернетах я нашел другой набор команд для подобного оборудования (возможно, для другого набора микросхем, не разбирался).

Forward: 16 pulses

Reverse: 40 pulses

Forward/Left: 28 pulses

Forward/Right: 34 pulses

Reverse/Left: 52 pulses

Reverse/Right: 46 pulses

Итак, я набросал код на C++ для микроконтроллера Atmel AVR Attiny 2313 чтобы убедиться, что эта логика работает. Выходной пин микроконтроллера я подключил к выходному каскаду пульта игрушки чтобы не собирать радиочастотную схему самостоятельно. Эту точку легко найти по пину 8 микросхемы TX-2: именно он является выходом закодированных импульсов нужной длины, которые подаются в этот каскад. Тут можно было бы даже просто взять ножовку и выпилить все кнопки вместе с микросхемой TX-2, но они для подобных экспериментов не мешают поэтому оставил как есть.


Связь с компьютером через USB

Для связи с компьютером я использовал библиотеку vusb, набросав на универсальной плате обвес по следующей схеме:

Получился вот такой девайс:


Отладка

Код я написал, но вот работать как нужно он отказался. Для отладки пришлось задействовать запылившийся Saleae Logic Analyser. Так я смог заставить соответствовать длины импульсов с моего контроллера тому, что выдавала микросхема TX-2 и тогда все прекрасно заработало.


На фото можно увидеть визуально как кодируется сигнал "вперед", который имеет в своем теле 10 импульсов:

4 длинных импульса заголовок: каждый ~1.3ms высокий уровень and ~0.5ms низкий уровень сигнала с 75% заполнением: ~1.8ms всего.

10 коротких импульсов: каждый 0.5ms высокий and 0.5ms низкий.

В случае передачи другого кода заголовок остается тем же, а 10 коротких импульсов заменяются на соответствующее другому коду количество.

Код на C++

Для компьютера я сделал программу, которая в цикле читает клавиатуру, кодирует и передает в USB контроллеру. Исходные коды для микроконтроллера и для PC я выложил в общий доступ. Компилировал используя gcc на Linux Gentoo, на Windows не проверял.

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Последние посетители 0 пользователей онлайн

Здравствуйте. Спасибо за схему, попробовал подключить так, но работает не так как ожидалось. Для двигателя предусмотрен переключатель реверса, который имеет три положения: вращение двигателя по часовой стрелке, нейтральное и вращение против часовой стрелки. На такой переключатель приходит 4 провода: 2 - 220 в и 2, отвечающих за смену направления вращения. Способ подключения - показал на рисунке. Проблема в том, что двигатель работает только в 1 определенном положении переключателя реверса. Работает достаточно тихо, гуда нет, вроде бы ничего не греется. НО при переключении реверса в другое направлении СРАЗУ ЖЕ срабатывает автомат. В чем ошибка подключения? КЗ в способе подключения нет, схему перепроверял.

поправляю. Вы утверждаете, что это компьютерный кулер ? И не понимаете принципиальной разницы с коллекторным мотором ? В таком случае, схема не годится. Выискивать блох вроде погашения несуществующих (на этих моторчиках) импульсов - вообще бессмысленно. Диод бесполезен, конденсатор в ключевой цепи - вреден. Еще посмотреть надо, что скажет вентилятор в ответ на подачу импульсов на него.

Диего

Лёха58

Чтобы не было разочарования, сначала проверь, есть ли у тебя дома хоть какой-нибудь сигнал на св и дв диапазонах с помощью заведомо исправного приемника. Ловить лучше вечером - ночью. Компьютер, светодиодные лампочки, зарядки - выключить.

Romanchek82

посему начните с чтения ЭТОЙ книги. Это очень пользительно для начинающих. Книга старая, элементная база совсем устарела, но основы электроники и электротехники в ней описаны в доступном виде и в полном объеме

Dr. West

1. Разве в той книжке, откуда взята схема, нету описания конструкции контура? На ДВ ловить вообще нечего, кое - что ещё можно поймать на СВ после заката. 2. В качестве заземлления лучше использовать заземление. Например, арматурину, трубу или уголок, длиной метра полтора, вбитый в землю. Можно поискать заземление в квартирном щитке, если проводка соответствует современным нормам. Допускается использовать водопроводные металлические трубы, проложенные в земле. Но не газовые, отопительные или канализационные.

@sergey23 Номиналы резисторов там должны быть 4k7 и 3k3. Опечатка из книги 90-х годов. Схема примитивная но работает надежно.

Абакан, Александров, Альметьевск, Анапа, Ангарск, Арзамас, Армавир, Архангельск, Астрахань, Ачинск, Балаково, Балашиха, Барнаул, Батайск, Белгород, Бердск, Березники, Бийск, Благовещенск, Борисоглебск, Братск, Брянск, Великий Новгород, Владивосток, Владикавказ, Владимир, Волгоград, Волгодонск, Волжский, Вологда, Воронеж, Воскресенск, Воткинск, Выборг, Выкса, Вязьма, Гатчина, Глазов, Горно-Алтайск, Грозный, Губкин, Дзержинск, Димитровград, Долгопрудный, Домодедово, Дубна, Евпатория, Екатеринбург, Ессентуки, Железногорск, Железнодорожный, Жуковский, Златоуст, Иваново, Ижевск, Иркутск, Ишим, Йошкар-Ола, Казань, Калининград, Калуга, Каменск-Уральский, Каменск-Шахтинский, Камышин, Канск, Кашира, Кемерово, Керчь, Кинешма, Киров, Кисловодск, Ковров, Коломна, Комсомольск-на-Амуре, Копейск, Королёв, Кострома, Красногорск, Краснодар, Красноярск, Крым, Кстово, Кузнецк, Курган, Курск, Липецк, Люберцы, Магадан, Магнитогорск, Майкоп, Махачкала, Миасс, Минеральные Воды, Михнево, Мичуринск, Москва, Мурманск, Муром, Мытищи, Набережные Челны, Нальчик, Находка, Невинномысск, Нефтекамск, Нефтеюганск, Нижневартовск, Нижнекамск, Нижний Новгород, Нижний Тагил, Новокузнецк, Новомосковск, Новороссийск, Новосибирск, Новочеркасск, Ногинск, Обнинск, Одинцово, Ожерелье, Озеры, Октябрьский, Омск, Орёл, Оренбург, Орехово-Зуево, Орск, Пенза, Первоуральск, Пермь, Петрозаводск, Петропавловск-Камчатский, Подольск, Прокопьевск, Псков, Пушкино, Пятигорск, Ржев, Россия, Россошь, Ростов-на-Дону, Рубцовск, Рыбинск, Рязань, Салават, Салехард, Самара, Санкт-Петербург, Саранск, Сарапул, Саратов, Саров, Севастополь, Северодвинск, Сергиев Посад, Серпухов, Симферополь, Смоленск, Сочи, Ставрополь, Старый Оскол, Стерлитамак, Ступино, Сургут, Сызрань, Сыктывкар, Таганрог, Тамбов, Тверь, Тихвин, Тобольск, Тольятти, Томск, Туапсе, Тула, Тюмень, Улан-Удэ, Ульяновск, Уссурийск, Уфа, Ухта, Феодосия, Хабаровск, Ханты-Мансийск, Хасавюрт, Химки, Чебоксары, Челябинск, Череповец, Черкесск, Чита, Шахты, Щёлково, Электросталь, Элиста, Энгельс, Южно-Сахалинск, Якутск, Ялта, Ярославль

27 МГц/40 МГц/49 МГц пульт дистанционного управления 6 В/12 в приемник Универсальный радио передатчик управления Лер для детей автомобиль малыш игрушка автомобиль самосвал

Антенна контроллера, которая означает контроллер с 1 шт. мягкая антенна.

Но для других вариантов, которые металлическая антенна

4ch пульт дистанционного управления, электрический пульт дистанционного управления детская коляска специализированный пульт дистанционного управления! Частота 27 МГц. Частота на пульте дистанционного управления Управление подходит для использования!

1 комплект 4CH 27MHZ беспроводной пульт дистанционного управления 6 V/12 V Приемник антенна для детей мотор-колеса электрический автомобиль езды на управлении
1 комплект 4CH 27MHZ беспроводной пульт дистанционного управления 6 V/12 V Приемник антенна для детей мотор-колеса электрический автомобиль езды на управлении
1 комплект 4CH 27MHZ беспроводной пульт дистанционного управления 6 V/12 V Приемник антенна для детей мотор-колеса электрический автомобиль езды на управлении
1 комплект 4CH 27MHZ беспроводной пульт дистанционного управления 6 V/12 V Приемник антенна для детей мотор-колеса электрический автомобиль езды на управлении
1 комплект 4CH 27MHZ беспроводной пульт дистанционного управления 6 V/12 V Приемник антенна для детей мотор-колеса электрический автомобиль езды на управлении
1 комплект 4CH 27MHZ беспроводной пульт дистанционного управления 6 V/12 V Приемник антенна для детей мотор-колеса электрический автомобиль езды на управлении
1 комплект 4CH 27MHZ беспроводной пульт дистанционного управления 6 V/12 V Приемник антенна для детей мотор-колеса электрический автомобиль езды на управлении

Характеристики

Бренд SHUAICHI Материал Комбинированный материал Габаритные размеры others Номер модели for Children Kids RC Cars Controlling Тип транспорта Машинки Расходный материал для инструментов Сборное стекло Периферийные устройства для дистанционного управления Пульт дистанционного управления Предназначение Транспортные средства и Игрушки Дистанционного уПлита Детали для тюнинга и запчасти 6V/12V Receiver Характеристики Сборка Детали дистанционного управления и комплектующие Remote Controller


На Aliexpress приёмники и передатчики 433 и 315 Мгц продаются, как правило, комплектами. Я купил вот такой комплект из двух плат 433 Mhz за 68 рублей с доставкой.


Приёмник подключается к Arduino тремя проводами (питание, земля и сигнал к пину 2).

Для приёма и распознавания сигнала с пультов есть стандартная библиотека rc-switch. В примерах использования этой библиотеки есть простейший код ReceiveDemo_Simple, выводящий в COM-порт при приёме сигнала четыре значения: код кнопки, длина последовательности в битах, задержка, код протокола.

Я ожидал, что в московском забитом эфире будут постоянно приходить какие-то коды, но, как ни странно, пока не нажимаешь кнопку пульта, ничего нет.

При нажатии четырёх кнопок на пультике с заглавной картинки выводятся вот такие значения.


Для распознавания нажатия нужных кнопок на нужных пультах достаточно сравнивать значение getReceivedValue с известным заранее кодом кнопки.

Вроде бы всё просто и элементарно. Вот только оказалось, что из всех моих пультов 433 Mhz опознаётся сигнал только у маленького пультика с заглавной фотографии. На нажатия кнопок вот этих трёх пультов (выключатель Noolite, пульт от розетки с таймером, пульт от велосигнализации) Arduino никак не реагирует.


По всей видимости, эти пульты используют какие-то другие протоколы, не известные библиотеке rc-switch. Наверняка, есть какие-то другие библиотеки для приёма данных с пультов, но я их пока не нашёл.

С одной стороны организовать управление Arduino радиопультом очень просто и очень дёшево, но с другой стороны для этого подходят не все пульты 433 Mhz.

© 2021, Алексей Надёжин

Читайте также: