Как пользоваться arduino ide
Перейти к содержимому

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

  • автор:

Программирование Ардуино

Язык программирования устройств Ардуино основан на C/C++ и скомпонован с библиотекой AVR Libc и позволяет использовать любые ее функции. Вместе с тем он прост в освоении, и на данный момент Arduino — это, пожалуй, самый удобный способ программирования устройств на микроконтроллерах.

Справочник языка Ардуино

Язык Arduino можно разделить на четыре раздела операторы, данные (переменные и константы), функции и библиотеки.

Операторы

Управляющие операторы
Синтаксис
  • ; (точка с запятой)
  • <> (фигурные скобки)
  • // (одностроковый коментарий)
  • /* */ (многостроковый коментарий)
  • #define
  • #include
Арифметические операторы
  • = (оператор присваивания)
  • + (сложение)
  • — (вычитание)
  • * (умножение)
  • / (деление)
  • % (остаток от деления)
Операторы сравнения
  • == (равно)
  • != (не равно)
  • <(меньше чем)
  • > (больше чем)
  • <=(меньше или равно)
  • >= (больше или равно)
Логические операторы
Указатели доступа
Битовые операторы
  • & (побитовое И)
  • | (побитовое ИЛИ)
  • ^ (побитовое XOR или исключающее ИЛИ)
  • ~ (побитовое НЕ)
  • <<(побитовый сдвиг влево)
  • >> (побитовый сдвиг вправо)
Составные операторы
  • ++ (инкремент)
  • — (декремент)
  • += (составное сложение)
  • -= (составное вычитание)
  • *= (составное умножение)
  • /= (составное деление)
  • &= (составное побитовое И)
  • |= (составное побитовое ИЛИ)

Данные

Константы
  • HIGH | LOW
  • INPUT | OUTPUT| INPUT_PULLUP
  • true | false
  • целочисленные константы
  • константы с плавающей точкой

Что такое Arduino: первые шаги в электронике

Что можно сделать на Ардуино и зачем это нужно? Разбираемся с популярной и дружелюбной платформой, которая позволяет быстро создавать умные электронные устройства своими руками.

Самодостаточная начинка

Arduino и спичечный коробок

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

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

Чтобы понять общую идею, взгляните на иллюстрацию. Она не отражает и миллионной доли всех возможностей, но всё же даёт первичное представление.

Простота и доступность

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

Скриншот программы Arduino IDE

Программы для Ардуино пишутся на обычном C++, дополненным простыми и понятными функциями для управления вводом-выводом на контактах. Если вы уже знаете C++, Arduino станет дверью в новый мир, где программы не ограничены рамками компьютера, а взаимодействуют с окружающим миром и влияют на него. Если же вы новичок в программировании — не проблема, вы с лёгкостью научитесь, это просто.

Для удобной работы с платами Ардуино существует бесплатная официальная среда программирования Arduino IDE, работающая под Windows, Mac OS и Linux. С помощью неё загрузка новой программы в контроллер становится делом одного клика, только лишь подключите плату к компьютеру через USB. Хотя для более пытливых умов возможна работа и через Visual Studio, Eclipse, другие IDE или командную строку, а новичкам подойдёт визуальная среда программирования XOD IDE.

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

Принцип бутерброда

Arduino с модулями в несколько этажей

Ещё одной отличительной особенностью Arduino является наличие плат расширения под названием Shield. Эти «шилды» ставятся поверх ардуинки подобно слоям бутерброда и дают ей новые дополнительные возможности. Например, существуют платы расширения для подключения к локальной сети и интернету (Ethernet Shield), для управления мощными моторами (Motor Shield), для получения координат и времени со спутников GPS (приёмник GPS/ГЛОНАСС) и многие другие.

В итоге

Arduino — это сердце конструктора, в котором нет конечного, строго определённого набора деталей, и нет ограничений в разнообразии того, что вы можете из него собрать. Всё ограничено лишь вашей фантазией. Это новый мир, убойное хобби и отличный подарок. Свыше 10 миллионов людей в мире уже поняли это.

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

