Как сделать простого робота в домашних условиях
Теперь робот поддерживает три функции: управление с ик-пульта любого , бег по трассе, движение за источником света. Сюда можно отнести мини-ПК, платы управления двигателями, ультразвуковые датчики, гироскопы и прочее. Возьмите линейку и режущий предмет, и измерьте длину и ширину ходовой рамки, примерно 15 см на 20 см. Диаметр - это длина колеса от одной стороны, проходя через центральную точку, на другую сторону.
Он дороже, да и больше по габаритам, но все же мощнее. Решать вам! Для начала необходимо разложить электронику на оргстекло и маркер поставить отметки, где нужно просверлить отверстия рис.
С помощью линейки-угольника начертите линию параллельно краю вашей поверхности, с которой работаете, для электромоторов. Она послужит вам проверкой, чтобы вы не ошиблись , ведь моторы должны быть параллельными.
Когда вы будете уверены.
Закрепляем на каркасе Arduino и драйвер двигателя, при этом используя стойки, винты и гайки. Макетную плату прикрепим на ее нижний липкий слой. Дальше сделаем заднее опорное колесо из бусины и скрепки рис.
Концы проволоки нужно закрепить суперклеем или термоклеем на нижней стороне основы рис. Спереди каркаса приклейте сервопривод на суперклей. Внимательно рассмотрите, как плата ультразвукового датчика крепится к сервоприводу с помощью маленького вала рис. Внешний вид конечного результата вы можете посмотреть на рис. На мини макетную плату установим диод, зуммер и кнопку. Плата значительно упростит схему и позволит подключать больше новых устройств в будущем. Вставьте батарейку и нажмите на кнопку один раз, для запуска робота.
Он начнет двигаться вперед. Можно было использовать и Raspicam, но это обошлось бы несколько дороже. Механическая основа робота — гусеничная платформа с дифференциальным приводом — классическая, в общем-то, для простых робототехнических экспериментов.
Два независимых колеса вращающих гусеницы. Данное решение оказалось несколько ошибочным, так как такие конструкции не лишены следующих недостатков:. Часто слетают гусеницы при повороте на поверхностях с высоким коэффициентом трения, например на ковре. Идеальным решением была бы обычная платформа на колесах, управляемая по танковой схеме. Но гусеницы выглядят интересней. Для исключения возникновения помех и просадок напряжения цепи питания моторов и Raspberry Pi было решено разделить.
Изначально драйвер моторов был запитан от телефонного аккумулятора на 3.
Вероятно из-за импульсного характера напряжения. Потому было куплено два одинаковых аккумулятора от старого телефона Samsung.
И они идеально вписались в батарейный отсек, будучи соединенными конструктивно скотчем и последовательно электрически. А малинка запитана от power-банка Xiaomi с быстрой зарядкой, так-же идеально подходящей под габариты платформы. Величины тока вполне хватает для питания Raspbery Pi4.
Изначально был выбран драйвер L, но он часто выключался при питании от повышающего DC-DC преобразователя, потому код был исправлен и установлен LN. Проблему это не решило, а модуль так и остался. Принципиальной разницы в работе модулей замечено не было. Так как это лишь домашний прототип, то собирается все из "полиморфа", палок и супер-клея.
Power-банк на самом дне, для сохранения низкого центра тяжести. Прижат пластиной из конструктора, на которую пластиковыми болтами закреплены две скобы к которым уже и крепится корпус Raspberry Pi.
Камера прикручена в задней части по причине того что так комфортнее управление. Проще понимать габариты когда видишь края гусениц, а объектив на камере не широкоформатный.
Чудесным образом размер пластины из конструктора совпал с габаритным размером задней части платформы, что дало возможность спрятать под пластину скрученный длинный провод. Мелкие детали крепятся на супер-клей. А драйвер моторов - на двухсторонний скотч прямо к power-банку. Так как это прототип, то качество кода, да и всего проекта в целом соответственное. Есть некритические ошибки. Реализован проект на языках JavaScript и Python. Репозитории проекта с комментированным кодом доступен по ссылке.
Весь код тут приводить не буду, постараюсь описать только основные моменты. Этот самый идентификатор должен ввести у себя в интерфейсе оператор. И сообщения отправляемые со страницы оператора доставляются на страницу платформы и наоборот. Таким образом реализована абстракция типа комнаты, для возможности одновременного функционирования нескольких платформ.
С кодом сигнального сервера можно ознакомится по ссылке.
Для общения с сигнальным сервером из клиентской части реализован класс SignalEmitter. Принимает в конструктор объект с настройками. Развернут он у нас на старом десятилетнем ноутбуке.
Для соединения по протоколу был реализован класс RTC. В конструктор принимает два параметра - объект настроек options и экземпляр класса SignalEmitter, который был описан выше.
Для прототипирования интерфейса использовался Vue. Как выглядит прототип интерфейса и его функционал опубликовал в видео:. Здесь мы подключаем конфигурационный файл, устанавливаем нужные флаги браузеру и открываем соответствующую страницу. О назначении каждого с флагов можно догадаться интуитивно, ну или же воспользоваться поисковиком. Эта часть написана на Python. Ее функция - принять управляющий сигнал по websocket со страницы платформы, преобразовать сигнал и вывести соответствующие значения на выводы GPIO.
Что соответствует движению назад и вперед, и дает возможность весьма точно регулировать скорость движения с помощью широтно-импульсной модуляции.
GItHub репозиторий.
- Телепрограмма Домашний На Субботу
- Сделай Фонетический Разбор Слов Мяч Ящик Пень
- Как Сбить Температуру В Домашних Условиях
- Спа В Домашних Условиях
- Как Убрать Нежелательные Волосы В Домашних Условиях
- Что Сделать С Куриным Филе
- Как Сделать Отопление В Доме Схемы
- 145 Способов Сделать Приятное Любимому
- С Чем Сделать Пиццу
- Чем Отличается Робот От Автомата