Это старая версия документа!
Arduino — это комбинация аппаратной и программной частей для простой разработки электроники.
Аппаратная часть включает в себя большое количество видов плат Arduino со встроенными программируемыми микроконтроллерами, а так же дополнительные модули.
Программная часть состоит из среды разработки (программы для написания скетчей и прошивки микроконтроллеров Ардуино), упрощенного языка программирования, огромного множества готовых функций и библиотек.
Ардуино умеет принимать и отправлять сигналы в соответствии с инструкциями в прошивке. Звучит весьма скромно, но на практике это позволяет получать и обрабатывать информацию с сенсоров и передавать команды исполнительным механизмам или другим устройствам. Например: микроконтроллер может получать данные с датчиков температуры, давления, влажности и выводить сводную информацию на дисплей. Этих возможностей хватает для реализации сложных устройств, таких как беспилотные летательные аппараты, 3D-принтеры, роботизированные манипуляторы, радиоуправляемые машинки, лодки, вездеходы и т. д. Возможности Ардуино ограничены только воображением.
Основой любого проекта является плата на которой установлен Ардуино - совместимый контроллер(далее по тексту контроллер). Он выполняет роль миниатюрного компьютера, в который загружается написанная пользователем программа. Основные компоненты установленные на плате представлены на рисунке 1. Рассмотрим их назначение:
Для написания программ и загрузки их в контроллер нам понадобится специальное программное обеспечение. Это среда для разработки прошивок Arduino IDE. В среде разработки уже предустановленно большое количество примеров и дополнительных библиотек. На официальном сайте разработчика можно скачать последнюю версию Arduino IDE всех популярных операционных систем (Windows, Mac OS и Linux)*ссылка*
Микроконтроллер ATmega не умеет «напрямую» обмениваться данными с компьютером через USB порт, для этого на плате присутствует специальная микросхема (CH340 или CP2104, PL2303 и т. д.), для данных чипов может потребоваться установка драйвера *ссылка*
После установки Arduino IDE, можно подключить контроллер к компьютеру с помощью USB-кабеля. В течение нескольких секунд, операционная система обнаружит новое устройство. В диспетчере устройств определится новый COM – порт с устройством на интерфейсной микросхеме (в данном случае CH340). На контроллере загорится светодиод «ON»
Теперь можно запустить Arduino IDE и разобраться с ее интерфейсом.
После запуска программы вы можете найти четыре главных функциональных элемента:
1. меню программы;
2. панель быстрого доступа к наиболее важным функциям;
3. редактор (для размещения кода программы);
4. панель сообщений и статуса программы.
Меню программы позволяет осуществлять управление проектом, например, создание нового проекта, сохранение текущего, распечатать на принтере исходный код.
Интересной особенностью программы является встроенный набор примеров программ. Это очень удобно, так как примеры программ можно сразу проверить, загрузив их в микроконтроллер. При необходимости вы можете сохранить пример и изменить его в соответствии с вашими потребностями.
Меню «Файл» и «Правка» содержат стандартные параметры.
Меню «Скетч» содержит параметры для компиляции проекта и импорта необходимых библиотек.
Интересным и полезным элементом IDE является меню «Инструменты», которое включает в себя функции автоматического форматирования кода, архивирования проекта, включение монитора последовательного порта (USB в контроллере рассматривается как обычный последовательный порт).
Наиболее важным элементом меню «Инструменты» является возможность выбора соответствующей платы.
В меню «Инструменты» вы также можете установить порт, к которому подключен контроллер. Пакет Arduino IDE сам определяет порт, но иногда требуется вручную установить номер порта в настройках.
С помощью Arduino IDE можно также загрузить, то есть запрограммировать Bootloader (загрузчик) для нового, чистого микроконтроллера Atmega.
Для обычной работы с Arduino IDE используется панель быстрого доступа, которая оснащена наиболее важными кнопками. Это решение, облегчающее работу с пакетом IDE, дает нам прямой доступ к практически всем необходимым параметрам при написании и тестировании программы.
1. Проверить: кнопка компиляции и проверки корректности кода
2. Загрузка: кнопка загрузки скетча (программы) в контроллер
3. Новый: открывает новое окно редактирования кода
4. Открыть: позволяет открыть для редактирования ранее созданный скетч, хранящийся на диске
5. Сохранить: сохраняет текущие изменения
6. Монитор порта: открывает окно, отображающее информацию об обмене данными с контроллером
Все опции, расположенные на панели быстрого доступа, продублированы в меню программы.
Дополнительным полезным элементом, находящимся под кнопкой включения монитора последовательного порта — это меню для управления вкладками (7). Вкладки в Arduino IDE упрощают написание сложных проектов, а так же позволяют работать с несколькими проектами одновременно.
Самая большая часть окна программы предназначена для написания непосредственно самого кода программы. Редактор в Arduino IDE не слишком продвинутый, но имеет самые важные элементы, позволяющие облегчить написание простых программ. К таким элементам можно отнести подсветка синтаксиса и блоков (скобки). Это не много, но достаточно для простых проектов.
Последним элементом программы является окно сообщений и статуса. Отображаемая там информация позволяет пользователю найти ошибки в программном коде и получить подтверждение о завершении компиляции и загрузки программы в контроллер.
Из чего состоит программа(Скетч)
Любая программа состоит из отдельных блоков. Начало блока кода в C/C++ обозначается левой фигурной скобкой `{` , его конец — правой фигурной скобкой `}`.
Функция — это просто блок кода с заданным именем, которым кто-то затем может пользоваться из-вне.
2 функции с именами setup() и loop() обязательные в любой программе на C++ для Arduino. Они могут ничего и не делать, но должны быть написаны. Иначе на стадии компиляции вы получите ошибку.
Итак у нас имеется Ардуино программируемая плата и установленная и запущенная среда программирования Arduino IDE, осталось их сопоставить, для этого зайдите в пункт меню Инструменты>Плата, в выпадающем списке выберете Arduino/Genuino Uno, а также в пункте меню Инструменты>Порт выберете COM -порт на котором определилась плата с контроллером.
На этом все подготовительные операции можно считать завершенными и загрузить тестовый скетч из стандартных примеров.
Выберете в меню Файл > Примеры > 01.Basics > Blink , откроется новое окно с исходным кодом примера. Нажимаем на кнопку Загрузить. После завершения загрузки скетча, в строке статуса над консолью появится надпись: Загрузка завершена.
Результатом выполнения программы: светодиод L на плате контроллера будет мигать с частотой 1 раз в 2 секунды.