Картонный бот-очаровашка

Робот-паук

Генератор мыльных пузырей

Светодиодный куб

Графический эквалайзер

Система полива дачного участка

С чего начать

Вам понадобится сама плата. Например, Arduino Uno — самая популярная модель в настоящий момент. Для начала экспериментов её хватит с головой. Хотя если брать «на вырост», можно рассмотреть более мощную Arduino Mega 2560.

Также вам понадобится USB-кабель, макетная доска, перемычки, резисторы, транзисторы… и ещё десяток подручных вещей. Чтобы не утомлять себя поисками необходимого, возьмите всё, что потребуется, в виде одного из готовых наборов. Например, в наборах «Матрёшка Y» или «Матрёшка Z» мы собрали всё, что нужно для комфортного старта.

Новая ? ARDUINO IDE 2.0 (2021) полный обзор

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

В общем получилась какая-то смесь Arduino IDE и Visual Studio Code :

Новые темы

Если раньше была только светлая тема, то сейчас есть и многими любимая темная ( Preferences (Ctrl + Comma) -> Theme).

Dark (Theia) Light (Theia) High Contrast (Theia) Light (Arduino)

Также доступно масштабирования не только кода, но и всех элементов программы ( Ctrl и +, Ctrl и —).

Новые возможности редактора кода

Отличный поиск по странице вместе с выделением одинаковых фрагментов текста:

Достаточно навести указатель мыши на что-нибудь и быстренько высветится искомое значение:

Также хорошо работает нахождение первичного определения ( Ctrl + ЛКМ), что невероятно важно для понимания происходящего ( чтобы работало нужно выбрать плату! ):

Подсказки при наборе также очень важны и нужны (если не высвечивает нажать Ctrl + Пробел, а для ввода найденного нажать Enter):

Поиск библиотек

Искать и устанавливать библиотеки также стало удобней:

Прошивка и выбор платы

Итак, испытаем новое творение в деле. Беру Ардуину Нано (CH340):

И подключаю её к ПК, она отображается в диспетчере устройств как COM14 (чтобы проверить нажать Win + R и выполнить devmgmt.msc):

Диспетчер устройств

И теперь в списке легко найти по поиску Arduino Nano, а вот название COM-порта пока еще не завезли.

Прошивать можно по старинке через UART (Ctrl + U) или через программатор (Ctrl + Shift + U) (очень не хватает полосы загрузки):

Терминал (Serial Monitor)

Отладка

Конечно никакой отладки здесь нет и не будет, т.к. для этого нужно, чтобы МК имел поддержу чего-то (JTAG) и подключатся он должен через отладчик, а не через USB-TTL переходник.

Поэтому выбрасывайте это барахло и переходите на STM32, например на классную-прекрасную плату MiniF4.

Скачать

Качнуть можно с официального сайта.
Также на всякий случай перезалил (ядиск): arduino-ide_2.0.0-beta.7_Windows_64bit.exe

Купить на Aliexpress

Итого

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

Работа с Arduino IDE

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

  • Проверить – компиляция (сборка, проверка на ошибки…) кода без его загрузки в плату. То есть код можно написать и проверить на ошибки даже не подключая плату к компьютеру.
  • Загрузить – компиляция и загрузка прошивки в плату.
  • Создать/открыть/сохранить – действия с текущим скетчем (файл с кодом программы).
  • Монитор порта – кнопка открывает монитор последовательного пора для общения с платой.
  • Меню вкладок – работа с вкладками, о них поговорим ниже.
  • Текущее состояние – тут выводится краткая информация о последнем действии: загрузка завершена, ошибка загрузки, автоформатирование завершено и т.д.
  • Лог работы – тут выводится лог компиляции и вообще все системные сообщения, отчёты об ошибках и размере скомпилированного кода.
  • Конфигурация оборудования – выводится название выбранной платы, версии микроконтроллера и номер выбранного COM порта.

blank

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

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

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

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

blank

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

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

blank

  • Проверить/компилировать – то же, что кнопка “галочка”.
  • Загрузка – то же, что кнопка “стрелочка”.
  • Загрузить через программатор – загрузить скетч напрямую в МК через программатор.
  • Экспорт бинарного файла – компилирует код и сохраняет в бинарник.
  • Показать папку скетча
  • Подключить библиотеку – подключает в код библиотеку.
    • Управлять библиотеками… – открывает менеджер библиотек, из которого можно устанавливать библиотеки.
    • Добавить .zip библиотеку – установка библиотеки из zip файла, если вы его откуда-то скачали.

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

    blank

    • АвтоФорматирование – выравнивает код по табуляции. Крайне важная фишка, используйте её (комбинация Ctrl+T) как можно чаще.
    • Архивировать скетч – сохраняет скетч как .zip архив.
    • Исправить кодировку и перезагрузить – полезная штука, когда скачал чей-то код из интернета, а там поехала кодировка.
    • Управлять библиотеками… – открывает менеджер библиотек, из которого можно устанавливать библиотеки.
    • Монитор порта.
    • Плоттер по последовательному соединению – встроенный построитель графиков по идущим в порт данным.
    • Плата – выбор платы, куда хотим загрузить прошивку.
    • Порт – COM порт, к которому подключена плата. Это всегда порт, отличный от COM1 (системный порт)
    • Программатор – выбор программатора для загрузки кода через программатор.
    • Записать загрузчик – прошивает загрузчик, соответствующий выбранной плате и процессору в микроконтроллер при помощи программатора.

    Меню вкладок

    blank

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

    Аналоги Arduino IDE

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

    • Notepad++ + Arduino IDE – вполне работоспособная связка – прогерский блокнот, в котором очень удобно писать код, и Arduino IDE, в которой удобно выбирать железо и загружать прошивку. Скачать блокнот можно с официального сайта.
    • Atmel Studio – официальная среда для программирования микроконтроллеров AVR. Никаких детских ардуиновских функций – только работа напрямую с МК, только хардкор! Подробнее можно почитать на сайте амперки.
    • PlatformIO – очень мощная взрослая среда разработки, подробнее можно почитать даже в статье у меня на сайте. Автор – не я. Лично мне платформио не понравилась. Да, есть автодополнение кода и всякие удобные фишки, но конфигурировать проект приходится вручную (в 2019 году не сделать пару кнопок для того же выбора порта – разработчики – АУ. ), также есть проблемы с библиотеками.
    • Programino IDE – вот эта среда мне довольно таки понравилась, есть автодополнение и другие удобные фичи. Единственный минус – она платная, но на всё платное можно нагуглить кряк =) Подробнее на официальном сайте
    • B4R – среда, позволяющая программировать Арудино на языке Basic. Кому интересно – вот официальный сайт
    • XOD – очень интересная среда разработки, в которой программа составляется из нод (node) – блоков. Полностью другая концепция программирования, посмотрите обязательно. Официальный сайт.
    • FLProg – ещё одна блочная среда разработки, в которой используются блоки вместо кода. Подойдёт для очень молодых или очень старых ардуинщиков. Официальный сайт.

    Симуляторы

    • Wokwi – пожалуй лучший онлайн-симулятор Arduino. Полностью эмулирует работу микроконтроллера, отлично подходит для теста различных алгоритмов. Имеет автодополнение кода и менеджер библиотек. Можно собирать схемы из доступных железок, тоже всё работает как в жизни. Официальный сайт.
    • Tinkercad – “детский” симулятор с небольшим набором железок и возможностей, не рекомендую. Официальный сайт.

    Полезные страницы

    • Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
    • Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
    • Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
    • Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
    • Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
    • Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
    • Поддержать автора за работу над уроками
    • Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *