Arduino ide как пользоваться

Обновлено: 06.07.2024

Микроконтроллер — это небольшая микросхема, расположенная на плате контроллера. Именно в микроконтроллер мы будем загружать программы, а он будет их выполнять, управляя различными устройствами: светодиодами, двигателями, и т.д. Зачастую микроконтроллер также получает информацию об окружающем мире от датчиков: освещённости, температуры, наличия линии на трассе. Но всё это подключить к микроконтроллеру напрямую сложно, поэтому его устанавливают на специальную плату, которая обеспечивает удобность работы с ним.

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

Рассмотрим плату подробнее.

  1. Микроконтроллер. Микроконтроллер является «сердцем» платы. В него прошиваются (загружаются) программы (скетчи).
  2. Mini USB. Разъём USB используется для связи контроллера с ПК и его прошивки. Также разъём можно использовать для подключения питания.
  3. Выводы питания:
    • Vin— напряжение от внешнего источника питания (6.5 В - 12 В);
    • GND — минус напряжения питания / общий вывод / земля;
    • 5V — напряжение 5 В;
    • 3.3V — напряжение 3.3 В (на выход);
    • RST — разъём для плат расширения. Используется для перезагрузки микроконтроллера.
  4. Колодка аналоговых выводов:
    • А0-А7 — 8 выводов, поддерживающих работу с аналоговыми датчиками. Выводы A0-A5 можно использовать и как цифровые (14-19);
    • Выводы А4и А5также являются выводами SDAи SCL. Они необходимы для подключения
      оборудования по шине I2C (подробнее о ней мы поговорим в следующих уроках).
  5. Светодиод питания. Индикация наличия питания на плате.
  6. Колодки цифровых выводов:
    • Цифровые выводы 0-13 — 14 выводов, используемых для подключения / управления различных устройств. Значения сигнала ближе к 5 В представляются как логическая 1, значения ближе к 0 В — как логический 0.
    • Выводы с поддержкой ШИМ (широтно-импульсная модуляция) — выводы 3, 5, 6, 9, 10, 11 — позволяют выдавать значения в виде ШИМ-сигнала (этот сигнал используется для управления яркостью и скоростью вращения). Подробнее о ШИМ-сигнале мы также поговорим немного позже.
  7. Светодиод, подключенный к 13 выводу. При наличии логической 1 на 13 выводе светодиод горит, при логическом 0 — гаснет.
  8. Светодиоды RX и TX — индикация приёма / передачи данных по USB.
  9. Кнопка RESET используется для принудительной перезагрузки микроконтроллера.

Отлично, теперь Вы знаете, как устроен контроллер. Следующий шаг — научиться загружать в него программы для того, чтобы он выполнял действия, на которые Вы его запрограммируете.

Первый запуск программы Arduino IDE

Итак, Вы запустили программу, и теперь на экране появилось следующее окно:

Подготовка к работе

Подключите Arduino Nano к USB порту компьютера.


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


«Инструменты». Войдите в меню и наведите курсор на строку «Плата»


«Плата». При наведении курсора на подменю справа отобразится список поддерживаемых плат.

Необходимо выбрать строку с надписью «Arduino Nano».


«Инструменты». Войдите в меню и наведите курсор на строку «Порт».


«Порт». При наведении курсора на подменю справа отобразится список портов. Выберите тот, который появится после подключения платы к ПК.

Также рекомендуем включить нумерацию строк — так будет удобнее ориентироваться в скетче. Для этого зайдите в "Файл" -> "Настройки" и установите галочку "Показать номера строк".


Рассмотрим основную программу, с которой будем работать – Arduino IDE. IDE расшифровывается как интегрированная среда разработки, и в нашем случае представляет собой блокнот, в котором мы пишем код, препроцессор и компилятор, которые проверяют и компилируют код, и инструменты для загрузки, которые загружают код выбранным способом. IDE написана на java, поэтому не удивляйтесь её долгому запуску, большому объему занимаемой оперативки и медленной работе. Несмотря на огромный опыт работы с ардуино я до сих пор продолжаю писать код в Arduino IDE, потому что я к ней привык. Помимо перечисленных проблем стандартная IDE выделяется на фоне “взрослых” сред разработки отсутствием дерева/файловой структуры проекта (что не нужно для простых проектов), отсутствием рефакторинга, отсутствием автоматического дополнения кода (хотя его обещают вот-вот добавить и уже есть beta) и очень медленной компиляцией кода. Этих недостатков лишены аналоги Arduino IDE, о них поговорим в конце урока. Помимо отсутствия озвученных недостатков там есть некоторые полезные фишки, например все define-ы файла с кодом отображаются в отдельном блоке и с ними очень удобно работать.

Интерфейс

Сначала рассмотрим общий вид программы, т.е. как она выглядит после запуска. В самом центре – блокнот, то самое место, где пишется код. По умолчанию уже написаны два стандартных блока, setup и loop. К ним вернёмся в разделе уроков программирования. Всё остальное можно увидеть на скриншоте ниже.

blank

Пробежимся по пунктам меню, которые я считаю первостепенно важными, с остальными можно познакомиться самостоятельно по ходу работы с программой. Версия моей IDE – 1.8.8, в новых что-то может отличаться

Вкладка “Файл”

  • Новый
  • Открыть
  • Открыть недавние
  • Папка со скетчами – список скетчей, которые сохранены туда, куда программа предлагает их сохранять по умолчанию (Документы/Arduino)
  • Примеры – список установленных библиотек с подсписком примеров к каждой. Весьма полезная штука
  • Закрыть
  • Сохранить
  • Сохранить как…
  • Настройки страницы (для печати)
  • Печать
  • Настройки
  • Выход

Далее сразу рассмотрим окно настроек:

Окно настроек

blank

Куча интересных настроек на свой вкус. Из них отмечу

  • Размещение папки скетчей – куда по умолчанию сохраняются скетчи
  • Показать подробный вывод – показывает подробный лог при компиляции и загрузке, нужно при поиске багов и непонятных глюков/ошибок
  • Использовать внешний редактор – запрещает редактирование кода из Arduino IDE, чтобы редактировать его в других редакторах, например Notepad++. Редактируем там, а загружаем через IDE. Зачем это? Писать код в том же Notepad++ гораздо удобнее и приятнее, чем в Arduino IDE. К сожалению.
  • Дополнительные ссылки для менеджера плат – сюда вставляются ссылки на пакеты для работы с другими платами, например такими основанными на ESP8266 или ATtiny85.

Вкладка “Правка”

Во вкладке Правка ничего такого особенного нет, всё как в других программах

Вкладка “Скетч”

blank

  • Проверить/компилировать – то же, что кнопка галочка
  • Загрузка – то же, что кнопка загрузка
  • Загрузить через программатор – загрузить скетч напрямую в МК, минуя загрузчик
  • Экспорт бинарного файла – сохраняет скомпилированный файл, который и загружается в МК. Бинарный файл хорош тем, что содержащийся в нём код практически невозможно не то что отредактировать, но даже прочитать как вменяемый код. Именно в таком виде обычно поставляются прошивки для цифровой техники, чтобы никто не видел исходник =)
  • Показать папку скетча
  • Подключить библиотеку – подключает в код библиотеку, с директивой include, всё как нужно
    • Управлять библиотеками… – открывает менеджер библиотек, из которого можно установить библиотеки из официального списка
    • Добавить .zip библиотеку – не рекомендую так делать, потом не найдёте, куда она установилась

    Вкладка “Инструменты”

    Меню вкладок

    blank


    Система вкладок в Arduino IDE работает крайне необычным образом и очень отличается от понятия вкладок в других программах:

    • Вкладки относятся к одному и тому же проекту, к файлам, находящимся с ним в одной папке
    • Вкладки просто разбивают общий код на части, то есть в одной вкладке фигурная скобка может открыться, а в следующей – закрыться >. При компиляции все вкладки просто объединяются в один текст по порядку слева направо (с левой вкладки до правой). Также это означает, что вкладки должны содержать код, относящийся только к этому проекту, и сделать в одной вкладке void loop() и в другой – нельзя, так как loop() может быть только один
    • Вкладки автоматически располагаются в алфавитном порядке, поэтому создаваемая вкладка может оказаться между другими уже существующими. Это означает, что разбивать блоки кода по разным вкладкам (как во втором пункте, на одной вкладке, > на другой вкладке) – крайне не рекомендуется.
    • Также не забываем, что переменная должна быть объявлена до своего вызова, то есть вкладка с объявлением переменной должна быть левее вкладки, где переменная вызывается. Создавая новую вкладку нужно сразу думать, где она появится с таким именем и не будет ли из за этого проблем. Также название вкладок можно начинать с цифр и таким образом точно контролировать их порядок. Во избежание проблем с переменными, все глобальные переменные лучше объявлять в самой первой вкладке.
    • Вкладки сохраняются в папке с проектом и имеют расширение .ino, при запуске любой вкладки откроется весь проект со всеми вкладками.
    • Помимо “родных” .ino файлов Arduino IDE автоматически подцепляет файлы с расширениями .h (заголовочный файл), .cpp (файл реализации) и .pde (старый формат файлов Arduino IDE). Эти файлы точно так же появляются в виде вкладок, но например заголовочный файл .h не участвует в компиляци до тех пор, пока не будет вручную подключен к проекту при помощи команды include. То есть он висит как вкладка, его можно редактировать, но без подключения он так и останется просто отдельным текстом. В таких файлах обычно содержатся классы или просто отдельные массивы данных.

    Аналоги Arduino IDE

    Всем нетерпимо относящимся к кривой официальной IDE могу посоветовать следующие аналоги, работа в которых чем-то лучше, а чем-то хуже официальной IDE:

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

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

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

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

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

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


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

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

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

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

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


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

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

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


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

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


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

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


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

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

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


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

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

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

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



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

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

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

    Выбор платы:

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


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

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


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

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

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


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

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

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


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

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


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

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


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

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

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



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


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

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

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

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


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


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

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

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


    Запускаем Arduino IDE

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


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


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


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

    Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного.

    Введение

    Было бы не плохо начать со знакомства с Arduino. Arduino – аппаратно-программные средства для построения систем автоматики и робототехники. Главным достоинством есть то, что платформа ориентирована на непрофессиональных пользователей. То есть любой может создать своего робота вне зависимости от знаний программирования и собственных навыков.

    Начало

    Важно заметить, что обязательную в С++ функцию main() процессор Arduino создаёт сам. И результатом того, что видит программист есть:

    Давайте разберёмся с двумя обязательными функциями. Функция setup() вызывается только один раз при старте микроконтроллера. Именно она выставляет все базовые настройки. Функция loop() — циклическая. Она вызывается в бесконечном цикле на протяжении всего времени работы микроконтроллера.

    Первая программа

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

    Принцип работы этой программы достаточно простой: светодиод загорается на 1 секунду и тухнет на 1 секунду. Для первого варианта нам не понадобиться собирать макет. Так как в платформе Arduino к 13 пину подключён встроенный светодиод.

    Прошивка Arduino

    Для того, чтоб залить скетч на Arduino нам необходимо сначала просто сохранить его. Далее, во избежание проблем при загрузке, необходимо проверить настройки программатора. Для этого на верхней панели выбираем вкладку «Инструменты». В разделе «Плата», выберете Вашу плату. Это может быть Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo или другие. Также в разделе «Порт» необходимо выбрать Ваш порт подключения (тот порт, к которому вы подключили Вашу платформу). После этих действий, можете загружать скетч. Для этого нажмите на стрелочку или во вкладке «Скетч» выберете «Загрузка» (также можно воспользоваться сочетанием клавиш “Ctrl + U”). Прошивка платы завершена успешно.

    Прототипирование/макетирование

    Для сборки макета нам необходимы следующие элементы: светодиод, резистор, проводки (перемычки), макетная плата(Breadboard). Для того, чтоб ничего не спалить, и для того, чтоб всё успешно работало, надо разобраться со светодиодом. У него есть две «лапки». Короткая – минус, длинная – плюс. На короткую мы будем подключать «землю» (GND) и резистор (для того, чтоб уменьшить силу тока, которая поступает на светодиод, чтоб не спалить его), а на длинную мы будем подавать питание (подключим к 13 пину). После подключения, загрузите на плату скетч, если вы ранее этого не сделали. Код остаётся тот же самый.

    Читайте также: