У меня всегда была идея сделать робота на основе Ардуино и однажды утром мой коллега говорит: «было бы не плохо купить контроллер Arduino для…», я, конечно, знал об этом не понаслышке и с этого все и началось.
Делаем АВТОМОБИЛЬ на Arduino!
Где взять?
Исходя из того, что в Ростове-на-Дону, а я оттуда, ни в одном магазине о платформе Arduino никогда не слышали, я заказывал все онлайн.Как оказалось, самый дешевый способ — купить все в Китае через ebay, но есть большой недостаток — это занимает очень много времени.
Доставка заказа из Гонконга заняла больше месяца.
Второй вариант - забрать с родины, доставят через неделю-две, но немного дороже.
Пользуюсь магазином Амперка, здесь выбор не большой, но все необходимое для начала работы у них есть.
И товар качественный (в коробке с фирменными наклейками, все как надо) в отличии от своего китайского собрата.
Что взять?
Мой совет: определитесь со своей целью, а затем заказывайте, иначе у вас может оказаться слишком много.Моя цель — удаленно управлять движущейся платформой с помощью ПК.
Сразу совет – не ставьте сложных целей, если вы только начинаете, или разбивайте цель на более простые задачи.
Я решил упростить задачу — мне нужно, чтобы платформа передвигалась по комнате, а не врезалась в стены.
Для своего первого робота я заказал:
- Новая версия Ардуино Мега 2560 Стартовый комплект — это так называемый стартовый пакет, в который входит сам контроллер и сопутствующие материалы.
Я взял комплект с ЖК-дисплеем, но для первого проекта можно было обойтись и Уно .
- Motor Drive Shield L293D для Arduino Duemilanove Mega/UNO — Силовой модуль для управления двигателями.
- Arduino Sensor Shield V5.0 — модуль для подключения датчиков и периферии.
- Arduino Sharp IR Sensor — GP2Y0A21YK0F — инфракрасный дальномер.
- Полноприводное 4-колесное шасси робота Arduino — это полноприводная платформа с электродвигателями.
С чего начать?
Интернет кишит статьями о том, как работать и программировать с Arduino. Я не стал углубляться, решил начать с простых вещей:- Скачано К с официального сайта: драйвер для подключения контроллера и среды разработки с компилятором.
- Я написал свою первую программу, используя онлайн-каталог (функции ядра и библиотеки).
При этом мне пришлось вспомнить основы языка программирования «С».
- Я подключил и прошил контроллер.
Процедура довольно проста, если вы используете Инструмент разработки Arduino .
Как собирать?
Каждый решает сам как это сделать и с чего начать, я знаю одно - паять провода нужно качественно! Для сборки вам понадобится: голова, руки и немного знаний в электротехнике.Самое простое — собрать платформу, спаять схемы, установить на плату плату контроллера, дальше уже сложнее.
Будьте осторожны при подключении периферийных устройств к контроллеру или картам расширения.
Например, я столкнулся с тем, что распиновка на плате расширения (Sensor Shield) не совпадала с датчиком дальномера и ЖК-дисплеем, точнее разъемы подходят идеально, но полярность не совпадает. При несоблюдении полярности можно просто сжечь оборудование.
Многие вещи приходят с опытом разработки.
Например, я столкнулся с проблемой подключения ЖК-дисплея к последовательному порту.
Вернее, проблем не было, дисплей работал, но при подключении дисплея прошить контроллер нельзя, так как порт занят (долго не мог понять, почему не заливалась прошивка).
У Меги 4 аппаратных последовательных порта, казалось бы проще, переключить дисплей на второй, но этого не произошло, плата расширения, которую я использовал, не захватывает нужные пины на контроллере.
В результате я подключил ЖК к аналоговому порту и использовал библиотеку для работы с программным последовательным соединением.
Как программировать?
Ну товарищей на вкус и цвет здесь нет. Все зависит от поставленной задачи.Не буду рассказывать, как я это сделал, просто опишу некоторые моменты.
Чтобы ваша программа работала, контроллеру необходимо видеть только две функции — инициализацию контроллера (выполняется при запуске) и функцию основного цикла.
Самый простой пример можно увидеть здесь .
Далее я столкнулся с проблемой чтения данных с датчика - дальномера.
При чтении данных на каждой итерации цикла на одном и том же расстоянии были получены разные значения сигнала.
Оказалось, что датчик передает в аналоговый порт сигнал с определенной амплитудой и иногда в момент чтения данных значение оказывалось отличным от нормального, потому что итерация не удалась.
Пришлось написать функцию чтения с датчика таким образом, чтобы снимать несколько показаний подряд, а затем отфильтровывать ошибочные значения и приводить всё к среднему арифметическому.
Запуск прототипа!
P.S. Не использует китайские аналоги.Теги: #arduino #роботная система arduino #микроконтроллеры #роботы #Разработка для Arduino
-
На Youtube Появился Отложенный Просмотр
19 Oct, 24 -
Симметричное Свойство Отношения Коинтеграции
19 Oct, 24 -
Маловероятные События И Жизнь
19 Oct, 24 -
Определение Вектора Развития В Проекте
19 Oct, 24 -
Еще Один Клон Onemilliondollarhomepage
19 Oct, 24