Машина на радиоуправлении arduino

Делаем машинку на радиоуправлении на Arduino Uno

Начать процесс изготовления советуем с просмотра авторского видеоматериала

Для изготовления машинки, нам понадобится:
— игрушечная машинка;
— две карты Arduino Uno;
— две платы радио модуля NRF24;
— конденсатор на 470 мф, 25 вольт;
— плата драйвера двигателя L298N;
— двигатель;
— сервопривод;
— аналоговый джойстик;
— аккумуляторные батарейки;
— батарейка крона;
— две кнопки включения и выключения;
— корпус.

Первым делом необходимо припаять конденсатор на выводы питания радио модуля. Также предварительно нужно собрать аккумуляторные батарейки, чтобы получить суммарную мощность в 12 вольт для питания двигателя и платы Arduino.

Необходимо позаботиться о поворотной системе автомобиля. Для этого вырезаем часть, предназначенную для крепления передних колес.

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

Теперь необходимо проделать отверстия диаметром 4 мм в нижней части корпуса машинки и колесах.

Собираем все. Просовываем винт в колесо, и фиксируем двумя гайками.

Далее надеваем на тот же винт уголок и снова фиксируем гайками.

Просовываем еще один винт в отверстие на корпусе, фиксируем гайками.

В конце остается надеть колесо с уголком на гайку в корпусе машинки и зафиксировать еще парой гаек. Проделываем то же самое со вторым колесом.

Теперь необходимо соединить сервопривод к поворотной системе.

Далее нужно соединить двигатель к шасси. Для этого распиливаем ось шасси по центру. Далее вставляем в отверстия двигателя обе полуоси и приклеиваем эпоксидным клеем.

Также в двигателе есть специальные крепежные отверстия, в которые нужно вставить два винтика, чтобы закрепить двигатель на корпусе машинки.

Теперь необходимо залить код на плату Arduino. В конце статьи будет представлен код для приемника, а также код для передатчика.

Представляем схему сборки джойстика или передатчика.

Ниже вы можете увидеть схему сборки приемника.

В конце остается собрать электронику и механику самодельного радиоуправляемого автомобиля. При включении надо сначала включить пульт управления, после чего саму машинку.

Источник

Контролируем со смартфона радиоуправляемую машину с использованием Arduino

Этот урок показывает как сделать радиоуправляемую модель машины, которую можно контролировать через смартфон. В этом руководстве мы будем использовать плату Arduino Uno.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Шаг 1. Комплектующие

Для того, чтобы сделать модель машины на радиоуправлении (RC-машина) с использованием Ардуино и с возможностью контроля через смартфон, нам понадобятся следующие детали:

Шаг 2. Шасси

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Вы можете купить готовый комплект для сборки 4WD шасси или сделать его с помощью ПВХ или любого вида жесткой доски. Наш вариант на фото выше был куплен в онлайн-магазине. Вполне возможно сделать аналог этого шасси своими руками. Не имеет особого значения вид шасси, можно выбрать на свой вкус.

Шаг 3. Моторы (приводы)

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

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

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

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

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Шаг 4. Установка двигателей

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Следуйте фотографиям выше для того, чтобы понять как установить все двигатели на шасси нашей будущей модели радиоуправляемой машины, которую мы будем контролировать со смартфона.

Шаг 5. Ардуино контроллер

Плата оснащена наборами цифровых и аналоговых пинов ввода/вывода (I/O), которые могут быть подключены к различным платам расширения (экранам) и другим цепям. Плата имеет 14 цифровых контактов, 6 аналоговых контактов и программируется с помощью Arduino IDE (интегрированная среда разработки) через USB-кабель типа B. Плата может питаться от USB-кабеля или от внешней 9-вольтовой батареи, хотя он принимает напряжение от 7 до 20 вольт, по аналогии с Arduino Nano и Leonardo.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Эталонный дизайн оборудования распространяется под лицензией Creative Commons Attribution Share-Alike 2.5 и доступен на веб-сайте Arduino. Макет и производственные файлы для некоторых версий оборудования также доступны. «Uno» означает один на итальянском языке и был выбран в честь выпуска Arduino Software (IDE) 1.0. Плата Uno и версия 1.0 программного обеспечения Arduino (IDE) были эталонными версиями Arduino, теперь разработанными для более новых выпусков.

