Это второй урок из цикла «Знакомство с Arduino». В этом уроке Вы научитесь работать со средой Arduino IDE.

Для урока Вам понадобится компьютер с доступом в Интернет и любой модуль Arduino.

Многие слышали о таких модулях как Arduino. Появляется вопрос: с чего же начать его изучение? Театр начинается с вешалки, а знакомство с Arduino начинается со среды разработки Arduino IDE.

Давайте найдём ответ на вопрос: зачем нам всё таки нужна эта IDE? Ответ достаточно прост. Среда Arduino IDE необходима для разработки программ и их записи в модули Arduino (и не только).

С предназначением IDE разобрались, теперь давайте изучим, что же она из себя представляет.

Чтобы подробнее разобраться со средой Arduino IDE, дорогой читатель, её нужно скачать и установить (если её нет на компьютере).

Среда разработки Arduino IDE состоит из следующих компонентов:

  • Текстовый редактор кода программы (1);
  • Область сообщений (2);
  • Консоль (3);
  • Панель инструментов (4);
  • Панель с часто используемыми командами (5).

Написанная в среде ArduinoIDE программа называется «скетч». Сама программа пишется в текстовом редакторе. В области сообщений выводятся ошибки и пояснения. В консоли отображается полный отчёт о компиляции программы, различные ошибки, подсказки и другая полезная информация. Панель инструментов представляет собой набор полезных функций при разработке программы. На панели с часто используемыми командами всего несколько кнопок, но они являются самыми основными при разработке программы.

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

Язык программирования Arduino:

Фактически нет особого языка программирования Arduino. Модули Arduino программируются на C/C++. Особенности программирования сводятся к тому, что существует набор библиотек, включающий некоторые функции (pinMode, digitalWrite и т.д.) и объекты (Serial), которые значительно облегчают процесс написания программы.

Настройка среды Arduino IDE:

Открыть настройки среды можно из пункта меню Файл -> Настройки или с помощью комбинации клавиш Ctrl + ,

В меню настроек можно изменить путь сохранения программ по умолчанию, изменить размер шрифтов и т.д.

Различные примеры:

Одной из особенностей Arduino IDE является довольно обширная база различных примеров, что очень удобно для начинающих. Открыть пример можно из пункта меню Файл -> Примеры.

Создание новой программы:

Итак, с настройками среды мы разобрались. Что теперь? А сейчас нужно создать новую программу. Это можно сделать несколькими способами:

  • из пункта меню Файл -> Новый;

  • при помощи комбинации клавиш Ctrl + N;
  • из панели с часто используемыми командами 

Сохранение программы:

Допустим мы написали программу. Далее нужно сохранить. Сделать это можно несколькими способами:

  • из пункта меню Файл -> Сохранить;

  • при помощи комбинации клавиш Ctrl + S;
  • из панели с часто используемыми командами 

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

Открытие программы:

Теперь мы научились создавать и сохранять программу. Но как теперь открыть сохранённую программу? Для этого в Arduino IDE предусмотрено несколько способов:

  • из пункта меню Файл -> Открыть;

  • при помощи комбинации клавиш Ctrl + O;
  • из панели с часто используемыми командами 

В открывшимся окошке нужно выбрать папку, в которой находится нужная программа.

Редактирование текста программы:

Удобный редактор текста программы очень важен при разработке какой-либо программы. В Arduino IDE он довольно неплох, однако уступает конкурентам, таким как Eclipse, Visual Studio и т.д. Однако, его вполне достаточно. В редакторе присутствуют все основные команды, необходимые при редактировании кода. Они находятся в меню Правка. Для самых часто используемых команд (копировать, ставить и т.д.) существуют комбинации, способствующие быстрому доступу к нужной команде правки, что очень удобно. Другими отличительными особенностями встроенного редактора кода являются возможность копирования кода для форумов и в html формате, что позволяет делится Вашими программами, сохраняя наглядность разметки в виде BB кодов или html разметки соответственно.

Давайте остановимся на основных командах, необходимых для редактирования программы:

  • Копировать. Пункт меню Правка -> Копировать или комбинация клавиш Ctrl + C;
  • Вставить. Пункт меню Правка -> Вставить или комбинация клавиш Ctrl + V;
  • Вырезать. Пункт меню Правка -> Вырезать или комбинация клавиш Ctrl + X;
  • Выделить всё. Пункт меню Правка -> Выделить всё или комбинация клавиш Ctrl + A;
  • Найти. Пункт меню Правка -> Найти или комбинация клавиш Ctrl + F;
  • Отменить. Пункт меню Правка -> Отменить или комбинация клавиш Ctrl + Z;
  • Вернуть. Пункт меню Правка -> Вернуть или комбинация клавиш Ctrl + Y;
  • Форматировать текст программы. Пункт меню Инструменты -> АвтоФорматирование или комбинация клавиш Ctrl + T. Эта команда позволяет исправить неточности в разметке программы и привести её в более читабельный вид.

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

Подключение библиотеки:

Давайте разберёмся, что же такое библиотека. Библиотека — это набор функций, предназначенных для того, чтобы максимально упростить работу с различными модулями, датчиками и т.д. Например, библиотека LowPower позволяет легко управлять режимами энергосбережения модулей Arduino. Существует огромное количество различных модулей и датчиков. Но как ими управлять? Для этого разработаны специальные библиотеки, которые значительно облегчают работу. Но перед тем, как использовать дополнительные библиотеки, необходимо установить и подключить их. А как подключить библиотеку, спросите Вы? Есть несколько способов:

  • через среду Arduino IDE. Для этого перейдите в меню Скетч -> Подключить библиотеку. Если нужная библиотека есть в списке, то необходимо просто кликнуть на неё мышкой и она автоматически подключится к Вашей программе. А что же делать, если нужной библиотеки нет в списке? В таком случае перейдите во вкладку Скетч -> Подключить библиотеку -> Управление библиотеками. Перед Вами откроется следующее окошко: В правом верхнем углу необходимо ввести название нужно библиотеки. Далее, из списка надо выбрать нужную библиотеку, её версию и нажать кнопку установить. Обратите внимание, что есть возможность отсортировать результаты поиска (вкладки Тип и Тема). Теперь она появится в списке установленных библиотек и её можно подключить через меню Скетч -> Подключить библиотеку.
  • Предварительно скачав нужную библиотеку её также можно подключить к своей программе. Если она находится в zip архиве, то её можно подключить следующим способом. Для этого нужно перейти в меню Скетч -> Подключить библиотеку -> Подключить .ZIP библиотеку и в открывшемся окошке выбрать zip архив с библиотекой. Теперь эта библиотека появится в списке установленных и её можно подключить через меню Скетч -> Подключить библиотеку. Если у Вас открыта Arduino IDE, то её нужно перезапустить, чтобы изменения были применены.
  • Подключить библиотеку можно и без использования Arduino IDE. Для этого необходимо её скачать и скопировать папку с библиотекой по следующему пути: X:\Пользователи\<Имя пользователя>\Документы\Arduino\libraries. Если у Вас открыта Arduino IDE, то её нужно перезапустить, чтобы изменения были применены. Теперь эта библиотека появится в списке установленных и её можно подключить через меню
    Скетч -> Подключить библиотеку. Однако можно и вручную в программе подключить библиотеку. Для этого перед функцией setup() нужно прописать следующую конструкцию #include <имя заголовочного файла.h> или #include «имя заголовочного файла.h».

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

Выбор платы:

Существует довольно большое количество модулей Arduino. Загружать написанную программу нужно именно в тот тип модуля, который подключён к компьютеру. Выбрать модуль можно в меню Инструменты -> Плата.

В списке находятся все официальные версии модулей Arduino. Если нужного модуля нет в списке, то его можно добавить. Это рассмотрено в следующем уроке.

 

Далее необходимо выбрать тип контроллера, который установлен на модуле Arduino (на каждом контроллере есть маркировка). Это можно сделать в меню Инструменты -> Процессор.

Компиляция программы:

Теперь, когда выбран конкретный модуль Arduino, можно переходить к компиляции написанной программы. Давайте разберёмся, что же такое компиляция. Если говорить простым языком и касательно среды Arduino IDE, то компиляция — это перевод написанной в IDE программы в эквивалентную, но в машинных кодах. Программа записывается в микроконтроллер именно в машинных кодах, а не в том виде, в котором она написана в IDE. Компиляция также помогает найти ошибки в программе, т.к. компиляция не будет выполнена, если в программе есть ошибки.

С понятием компиляции мы разобрались. А как теперь открыть скомпилировать написанную программу? Для этого в Arduino IDE предусмотрено несколько способов:

  • из пункта меню Скетч -> Проверить/Компилировать;

  • при помощи комбинации клавиш Ctrl + R;
  • из панели с часто используемыми командами 

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

Выбор программатора:

Пункт меню Инструменты -> Программатор используется для выбора аппаратного программатора, если программирование модуля или микроконтроллера осуществляется не при помощи встроенного USB-последовательного соединения. Как правило, эта команда используется довольно редко, однако может пригодиться, например, при записи загрузчика в новый микроконтроллер.

Т.к. в модулях Arduino уже есть свой встроенный программатор, то в качестве программатора в меню Инструменты -> Программатор нужно оставить стандартный AVRISP mkII.

Запись загрузчика:

При помощи команды Инструменты -> Записать загрузчик в микроконтроллер можно записать загрузчик. При использовании Arduino этого не требуется, однако эта команда может пригодиться если Вы хотите прошивать обычный микроконтроллер фирмы Atmel (именно микроконтроллеры фирмы Atmel стоят в модулях Arduino и как правило, они продаются без встроенного загрузчика) аналогично Arduino. Если Вы хотите разобраться с этим, рекомендуем прочесть этот урок.

Загрузка программы:

Теперь, когда почти со всеми элементами среды Arduino IDE мы разобрались, можно приступать к финальному этапу — загрузке программы в модуль Arduino.

Прежде чем загружать программу, нужно выбрать порт, к которому подключён Ваш модуль Arduino. Выбрать его можно в меню Инструменты -> Порт.

Это не обязательно должен быть COM5, как на рисунке. Имя порта у Вас, скорее всего, будет другим (COM3, COM 10 и т.д.).

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

Для этого в Arduino IDE предусмотрено несколько способов:

  • из пункта меню Скетч -> Загрузка;

  • при помощи комбинации клавиш Ctrl + U;
  • из панели с часто используемыми командами 

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

Рекомендуем включить подробный вывод информации при компиляции и загрузке программы, это зачастую помогает выявить тип ошибки при компиляции или загрузке программы. Для этого в меню Файл -> Настройки установить соответствующие галочки.

Монитор последовательного порта:

 

Между Arduino и компьютером можно обмениваться данными через последовательный порт (он же интерфейс UART). Монитор последовательного порта может использоваться как для вывода отладочной информации от модуля Arduino, так и для других целей. Через него можно как отправлять данные в модуль Arduino, так и получать данные от него. Не забудьте выбрать порт, к которому подключён модуль Arduino, иначе монитор последовательного порта не откроется! При его открытии модуль Arduino перезагрузится!

Открыть окно монитора последовательного порта можно несколькими способами:

  • из пункта меню Инструменты -> Монитор порта;

  • при помощи комбинации клавиш Ctrl + Shift + M;
  • из панели с часто используемыми командами (в правом верхнем углу) 

После открытия монитора последовательного порта появится следующее окошко:

В самом низу этого окошка можно изменить скорость работы порта (она должна совпадать с той, которая указана в программе!) очистить окно и т.д.

Пример полного цикла разработки программы в Arduino IDE:

А теперь, дорогой читатель, давайте полностью пройдём все этапы разработки программы в Arduino IDE.

Начнём мы не со стандартного мигания светодиодом, а с классического примера из программирования — вывода на экран «Hello World!».

Запускаем Arduino IDE 

Откроется следующее окошко:

Ждём открытия среды. Когда она открылась, создаём новую программу путём нажатия на комбинацию клавиш Ctrl + N.

Теперь давайте сохраним эту программу под именем Hello_World, для этого нажимаем на комбинацию клавиш Ctrl + S, вводим путь, куда сохраним программу и её имя.

В указанной директории появится папка с программой Hello_World.

Теперь давайте напишем сам код. Мы хотим с периодичностью в 5 секунд выводить сообщение Hello World! на экран, т.е. в монитор последовательного порта. Никаких сторонних библиотек для этого нам не понадобится. Скопируйте следующий код в IDE.

Текст программы:

Пояснение программы »

Функция setup() запускается однократно при запуске программы. В ней инициализируется последовательный порт и его скорость (9600 бод).  Функция loop() вызывается после функции setup(). Функция представляет собой бесконечный цикл, в котором выполняется пользовательская программа. В ней при помощи функции  Serial.println(«Hello World!») мы каждый раз в новую строку выводим сообщение Hello World! она порт. Функция delay (5000) устанавливает задержку при выполнении программы на 5000 мс, т.е. сообщение выводится раз в 5 секунд. Таким образом, мы выводим наше сообщение с периодичностью 5 секунд.

Теперь сохраните его при помощи комбинации клавиш Ctrl + S.

Когда программа написана, подключите модуль Arduino к компьютеру (в данном примере используется Arduino Nano).

В меню  Инструменты -> Плата выберите ваш модуль Arduino (у нас — Arduino Nano).

Далее в меню Инструменты -> Процессор выберите процессор (микроконтроллер), который установлен на модуле Arduino. В нашем примере в модуле Nano стоит микроконтроллер Atmega328.

Теперь, проверьте, какой программатор установлен в меню Инструменты -> Программатор, он должен быть AVRISP mkII.

Давайте скомпилируем нашу программу и узнаем, сколько же она занимает места в памяти микроконтроллера. Для этого нажмём комбинацию клавиш  Ctrl + R.

Наша программа занимает 5% памяти программ (флеш памяти) и 9% оперативной памяти.

Всё готово к загрузке программы. Для этого нажмите комбинацию клавиш Ctrl + U и наша программа загрузится в модуль. После успешной загрузки появится сообщение об этом.

Теперь давайте откроем монитор последовательного порта (в правом верхнем углу IDE) 

После загрузки программы в модуль Arduino, в монитор последовательного порта с периодом в 5 секунд будет выводиться сообщение Hello World!.

 

Уважаемый читатель, мы предлагаем Вам обратиться к разделу «Программирование» на нашем сайте. Там Вы найдёте описание и примеры работы с различными функциями программирования модулей Arduino.

Спасибо за то, что учитесь познавать удивительный мир радиоэлектроники вместе с нами.

Верьте в себя, учитесь и у Вас всё обязательно получится!

Удачи в дальнейших проектах!