Основы робототехники на платформе Arduino

 

 

 

Тема урока: Программирование управления роботизированными моделями. Управление электронными компонентами в среде Arduino IDE

Цель урока: 1) Изучить историю робототехники и перспективы ее развития;

2) Познакомится с устройством робота и его принципами работы;
3) Изучить язык программирования C++ и Arduino для управления роботом;

Основы робототехники на платформе Arduino

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

Рис. 1. Структура микроконтроллера

Для построения роботов используются различные платформы. Рассмотрим платформу Arduino.

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

Платы Arduino представляют собой наборы, состоящие из готового электронного блока и программного обеспечения.

Электронный блок - это печатная плата с установленным микроконтроллером. Фактически электронный блок Arduino является аналогом материнской платы компьютера. На нем имеются разъемы для подключения внешних устройств, а также разъем для связи с компьютером, по которому осуществляется программирование.

Самой популярной и наиболее универсальной платформой семейства является плата Arduino Uno. Она выполнена на базе процессора с тактовой частотой 16 МГц, обладает памятью 32кБ, два из которых выделено под загрузчик, позволяющий прошивать Arduino с обычного компьютера через USB. Также имеется 2 кБ SRAM-памяти, которые используются для хранения временных данных (это оперативная память платформы) и 1кБ EEPROM-памяти для долговременного хранения данных (аналог жёсткого диска). На платформе расположены 14 контактов, которые могут быть использованы для цифрового ввода и вывода. Какую роль исполняет каждый контакт, зависит от программы. Некоторые контакты обладают дополнительными ролями. Например, Serial 0-й и 1-й — используются для приёма и передачи данных по USB; LED 13-й — к этому контакту подключен встроенный в плату светодиод. Также имеется 6 контактов аналогового ввода и входной контакт Reset для сброса.

Среда программирования

Для программирования используется упрощённая версия C++, известная так же как Wiring. Разработку можно вести как с использованием бесплатной среды Arduino IDE, так и с помощью произвольного C/C++ инструментария.

Разработка приложений на базе плат Arduino осуществляется в специальной среде программирования Arduino IDE. Среда предназначена для написания и загрузки собственных программ в память микроконтроллера. Среда разработки Arduino состоит из редактора программного кода, области сообщений, окна вывода текста, панели инструментов и панели меню.

Базовая структура программы для Arduino состоит из двух обязательных частей: функций setup() и loop(). Перед функцией setup() идет объявление переменных, подключение вспомогательных библиотек. Функция setup() запускается один раз после каждого включения питания или сброса платы. Она используется для инициализации переменных, установки режима работы портов и т. д. Функция loop() в бесконечном цикле последовательно исполняет описанные команды. Для взаимодействия с различными устройствами, для обеспечения ввода и вывода используются специализированные процедуры и функции.