Автономная смарт машина на Arduino

Содержание

Основная идея проекта — создать недорогую автономную четырехколесную подвижную платформу.

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

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

Необходимое оборудование и материалы

  • Arduino
  • Arduino Мотор шилд
  • Радиоуправляемая машина
  • Паяльник
  • Припой
  • Инфракрасный передатчик
  • Инфракрасный приемник
  • Батарейка 9 В с коннекторами
  • Переключатель

Компоненты для модификации радиоуправляемой машинки Радиоуправляемая машинка

*Обратите внимание: если в вашей машине установлена большая плата контроллера, то это, скорее всего, чип TX2 или RX2. Если это так, то вы можете сэкономить немного денег и использовать для двигателей встроенные контроллеры. Хороший пример (на английском языке!) есть здесь.

Разбираем машинку

Ваш первый шаг — разобрать машинку. Снимите корпус и извлеките все платы из машинки. Моторы не трогаем. В проекте нам понадобятся родные шасси, колеса и моторы.

Разобранная машинка

Подготавливаем сенсоры

Подготавливаем электронику. Для начала припаяйте резистор на 100 Ом к одному из контактов на вашем ИК передатчике. Припаиваем провода к другой ноге резистора и ноге датчика. После этого припаиваем два провода к ногам вашего ИК приемника.

ИК-передатчик

Устанавливаем Arduino и датчик

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

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

Разобранная четырехколесная платформа Машинка с Arduino

Переходим к следующему шагу.

Питание

В проекте используется одна батарейка на 9 В (крона). В данном случае ее получилось установить под несущей системой платформы на колесах. Крепим пластиковыми стяжками. В принципе, для увеличения времени автономной работы нашего автомобиля, можно установить две кроны параллельно.

Крона для питания машинки Установка батарейки на машинку

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

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

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

Arduino и мотор шилд на машинке Подключение Arduino и мотор шилда к машинке

Позитивный контакт — 5v

Отрицательный контакт — Ground

Позитивный контакт — Analog pin 5

Негативный контакт — Ground

Позитивный контакт — Мотор шилд Channel A +

Негативный контакт — Мотор шилд Channel A —

Двигатель для поворота

Позитивный контакт — Мотор шилд Channel B +

Негативный контакт — Мотор шилд Channel B —

Позитивный контакт — Мотор шилд Vin

Негативный контакт — Мотор шилд Gnd

Программа Arduino

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

int irsensor = A5;

int ambientir = 0;

//настройка канала A (Channel A)

pinMode(12, OUTPUT); //инициализация контакта Motor Channel A

pinMode(9, OUTPUT); //Инициализация контакта тормоза — Brake Channel A

ambientir = ambientir + analogRead(irsensor);

measure = measure + 1;

while(measure ambientir — 50)<

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

Результат, тестирование и дальнейшие варианты модификаций

Как видите на фото, оригинальный корпус машинки был окрашен в бежевый цвет и установлен на стойках на подвижную четырехколесную платформу.

Корпус машинки готовая смарт машинка

После тестирования разработанной конструкции можно выделить следующие проблемы:

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

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

Машинка не врезается в стены, но с 90% вероятностью соберет бампером все ножки стульев и столов в комнате. То есть, с обнаружением более мелких препятствий есть явные проблемы. Соответственно, надо либо увеличивать количество эмиттеров, либо использовать более дорогостоящие модели с большей чувствительностью.

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!


Источник: arduino-diy.com