Плата Uno является первой в серии плат Arduino c USB и эталонной моделью для последующих платформ. ATmega328 на Arduino Uno поставляется с предварительно запрограммированным загрузчиком, который позволяет загружать новый код без использования внешнего аппаратного программера с использованием оригинального протокола STK500. Uno также отличается от всех предыдущих плат тем, что не использует микросхему драйвера FTDI USB-to-serial. Вместо этого он использует Atmega16U2 (Atmega8U2 до версии R2), запрограммированный как преобразователь USB-to-serial.

Микроконтроллеры обычно программируются с использованием диалекта функций из языков программирования C и C++. В дополнение к использованию традиционных наборов инструментов компилятора проект Arduino предоставляет интегрированную среду разработки (IDE).

Шаг 6. H-мост (модуль LM 298)

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Термин H-мост (англ. H-bridge) выведен из типичного графического представления такой схемы. Это схема, которая может приводить двигатель постоянного тока в прямом и обратном направлении, см. рисунок выше для понимания работы H-моста.

Он состоит из 4 электронных переключателей S1, S2, S3 и S4 (транзисторы / МОП-транзисторы (MOSFET) / IGBTS). Когда переключатели S1 и S4 замкнуты (а S2 и S3 разомкнуты), на двигатель идет положительное напряжение. Поэтому он вращается в прямом направлении. Аналогично, когда S2 и S3 замкнуты, а S1 и S4 открыты, обратное напряжение идет через двигатель, поэтому он вращается в обратном направлении.

H-мосты доступны в виде интегральных микросхем, или вы можете создать свой собственный, используя 4 обычных транзистора или полевых транзистора (MOSFET). В нашем случае мы используем микросхему H-моста LM298, которая позволяет контролировать скорость и направление вращения двигателей. Ниже перейдем к описанию пинов:

Выход 1: двигатель постоянного тока 1 «+» или шаговый двигатель A+

Выход 2: двигатель постоянного тока 1 «-» или шаговый двигатель A-

Выход 3: двигатель постоянного тока 2 «+» или шаговый двигатель B+

Выход 4: двигатель B выведен

12В контакт: 12В вход, но вы можете использовать от 7 до 35 В

GND: земля

Вывод 5В: выход 5 В, если перемычка 12 В на месте, идеально подходит для питания вашего Arduino

EnA: включает сигнал ШИМ для двигателя А

IN1: включить двигатель A

IN2: включить двигатель A

IN3: включить двигатель B

IN4: включить двигатель B

EnB: включает сигнал ШИМ для двигателя B

Шаг 7. Источник питания

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Для нашей радиоуправляемой модели машины на основе Ардуино и с контролем через смартфон могут быть использованы следующие батареи:

Шаг 8. Электрические соединения

Для реализации соединений нужны перемычки. Соедините красные провода двух двигателей (с каждой стороны) вместе и черные провода вместе. Таким образом у нас теперь есть два терминала с каждой стороны. MOTORA отвечает за два правых двигателя, соответственно два левых двигателя подключены к MOTORB. Следуйте инструкциям ниже, чтобы соединить все.

Соединения двигателей

Питание

Шаг 9. Логика управления

Логика управления описывается в таблице ниже.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Шаг 10. Приложение для смартфона

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Скачать приложение и установить в смартфон вы можете через Google Play (ссылка).

Для управления RC-автомобилем мы используем смартфон. Смартфон подключается к контроллеру через модуль Bluetooth (HC-06/05). После установки приложения необходимо настроить связь с модулем Bluetooth. Пароль для связи: «1234».

Шаг 11. Код Ардуино

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

Источник

Машинка на Arduino, управляемая Android-устройством по Bluetooth, — полный цикл (часть 1)

Введение

Подробная история того, как из трех двигателей была собрана машина на Arduino, управляемая Android-устройством по Bluetooth. В нескольких десятках абзацев постараюсь максимально пошагово изложить, куда подключить каждый из проводов, как написать фирменное приложение и на каких детских граблях пришлось попрыгать больше недели.

Немного об уровне, авторе и предостережения

Я, автор, пацан 16-17 лет с подмосковной деревни, специализируюсь на написании android-приложений (а там сложнее что-то сжечь), поэтому ответственность за оптимальный подход к решению задач с себя снимаю.

Практически каждый из нижеописанных этапов занимал у меня больше, чем стоило бы, времени. Наверно, именно по этой причине хочу поделиться опытом. И при этом буду очень рад, если поругаете за ошибки и подскажите за оптимизацию.

Задача

Понадобится

Основа конструкции

За основу была взята машина Lego Outdoor Challenger (в реальности выглядит менее пафосно). Все, что от нее осталось: корпус (все элементы украшения сняты) и три двигателя.
Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino
У машинки была своя плата, но одна из задач подразумевала универсальность: это сделал я, это смогут повторить другие. Мозги вынул, поставил Arduino Uno.

Установка Arduino

Создатели почему-то не предусмотрели места для Arduino, потому крепил на шурупы, просверлив пластик. Под плату подложил фанеру, чтобы ничего не закоротило. Под шурупы лучше подсунуть что-то пластиковое (кусочек бутылки), ибо плата от железный болтов не защищена.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Поверх платы сразу поставил две motor shiled, так надо. Чтобы управлять второй, придется прокинуть один провод с любого digital порта на H1 (направление) и второй с пина с поддержкой шима (помечены знаком «

», обычно 10, 11) на E1 (скорость).

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Определение угла поворота

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

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

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

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Принцип работы: к каждой линии припаивается провод (всего их четыре), нижний подключается к плюсу (он зажат гребешком всегда, см. картинку), остальные провода уходят на минус. Когда зубик гребешка попадает и на нижний ряд, и на, допустим, третий, происходит замыкание, ток течет, это замечает Arduino.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Благодаря различным комбинациям трех полос, можно определить до семи углов. Например, когда ток есть на всех линиях, колеса повернуты в крайнее правое положение, когда ток есть только на верхней, колеса повернуты максимально влево. В таблице предоставлены все варианты.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Подключение угла и код

Для каждого уровня был выбран свой цвет: нижний – зеленый, первый снизу – красный, второй – черный, третий – белый. На начальном этапе использовались breadboard и светодиоды для визуальной отладки.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Схема подключения показана на рисунке. Плюс тянем к зеленому, остальные протягиваем к минусу. Через резистор, установленный для устранения помех и отсутствия КЗ, подключаем провода к выходам A0-A2. Выбраны они просто из экономии остальных портов.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Код дан с комментариями. Подключаем пины и опрашиваем их через digitarRead(). Если напряжение есть, вернется значение true. Далее смотрим, если результат означает, что колеса в крайних положениях, запрещаем дальнейший поворот в эту сторону.

Небольшая хитрость: поскольку выходы на 5В и 3.3В понадобятся в будущем, можно поставить плюс на один из digital-пинов. Перед каждой проверкой угла выдавать ток через digitalWrite(whitePin), потом проверять угол и убирать ток.

Распараллеливание ходовых колес

Изначально два ходовых двигателя соединены вместе. Их рассоединил по двум причинам: поворот эффективней, если колеса крутятся в разные стороны, и два мощных двигателя одна плата не вытянет.

Проблема: у motor shield два выхода, каждый из которых выдает до 2 ампер. Каждый двигатель ест по 0,7А. Вроде меньше, но не при максимальных нагрузках. Допустим, машинка застряла в песке или уперлась, ток возрастает выше ампера. Не критично, но потенциально опасно.

А вот критичным оказалось то, что плата греется. Через минуты полторы после заезда, motor shield нагревалась и начинала работать безобразно: токи подаются не те, колеса не крутятся и прочее.

Решение обоих проблем: один двигатель подключил к одной motor shield, второй – к другой. Как ни странно, помогло. Температура упала, перегрев отсутствует. Можно было поставить радиатор, но крепить тяжело.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Подключение Bluetooth

Я использовал модель HC-05, что сыграло роковую шутку. Подключаются все блютузы одинаково: один провод на 3.3В (иногда начинал работать только от 5В), второй на минус, еще два на порт 0 и 1 (чтение и отправка соответственно). Провод, подписанный RXD на bluetooth, втыкается в TXD ардуино, а TXD в RXD (если перепутаете, то данных не увидите).

Есть оговорка: порты 0 и 1 по умолчанию используются Serial, через который заливает скетч. То есть, пока воткнут блютуз, скетч не зальется. Есть два выхода: вынимать блютуз на время заливки или переназначить входы и выходы блютуза. Второй вариант осуществляется двумя строчками

Подводный камень, съевший у меня трое суток работы – скорость общения. По привычке установил 9600 и пошел пробовать. То данные не приходили, то была каша символов. И в конце концов ответ – модель HC-05 общается на 38400! Очень сильно обратите внимание на то, что в Setup() я выполню BTSerial.begin(39400), хотя Serial.begin(9600).

Система отправки команд

Статья становится слишком длинной, поэтому рассмотрение кода Arduino и Android вынесу в отдельную вторую часть, а сейчас опишу принцип.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

После установки сокета данные отправляются в следующем формате: @скорость#*угол#. @ — говорит о том, что следующие цифры содержат скорость, # — извещает об окончании значения скорости, * — начало значения угла, # — закончить запись угла. Цикл бесконечен, команды отправляются каждые 100 миллисекунд (цифра подобрана оптимальная). Если ничего не нажато на андроиде, то ничего и не отправляется.

Алгоритм приема данных подробно описан в коде скетча. Он не раз переписывался и, как по мне, работает идеально.

Заключение первой части

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

Но самое интересное, как по мне, осталось на второе – программа Arduino и приложение на Android, там творится настоящая магия, по крайней мере, для молодого меня.

Источник

Переделка RC-машинки в смарт-машинку при помощи ардуино

Во многих проектах на ардуино предлагается сделать то же самое, что продается в магазинах, но с гораздо большими трудовыми и материальными затратами. Сегодняшний проект не такой, смарт-машинки продаются в магазинах, но стоят в среднем раз в 5 дороже, чем RC-машинки. Поэтому я решил поделиться, как можно переделать практически любую RC-машинку в модную нынче машинку с приставкой «смарт» при помощи ардуино. Вот демо видео того, что получилось в итоге:

Итак, переделывать я решил стандартную RC-машинку, купленную в магазине игрушек примерно за 500 рублей.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Переделку можно осуществить двумя основными способами:
1. Подключить ардуино к пульту ДУ от машинки
2. «Вживить» ардуино внутрь самой машинки

Я решил попробовать оба способа, но сегодня расскажу только про первый, поскольку он несколько проще, а начинать лучше с простого.

Чтобы подключиться к пульту ДУ, его нужно сначала разобрать и удалить те 4 кнопки, которые отвечают за движения вперед-назад и повороты вправо-влево. Можно их отпаять, а можно просто сломать корпус кнопок, оставив только контакты.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Вместо четырех кнопок подключаем четырехканальный блок реле по схеме:

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Блок реле подключаем к ардуино, а она уже будет получать сигналы со смартфона посредством блютуз модуля. Скетч для ардуино

unsigned long incomingByte;
int LED2 = 6;
int LED3 = 7;
int LED4 = 8;
int LED5 = 9;

Теперь нужно сделать простенькое приложение для управления всем этим на подобии этого:

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Приложение я сделал в среде визуальной разработки андроид приложений App Inventor 2.

Выглядит оно приложение так:

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Логика у приложения очень простая: при касании пальцем кнопки оно отправляет сигнал на ардуино замкнуть соответствующее реле. При отпускании кнопки отсылается команда разомкнуть все реле. Скачать приложение можно тут, исходник тут, но если у кого-то есть полчаса-час лишнего времени, то можно сделать такое приложение «с нуля». На эту тему я снял отдельное видео, где подробно рассказываю что и как делать для тех, кто сталкивается с этой средой разработки в первый раз.

Ну и в конце фото того, как эта схема управления выглядит. Упаковывать все это в коробку не стал, поскольку в планах есть внедрение ардуино непосредственно в корпус этой машинки.

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino
P.S. Сборник из более 100 обучающих материалов по ардуино для начинающих и профи тут
P.P.S. Онлайн курс по ардуино на гиктаймс здесь.

Источник

Радиоуправляемая Wi-Fi машинка с камерой

Начало

Роутер

Обнаружив в своем городе роутер D-Link DIR-320, у которого есть USB порт, сразу же его купил. Придя домой, узнал, что у этого роутера есть невыведенный UART-порт. Таким образом, у нас появляется канал связи между роутером и ардуиной.
Для роутера я выбрал прошивку OpenWrt. Можно скачать готовую прошивку с OpenWrt для DIR-320 это /brcm47xx/openwrt-brcm47xx-squashfs.trx»>здесь. Уже не помню почему, но я решил собрать прошивку сам (подробно описано тут). Для этого понадобится Linux (я собирал на Ubuntu 11.10). Для начала, скачаем исходники прошивки и соберем все, что нужно:

Компилируем и прошиваем

Теперь нужно ее прошить:
Для bash’а:

Настройка загрузки с флешки

После первого включения заходим на веб-интерфейс роутера и изменяем пароль. Теперь подключаемся к нему через SSH. Нужно настроить загрузку с флешки, для этого сначала нужно ее разметить. У меня было два раздела: первый – ext3-раздел для rootfs, второй – swap. Открываем /etc/config/fstab в vim’е и пишем то, что соответствует нашей фелшке. У меня так:

Сохраняем, перезагружаемся ( reboot ).

Демон

Управлять двигателями будет ардуина, поэтому напишем демон, который будет перенаправлять всё, что пришло на TCP порт 5554 в /dev/ttyS0.
Мой скомпилированный вариант демона искать в архиве (card)
Компилируем с помощью gcc, который был собран в процессе подготовки к сборке прошивки:

Небольшое отступление об удобстве организации работы с роутером
Демон [продолжение]

Заливаем на роутер наш демон, добавляем его в автозагрузку.
Теперь ставим mjpg-streamer:

Пишем в /etc/config/mjpg-stramer следующие:

Пробуем подключить камеру. Если все нормально, то можно будет увидеть изображение тут:
/?action=stream»>http:// /?action=stream.

Arduino и соединение

Программная часть

В архиве моя программка для управления машинкой (rotate и power из архива нужно скопировать в /bin/ на роутере, card – мой демон). Работает только с джойстиком. На вкладке планирование вы можете написать bash скрипт (не забудьте opkg install bash на роутере) для его выполнения с помощью демона cron. Так как этот демон нужно после изменения его настроек перезапускать, моя программа запускает скрипт по адресу /cron-restart»>http:// /cron-restart. Поэтому нужно его создать (/www/cgi-bin/cron-restart) и не забыть сделать исполняемым. Код:

Заключение

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

Машина на радиоуправлении arduino. Смотреть фото Машина на радиоуправлении arduino. Смотреть картинку Машина на радиоуправлении arduino. Картинка про Машина на радиоуправлении arduino. Фото Машина на радиоуправлении arduino

К такому девайсу можно присоединить Bluetooth (не пробовал, но драйвера есть), 3G-модем (интернет получить у меня получилось, но похоже провайдер не выдаёт каждому клиенту собственный внешний ip-адрес, поэтому придется использовать что-то типа back-connect’а или vpn), gps приёмник (проблем возникнуть не должно – ведь он должен определиться как последовательный порт).

Примечания

Если вдруг роутер перезагружается, то стоит убрать от него подальше все провода или все их экранировать. Экспериментальным путем я понял, что роутер может перезагрузиться от наводок, поэтому пришлось обмотать хаб несколькими слоями изоляции и алюминиевой фольги.
И вот еще. Вместо роутера можно использовать Raspberry Pi, а вместо транзисторов и реле — Arduino Motor Shield.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *