Изучение платы Arduino
Введение
В этом разделе курса студенты должны ознакомиться с микроконтроллером, который является «мозгом» для простых роботов. Для этого необходима готовая плата с микроконтроллером, так как курс не включает в себя проектирования схем, изготовления и пайки плат — это является отдельным предметом, на некоторых факультетах и вовсе не изучаемым. Кроме того, это долго, требует наличия специализированной лаборатории и не даёт возможности сразу приступить к программированию.
Нами была выбрана плата итальянского OpenSource проекта Arduino. К её достоинствам можно отнести: доступность для новичков за счет обилия документации и обучающих примеров, отсутствие необходимости пайки и специализированного программатора, кроссплатформенность среды разработки, язык разработки C++ (avr-gcc). Из недостатков можно назвать высокую цену (~1000 рублей за стандартную плату, 500 рублей за уменьшенную плату формата Nano), аскетичную среду разработки.
Основные цели работы с платой:
ñ Основы программирования микроконтроллера
ñ Знакомство с радиодеталями
ñ Умение читать простые принципиальные схемы и собирать на их основе устройства
ñ Осознание многообразия подключаемых к контроллеру устройств и способов их подключения. Чем больше их (по возможности) будет показано, тем лучше. Датчики с аналоговым выходом, цифровые, подсоединяющиеся по 1-Wire или I2C — всё это хорошо было бы продемонстрировать.
Технические требования
Для выполнения нижеперечисленных задач требуются:
ñ Компьютеры
ñ Arduino IDE на всех компьютерах
ñ Fritzing на всех компьютерах
ñ Processing IDE на всех компьютерах
ñ Наборы для изучения Arduino (нами были заказаны Fritzing Starter Kit).
Описание среды, установка
Среда разработки свободно скачивается с официального сайта http://arduino. cc
Установка среды проста и не требует каких-либо разъяснений. При запуске есть один нюанс: если есть антивирус Касперского, то лучше его временно отключить, потому что он удаляет запускаемый Arduino java-файл. В этом случае ни одна программа не скомпилируется, и придётся переустанавливать всю среду.
Практические задачи
Предполагается, что студенты знакомы с языками C и (желательно) C++, а также физикой в объёме школьной программы. Схемы практически ко всем задачам есть в редакторе Fritzing, но полезнее, если студенты сами до них додумаются.
Задача 1. Знакомство с платой
Здесь студенты рассматривают плату и осознают, где что находится. Они должны быть кратко проинформированы о технике безопасности при работе с платой (опасность короткого замыкания, статики). Преподаватель должен показать презентацию об Arduino.
Например, очень хороша презентация Bionic Arduino — http:///blog/bionicarduino/. О том, что рассказывается на занятиях: http:///archive/news/2007/10/10/bionicarduino/
При знакомстве с платой должны быть усвоены следующие понятия: аналоговый и цифровой сигнал, логические уровени, задержка по времени, вывод, конфигурация вывода как входа или выхода.
Потом студенты осваивают среду разработки Arduino IDE, Processing IDE и смотрят редактор Fritzing.
Также обязательно изучение мультиметра (приносится учителем самостоятельно). Отработать измерение:
ñ силы тока, проходящего через светодиод
ñ напряжения
ñ сопротивления (на потенциометре и фотодиоде)
Задача 2. Работа с выходами.
Далее приведена таблица с подзадачами. В графе «Название» - условное название задачи. В графе «Изучаемые понятия» - теоретические сведения, которые иллюстрируются задачей, и которые предварительно нужно объяснить. В графе «Используемые устройства» - материалы, необходимые для выполнения; во всех задачах также необходимы плата Arduino и USB-кабель.
N | Название | Изучаемые понятия | Устройства | Стандартный пример | Усложнение задачи |
1 | Мигание светодиодом | Цифровой выход, задержка | светодиод | Basics - Blink | Подключение к другим выходам (через резистор) |
2 | Плавное включение светодиода | ШИМ | светодиод | Basics - Fade | |
3 | Подключение динамика. | динамик | Digital — Tone Melody | Наиграть узнаваемую мелодию («Чижик-Пыжик»). | |
4 | Подключение светодиода к этому же выходу вместо или вместе с динамиком. | Динамик, светодиод | Digital — Tone Melody | ||
5 | Мигание светодиодом без использования функции delay | Таймер | Светодиод | Digital — BlinkWithoutDelay |
Примечание: в задачах со светодиодами на начальном этапе можно мигать встроенным в плату светодиодом, однако гораздо полезнее брать светодиод внешний, чтобы объяснить необходимость подключения через резистор.
Задача 3. Работа с последовательным портом
В этой задаче необходимо освоить основные команды печати, а также особенности работы с Serial Port (выбор правильного COM-порта). Нужно донести мысль, что в отсутствие дебаггера, вывод на печать — единственный способ отладить программу.
N | Название | Изучаемые понятия | Устройства | Стандартный пример | Усложнение задачи |
1 | Печать в последовательный порт | Serial Monitor | Communication — ASCII Table | ||
2 | Плавное зажигание светодиода после наведения мышки | Взаимодействие с Processing | Светодиод | Communication - Dimmer |
Задача 4. Работа со входами
Для этих и дальнейших задач необходима беспаечная макетная плата и перемычки к ней.
N | Название | Изучаемые понятия | Устройства | Стандартный пример | Усложнение задачи |
1 | Подключение кнопки | Цифровой вход, подтягивающий резистор | Кнопка, светодиод | Digital - Button | 1) Пока нажата кнопка - горит светодиод 2) Включение и выключение светодиода по нажатию кнопки 3) 2 светодиода и 2 кнопки (можно с двухцветным светодиодом) |
2 | Подключение потенциометра | Потенциометр, фоторезистор, аналоговый вход | Потенциометр, фоторезистор | Analog - AnalogInput | Подключение фоторезистора на тот же вход |
3 | Вывод показаний на аналоговом входе и показ графика в Processing | Потенциометр, фоторезистор | Потенциометр, фоторезистор | Comunication - Graph |
Задача 5. Управление мотором
Далее студенты должны освоить подключение мотора. Питание для мотора берется с Arduino (выводы 5V и GND), на которую оно идёт с USB-порта.
N | Название | Изучаемые понятия | Устройства | Стандартный пример | Усложнение задачи |
1 | Включение электромотора | Электромотор, полярность | Мотор | ||
2 | Управление мотором | Транзистор | Мотор, транзистор | Basics - Blink | Плавное управление (через ШИМ) |
3 | Вращение мотора в разные стороны | Навык сборки сложной схемы | Мотор, 4 транзистора |
В 3-й сложной задаче должна быть наготове схема для сборки, на случай, если студенты сами не смогут её придумать.
Дополнительные задачи
Перечисленные ниже задачи являются хорошими упражнениями, но иногда для их выполнения может не хватать комплектующих.
Работа с сервомашинкой
Подключение сервомашинки (выдача определенного периода). Управление сервомашинкой при помощи потенциометра.
Поворот на источник света
Прикрепить беспаечную макетную плату с фоторезисторами к сервомашинке и заставить ее поворачиваться в сторону источника света. Либо прикрепить фоторезисторы на двусторонний скотч.
Решение робототехнических задач на мобильном роботе
Для выполнения следующих задач необходим мобильный робот. Это может быть готовый покупной робот, робот-конструктор или полностью самодельный робот.
Описание робота POP-BOT
Мы остановили свой выбор на робоконструкторе POP-BOT таиландской фирмы Innovative Experiment, как на самом доступном по цене и простом для новичков, при этом с богатым функционалом. Рассматривался также вариант Pololu 3pi, но вскоре стало ясно, что этот робот уже для более «продвинутых» робототехников, и его сложнее расширять в силу маленького размера.
Состав набора

Роботы POP-BOT продаются в магазинах и вполне доступны по цене (5,5 тыс. р. — сравнительно небольшая цена за полностью готового робота). Робот поставляется в коробке в разобранном виде, в комплекте есть отвёртки и инструкция по сборке. Практически все детали из комплекта можно купить по отдельности в магазине «Терраэлектроника», а значит, испорченную часть легко заменить.
Из периферии в наборе имеются: 2 оптических датчика освещённости, 2 кнопки, ИК-дальномер SHARP GP2D120, сервомашинка, ЖК-экран. Набор всевозможного крепежа, пластинок и уголков. Единственное, что потребуется, чтобы немедленно начать работу с POP-BOT — это питание. Аккумуляторов в наборе, разумеется, нет, так что необходимо подготовить 4 штуки АА. Прилагается хороший CD с программами, документацией, презентациями про Arduino и даже с видео. Подробнейшее и полное опечаток руководство пользователя - на английском (есть и на русском, в электронном виде).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


