Сайт о роботах

Мозги моего робота — Arduino, первый опыт » Роботы на платформе Ардуино


Меня всегда посещала мысль сделать робота на базе Arduino и однажды утром мой коллега говорит — «не плохо было бы купить контроллер Arduino для...», я конечно же знал про него не по наслышке и тут все началось. Мы делаем «Ардуино КАР»!
Навигация
Самые интересные статьи
Четвероногий военный робот следует за хозяином
Четвероногий военный робот следует за хозяином
Компания Boston Dynamics отчиталась об очередных успехах по разработке четвероногого транспортного робота, предназначенного для работы в качестве средства поддержки...

Обратите внимание Будьте в курсе событий.

Мозги моего робота — Arduino, первый опыт

14.02.2014, 12:26
Источник: habrahabr.ru

Меня всегда посещала мысль сделать робота на базе Arduino и однажды утром мой коллега говорит — «не плохо было бы купить контроллер Arduino для...», я конечно же знал про него не по наслышке и тут все началось. Мы делаем «Ардуино КАР»!



Где взять?

Исходя из того что в Ростове-на-Дону, а я как раз от туда, про платформу Arduino ни в одном магазине не слыхали, то заказывал все online.

Как оказалось дешевле всего купить все в Китае через ebay, но есть большой минус — очень долго. Доставка заказа из Гонконга более месяца.

Второй вариант взять у нас на родине, доставят за неделю — две, но чуть дороже. Я пользуюсь магазином «Амперка», здесь выбор не большой, но зато есть все что необходимо для начала. И товар хорошего качества (в коробочке с наклеичками бренда, все как надо) в отличии от китайского брата.



Что брать?

Мой совет — определитесь с целью, потом заказывайте, иначе можно взять лишка.
Моя цель — дистанционно управлять движущейся платформой по средствам ПК.
Сразу совет — не ставьте сложных задач, если вы только начинаете, или разбивайте цель на более простые задачи.
Я решил упростить задачу — мне нужно, чтобы платформа ездила по комнате и не врезалась в стенки.

Для моего первого робота я заказал:
Arduino New Version Mega 2560 Starter Package Kits — это, так называемый, стартовый пакет, куда входит сам контроллер и сопутствующие материалы. Я взял набор с LCD дисплеем, но для первого проекта можно было обойтись и Uno.

Motor Drive Shield L293D for Arduino Duemilanove Mega / UNO — Силовой модуль для управления двигателями. Arduino Sensor Shield V5.0 — модуль для подключения датчиков, и периферии.
Arduino Sharp IR Sensor — GP2Y0A21YK0F — инфракрасный дальномер.
Arduino Robot Platform All-Wheel-Drive 4 Wheel Chassiss — полно приводная платформа с электродвигателями.

С чего начать?

Интернет кишит статьями, как работать и программировать под Arduino. Я не стал углубляться, решил начать с простых вещей:
Скачал ПО с официального сайта: драйвер для подключения контроллера и среда разработки с компилятором. Написал первую программу, пользуясь онлайн справочником (функции ядра и библиотеки). При этом пришлось вспомнить азы языка программирования «C».
Подключил и прошил контроллер. Процедура довольно проста, если использовать средство для разработки Arduino.

Как собирать?

Каждый для себя решает сам как делать и с чего начинать, я знаю одно — провода спаивать нужно качественно!
Для сборки понадобится: голова, руки и небольшие знания в электротехнике.
Самое простое — собрать платформу, спаять цепи, установить плату контроллера на борт, далее сложнее.



Будьте внимательнее при подключении периферии к контроллеру или платам расширения. Например я столкнулся с тем, что распиновка на плате расширения(Sensor Shield) не совпадала с датчиком дальномером и LCD дисплеем, вернее разъемы подходят отлично а полярность не совпадает. При не соблюдении полярности можно попросту спалить оборудование.



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



Как программировать?

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

Чтобы ваша программа заработала, контроллеру достаточно увидеть две функции — это инициализация контроллера (выполняется при запуске) и функция основного цикла. Простейший пример можно посмотреть тут.(http://arduino.cc/en/Tutorial/Blink)

Далее я столкнулся с проблемой чтения данных с датчика — дальномера. При чтении данных, при каждой итерации цикла, приходили разные значения сигнала при одном и том же расстоянии.

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

Запуск прототипа!



P.S. Не использует китайские аналоги.

Arduino Robot: открытая платформа для сборки роботов

Arduino Robot: открытая платформа для сборки роботов
  • Компания Arduino анонсировала новое семейство инженерных плат и выпустила готовый конструктор Arduino Robot для сборки роботов. Как обычно, ...
  • НАЗАД
    Горячие Ардуиновские новости!!!

    Горячие Ардуиновские новости!!!
  • В этом посте будет краткий обзор новинок от Arduino ...
  • ВПЕРЁД


    уборка квартир киев цены