- Беспроводное управление моторчиками из Lego при помощи Steam Controller
- Файлы
- Сервисные центры LEGO в Москве
- Выберите вид техники или район
- Мы подобрали для вас лучшие сервисы:
- Адрес:
- Адреса филиалов:
- Адрес:
- Адрес:
- Адрес:
- Адреса филиалов:
- Адрес:
- Адрес:
- Адреса филиалов:
- Вопросы пользователей
- Популярные сервисы
- ПОИСК ПО АДРЕСУ
- ЛУЧШИЕ СЕРВИСЫ
- РЕШАЕМ ПРОБЛЕМЫ
- Контроллер для Лего
Беспроводное управление моторчиками из Lego при помощи Steam Controller
Когда я был молодым, мне всегда хотелось иметь наборы «техникс» от Lego, чтобы собирать из них всякие крутые штуки. Автономные танки с вращающимися турелями, стреляющими кирпичиками Lego. Но тогда такого набора у меня не было.
И даже обычных кирпичиков от Lego не было. У меня был только друг, у брата которого были все эти дорогие игрушки.
А теперь у меня самого сын такого возраста. И он строит танки, которые… тупо прут вперёд, пока не врежутся в стену 🙂
И вот, настало время для ESP32 и магии паяльника – соберём для них правильный пульт дистанционного управления!
Нет, я, конечно, знаю о существовании таких пультов. Но ни один из них мне не подходит полностью. Они либо инфракрасные, с технологией 80-х годов, либо слишком крупные. Или дорогие. А главное – ни об одном из них я не смогу сказать сыну: «Я сделал это специально для тебя!»
Так давайте же сделаем новый, улучшенный пульт, чтобы править всеми!
- ESP32-WROOM-32D | WiFi, BLE и процессор с I/O – достаточно для управления двумя моторами и светодиодом.
- DRV8833 | двойной Н-мост с мощностью, достаточной для моторов.
- TPS62162 | понижение напряжения до 17 В, а также для развлечения при пайке корпуса WSON-8 2×2 мм
- CP2104 | для программирования ESP32
- Разъёмы для подсоединения моторов и диодов. Провода отрежем и припаяем их снизу, а коннектор Lego приклеим сверху.
Всё это разместится на довольно небольшой плате – вот её внешний вид в редакторе EasyEDA:
Провод, который видно на заглавном фото, нужен не для исправления каких-то ошибок, а для подачи питания с USB. Его, возможно, не хватит для мотора, но, к сожалению, контакты из Китая до сих пор мне не пришли. Поэтому я сначала проверяю работу светодиодов. Для красоты на фотографии я просто положил коннектор от мотора на плату.
На версии 1.1 моей платы (в отличие от версии 1.2, которая уже лежит на EasyEDA), не было светодиодов, поэтому я припаял два антипараллельных диода на выход, чтобы было видно происходящее. Если присмотреться, на видео видно попеременное включение пары диодов 0603, обозначающих движение вперёд/назад.
Что до пульта управления, то сначала я просто хотел собрать дополнительную плату с кнопочками и ещё одним ESP32 – классический ПДУ.
Однако потом я вспомнил, что у контроллеров Steam Controller есть режим работы Bluetooth с низким энергопотреблением (BLE). Я решил заняться этим вопросом, и через несколько часов научился принимать пакеты от контроллера.
Для этого нужно просто поискать HID-устройство, называющее себя SteamController, и подключиться к нему. А потом использовать недокументированный сервис от Valve и несколько недокументированных команд, позволяющих передачу пакетов.
А ещё мне попался недокументированный формат отчёта, который я разобрал вручную.
Где-то через часик смысл флажков и значений стал мне понятен, и я сумел помигать светодиодом при помощи контроллера Steam и ESP32. ¯\_(ツ)_/¯
Файлы
- Схема и плата на EasyEDA easyeda.com/EFS-GH/legoremote
- Исходники для Arduino: github.com/g3gg0/LegoRemote
v1.0: «пробный подход»
— первый вариант, для которого я выбрал неправильный регулятор напряжения. TPS62291 поднимает напряжение лишь до 6 В. Я разрабатывал несколько проектов параллельно, и забыл, что устройству нужно работать с 9 В.
v1.1: «достаточно хорошая»
— этот вариант виден в роликах, и всё работает
v1.2: «окончательная»
— добавил индикаторные светодиоды на выход и оптимизировал размер и раскладку плату
На следующем коротком видео показана фаза соединения (1-3 сек. после включения питания) и управление выходами мотора. Коннектор от Lego пока не подключен. Он пойдёт на пустое место рядом с остальными коннекторами, отмеченное белым прямоугольником.
Мой сын теперь регулярно пользуется этим контроллером для управления собранными им аппаратами.
Во время стресс-теста я столкнулся только с одной проблемой: я думал, что режим «быстрого затухания» [fast decay] драйвера мотора будет работать лучше всего, однако из-за него через несколько секунд работы очень сильно падала скорость мотора. Поэтому я поменял код так, чтобы он использовал «медленное затухание» [slow decay].
Пока я не уверен, как работает DRV и почему мотор сначала вращается быстро, а потом через секунд 10 начинает постепенно замедляться. Возможно, разогреваются MOSFET и их сопротивление поднимается слишком сильно.
Надеюсь, этот пример использования Arduino без особых усилий послужит вдохновением для других людей и позволит им приобщить их детей к электронике.
Источник
Сервисные центры LEGO в Москве
Мы нашли для вас 74 сервисных центра по ремонту LEGO в Москве. Выберите подходящий сервис из списка, либо заполните заявку на ремонт и один из специалистов свяжется с вами.
Выберите вид техники или район
Мы подобрали для вас лучшие сервисы:
ПН-ПТ — с 10:00 до 21:00
СБ — с 10:00 до 21:00
ВС — с 10:00 до 21:00
Ремонт техники LEGO в сервисном центре Аист
Адрес:
Профсоюзная улица, 109к2, 2 этаж, пав. 5
( рядом Беляево , Тёплый Стан )
Адреса филиалов:
Ясенево — Новоясеневский проспект, 7, ТЦ Калита, Строймаркет, пав. 1
ПН-ПТ — с 10:00 до 21:00
СБ — с 10:00 до 21:00
ВС — с 10:00 до 21:00
Ремонт техники LEGO в сервисном центре MadeService
Адрес:
проспект Андропова, 36, ТЦ Гвоздь, 3 этаж, пав. 22
( рядом Каширская , Технопарк )
ПН-ПТ — с 10:00 до 19:00
Ремонт техники LEGO в сервисном центре GENEVE
Адрес:
Краснопресненская набережная, 12
метро Улица 1905 года
( рядом Баррикадная , Беговая )
ПН-ПТ — с 10:00 до 21:00
СБ — с 10:00 до 21:00
ВС — с 10:00 до 21:00
Ремонт техники LEGO в сервисном центре GOODSERVICE
Адрес:
Полоцкая улица, 2
( рядом Молодёжная , Пионерская , Славянский бульвар )
Адреса филиалов:
Новые Черёмушки — улица Гарибальди, 23, ТЦ Панорама, 2 этаж, павильон 2Ц-30
Улица Скобелевская — Новое шоссе, 5к1
ПН-ПТ — с 10:00 до 21:00
СБ — с 10:00 до 21:00
ВС — с 10:00 до 21:00
Ремонт техники LEGO в сервисном центре ByService
Адрес:
Таганская улица, 2, ТЦ Таганка, 2 этаж, павильон 40
( рядом Площадь Ильича , Таганская , Третьяковская )
ПН-ПТ — с 10:00 до 21:00
СБ — с 10:00 до 21:00
ВС — с 10:00 до 21:00
Ремонт техники LEGO в сервисном центре Атлант
метро Бульвар Дмитрия Донского
( рядом Аннино , Улица Старокачаловская )
Адрес:
Адреса филиалов:
Крымская — улица Винокурова, 15к1
ПН-ПТ — с 10:00 до 18:00
СБ — с 12:00 до 16:00
Ремонт техники LEGO в сервисном центре AF SERVICE
метро Преображенская площадь
( рядом Сокольники , Черкизовская )
ПН-ПТ — с 09:00 до 22:00
СБ — с 09:00 до 22:00
ВС — с 09:00 до 22:00
Ремонт техники LEGO в сервисном центре FIXISMART
( рядом Каширская , Технопарк )
ПН-ПТ — с 10:00 до 21:00
СБ — с 10:00 до 20:00
ВС — с 09:00 до 20:00
Ремонт техники LEGO в сервисном центре Коко
( рядом Балтийская , Водный стадион , Сокол )
ПН-ПТ — с 10:00 до 20:00
СБ — с 10:00 до 20:00
ВС — с 10:00 до 20:00
Ремонт техники LEGO в сервисном центре AMPERFIX
( рядом Калужская , Коньково )
ПН-ПТ — с 10:00 до 19:00
СБ — с 11:00 до 16:00
Ремонт техники LEGO в сервисном центре INGENERIC
метро Шоссе Энтузиастов
( рядом Авиамоторная , Андроновка , Перово , Соколиная гора )
ПН-ПТ — с 10:00 до 18:00
СБ — с 11:00 до 15:00
Ремонт техники LEGO в сервисном центре Часовой
метро Крестьянская Застава
( рядом Дубровка , Пролетарская , Римская )
ПН-ПТ — с 09:00 до 22:00
СБ — с 09:00 до 22:00
ВС — с 09:00 до 22:00
Ремонт техники LEGO в сервисном центре KOMPUTERS-BEST
( рядом Крылатское , Кунцевская )
ПН-ПТ — с 10:00 до 20:00
СБ — с 10:00 до 20:00
ВС — с 10:00 до 20:00
Ремонт техники LEGO в сервисном центре КОМИЛЬФО-М
метро Красные Ворота
( рядом Комсомольская , Чистые пруды )
ПН-ПТ — с 10:00 до 19:00
Ремонт техники LEGO в сервисном центре BEZPK
ПН-ПТ — с 10:00 до 20:00
СБ — с 10:00 до 20:00
ВС — с 10:00 до 20:00
Ремонт техники LEGO в сервисном центре Левша Сервис
метро Ленинский проспект
( рядом Академическая , Шаболовская )
ПН-ПТ — с 11:00 до 20:00
СБ — с 11:00 до 17:00
Ремонт техники LEGO в сервисном центре ДРАГОЦЕННОЕ ВРЕМЯ
метро Охотный Ряд
( рядом Библиотека имени Ленина , Лубянка , Площадь Революции , Театральная )
ПН-ПТ — с 10:00 до 20:00
СБ — с 10:00 до 17:00
Ремонт техники LEGO в сервисном центре Верное Время
( рядом Александровский сад , Библиотека имени Ленина , Боровицкая , Площадь Революции , Смоленская )
ПН-ПТ — с 09:00 до 20:00
СБ — с 11:00 до 19:00
Ремонт техники LEGO в сервисном центре Mobi911
( рядом Нахимовский проспект , Чертановская )
ПН-ПТ — с 10:00 до 20:00
СБ — с 11:00 до 19:00
ВС — с 11:00 до 19:00
Ремонт техники LEGO в сервисном центре Watchers
метро Цветной бульвар
( рядом Менделеевская , Трубная , Чеховская )
Вопросы пользователей
Популярные сервисы
ПОИСК ПО АДРЕСУ
Найдите мастерскую по району, станции метро или улице.
ЛУЧШИЕ СЕРВИСЫ
Читайте и оставляйте отзывы,
выбирайте лучших мастеров
РЕШАЕМ ПРОБЛЕМЫ
Задавайте вопросы, получайте
квалифицированную помощь!
«Центр-сервисов» — это навигатор по сервисным центрам Москвы. Подберите удобный и подходящий сервисный центр, если у вас сломалась бытовая техника. Также, оставив онлайн заявку, вы можете рассчитывать на профессиональную помощь и консультацию опытных мастеров.
Источник
Контроллер для Лего
Чуть меньше полугода назад сделал сыну на день рождения подарок — конструктор Xiaomi MITU. Неожиданно для меня ребенок на неделю завис в этом конструкторе. Когда были испробованы первые модели и их управление с планшета, возник закономерный вопрос — «А как для него писать программы?»
И тут меня ждало жестокое разочарование — это творение сумрачного китайского гения содержало систему программирования, вполне доступную для рептилоидов с планеты Нубиру, но вряд ли пригодную для ребенка 6ти лет. Плюс внезапно оказалось, что совместимых с Миту датчиков вполне можно и не дождаться.
Но если ребенок просит — папа не может отказать. Начал исследовать варианты, разумеется смотрю на Лего, для начала на NXT/EV3. Сразу слегка разочаровывает цена, как на компьютер, так и на моторы/кнопки, потом начинаю смотреть на их последний писк Wedo — и там вообще все уныло.
Ок, есть же альтернативные версии, нахожу интересный проект Sbrick — цена более-менее вменяемая, совместимые моторы можно брать на Ali, но программирования там негусто.
Были так же всякие шилды на Биглбоны и Ардуины, но ничего достойного внимания не попалось.
Ну что ж, впереди были долгие зимние вечера, берем напильник и начинаем пилить.
Для первой версии взял разрекламированную ESP32, да еще и с OLED на борту. Красота.
К ней в компанию был куплен шилд с драйверами моторов и PCA9685:
Моего энтузиазма хватило где-то на неделю. Т.е. и на экране что-то показывает, и мотор крутится, но чем-то задним чувствую — не тот чип. Возможно, где-то для него и найдется ниша, но очень узкоспециальная, слишком уж он несбалансированный и какой-то китайский.
Ставлю на ESP32 жирный крест, беру следующего поциента. Волею случая это оказался RTL8710, купленный незадолго до этого на Али под предлогом «О, забавный! И недорого!».
Но тут даже много времени тратить не пришлось 🙂
C чистой совестью чип отправляется на свалку. И здесь вступление заканчивается и мы переходим к собственно проекту. Ибо следующим у меня на столе оказался NRF52. И не случайно — хорошо сбалансированный АРМ, с добротным СДК и толковой технической поддержкой. Собираю первый наколеночный вариант:
Для начала только светодиодики и блютуз профили. Отлаживаю самые базовые вещи и понимаю, что вот оно! Это именно тот чип, который мне нужен. Теперь уже можно добавить проекту немножко мускулов:
Ну тут уже есть и спикер, и драйвера, и акселерометр, и коннекторы для периферии. В качестве коннкторов изначально рассматривал вариант USB-C, как на Миту, но смутила сложность изготовления соединительных кабелей. Поэтому не стал изобретать велосипед, а просто поставил почти совместимые с Лего RJ-12. Их легко обжать, они дешевые и вполне надежные, как для детских шаловливых ручек.
Ну и в обычных леговских детальках разъем меняется за 3 минуты:
Тут уже пишется более-менее толковый софт, можно с телефона через блютуз конфигурировать и управлять железкой.
Параллельно создается проект на CircuitMaker (это тот же самый Альтиум, только бесплатный), где рисуется схема и плата.
На Али покупаются делатьки, на Сиидстудио — изготовление платы, и пока они неспешно плывут морями-океанами, продолжаем писать фирмварь.
Наконец приехали платы и часть деталей:
Заливаем фирмварь, радуемся миганию светодиодика. Наступила пора для следующей части. Рисуем модельку батарейного отсека и печатаем ее на 3Д-принтере:
Причем в отличие от китайских холдеров, в этот можно вставить аккумуляторы как с защитой, так и без:
Совершенно внезапно для меня оказывается, что первая же версия платы оказалась без глобальных косяков, все детали влазят, нигде никакая перемычка не забыта, мелкие апдейты по ходу не в счет:
Опять откладываем паяльник и берем 3Д-принтер. После десятка неудачных моделей таки получается приличный корпус:
С обратной стороны у него все готово для подсоединения к обычному Лего, уши по бокам совпадают по размерам с Lego Technic:
Моторы использую обычные китайские, лего-совместимые, а вот всякие дополнительные плюшки делаю отдельно. Например, из китайского HC-SR04 за доллар получился отличный Range srnsor:
C печатным корпусом и разъемом его стоимость получается меньше 3х долларов, при том что аналогичный леговский стоит $57:
Итого на сегодня есть коробочка, умеющая с помошью джаваскрипта рулить моторами и датчиками (внутри крутится слегка кастрированный Espruino в качестве сабмодуля), коробочка умеет апдейтить свою фирмварь через блютуз, схемы, платы, сорцы, 3д-модели — все выложено в открытом виде на гитхабе.
К сожалению, у меня осталась одна незакрытая задача. Я все-таки больше по железу, и когда понадобилось написать софтинку для Андроида, то я несколько подуныл.
В плане взять обычный код Blockly и к нему добавить аплоад через блютуз. И если есть желающие присоединиться или сделать себе такую же игрушку — велкам.
Гитхаб
Схемы
Группа в фейсбуке
Надеюсь, такая железка пригодится не только моему малышу.
Источник