Установка дополнительных плат в Arduino IDE. Руководство по arduino

Рассмотрим начало работы с Arduino в операционной системе Windows. В качестве примера возьмём платформу Arduino Uno. Для других плат разница минимальна.

Установка Arduino IDE

Для начала нужно установить на компьютер интегрированную среду разработки Arduino — Arduino IDE. Из за войны между Arduino SRL и Arduino LLC , в зависимости от модели платформы, выберете версию Arduino IDE.

Скачать Arduino IDE 1.6.4 - для всех платформ, кроме Arduino Leonardo ETH и Arduino M0 (стабильная версия от Arduino LLC).

Запуск Arduino IDE

После того как вы загруз или и установили Arduino IDE, давайте запустим её! Должно открыться окно как на рисунке ниже.

Что-то пошло не так?

    Arduino IDE не запускается? Вероятно на компьютере некорректно установлена JRE (Java Runtime Environment). Обратитесь к пункту (1) для переустановки Arduino IDE: инсталлятор сделает всю работу по развёртыванию JRE.

Подключение Arduino к компьютеру

После установки Arduino IDE пришло время подключить платформу Arduino к компьютеру.

Соедините Arduino с компьютером через USB-кабель. Вы увидите, как на плате загорится светодиод «ON», и начнёт мигать светодиод «L». Это означает, что на плату подано питание, и микроконтроллер Arduino начал выполнять прошитую на заводе программу «Blink» (мигание светодиодом).

Чтобы настроить Arduino IDE на работу с конкретной Arduino, нам необходимо узнать, какой номер COM-порта присвоил компьютер данной платформе. Для этого нужно зайти в «Диспетчер устройств» Windows и раскрыть вкладку «Порты (COM и LPT)». Мы должны увидеть следующую картину:


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

Что-то пошло не так?

Если после подключения Arduino к компьютеру, в диспетчере устройств не появляется новых устройств, это может быть следствием одной из причин:

    Неисправный USB-кабель или порт

    Блокировка со стороны операционной системы

    Неисправная плата Arduino

Настройка Arduino IDE на работу с Arduino

Теперь нам необходимо сообщить Arduino IDE, что плата, с которой ей предстоит общаться, находится на COM-порту с номером 2 .

Для этого переходим в меню: Инструменты Порт и выбираем порт «COM2». Теперь Arduino IDE знает — что-то находится на порту «COM2». И с этим «чем-то» ей вскоре предстоит общаться.

Чтобы у Arduino IDE не осталось никаких сомнений, нам необходимо сообщить Arduino IDE с какой именно платой будем работать. Для этого переходим в меню: Инструменты Плата и выбираем плату «Arduino Uno».

Теперь Arduino IDE знает всё что ей необходимо для прошивки Arduino.

Что-то пошло не так?

    Список последовательных портов пуст? Значит Arduino некорректно подключена. Вернитесь к пункту (3), чтобы отладить соединение.

    Arduino IDE невероятно тормозит при навигации по меню? Отключите в диспетчере устройств все внешние устройства типа «Bluetooth Serial». Например, виртуальное устройство для соединения с мобильным телефоном по Bluetooth может вызвать такое поведение.

Среда настроена, плата подключена. Теперь можно переходить к загрузке скетча.

Arduino IDE содержит очень много готовых примеров, в которых можно быстро подсмотреть решение какой-либо задачи. Есть в ней и простой пример «Blink». Давайте выберем его.

Немного модифицируем код, чтобы увидеть разницу с заводским миганием светодиода.

Вместо строчки:

напишем:

Полная версия кода:

void setup() { // настраиваем пин 13 в режим выхода pinMode(13, OUTPUT); } void loop() { // подаём на пин 13 «высокий сигнал» digitalWrite(13, HIGH); // ждём 100 миллисекунд delay(100); // подаём на пин 13 «низкий сигнал» digitalWrite(13, LOW); // ждём 100 миллисекунд delay(100); }

Теперь светодиод «L» должен загораться и гаснуть каждые 100 миллисекунд. То есть в 10 раз быстрее, чем в заводской версии. Загрузим наш скетч в Arduino и проверим, так ли это?

После загрузки светодиод начнёт мигать быстрее. Это значит, что всё получилось. Теперь можно смело переходить к « »

Что-то пошло не так?

    В результате загрузки появляется ошибка вида avrdude: stk500_get sync(): not in sync: resp = 0x00 ? Это значит, что Arduino настроена некорректно. Вернитесь к предыдущим пунктам, чтобы убедиться в том, что устройство было распознано операционной системой и в Arduino IDE установлены правильные настройки для COM-порта и модели платы.

Все, кто начинает изучать Arduino, знакомы со средой разработки Arduino IDE. Оно позволяет писать скетчи, проверять корректность и загружать их в Ардуино. Но единственная ли это среда для разработки программ для Arduino? Вовсе нет! Давайте посмотрим, какие ещё есть варианты.

В данной статье мы рассмотрим 4 самые популярные среды разработки:

  • Arduino IDE;
  • Programino;
  • CodeBlocks for Arduino.

1 Среда разработки Arduino IDE

Конечно же, эта среда разработки знакома каждому, кто хоть раз программировал для Arduino.

В ней имеется весь необходимый минимум для разработки программ: написание кода, проверка кода, компиляция, загрузка скетча в Ардуино, монитор последовательного порта. Все, кто работал в серьёзных «взрослых» средах разработки типа JetBrains IDEA, Microsoft Visual Studio или Quartus, наверняка отметят, что среда Arduino IDE довольно аскетична: ничего лишнего, и особых удобств она не предлагает.

2 Среда разработки Programino

Рассмотрим среду разработки PROGRAMINO . Это платная среда разработки, но её можно опробовать в течение 14-ти дней бесплатно. Programino, как и другие среды разработки, требует, однако, чтобы у вас была установлена Arduino IDE. При первом запуске программы следует в настройках указать путь к исполняемому файлу arduino.exe. Для этого идём в меню настройки: Options Editor Settings . Появится окно, в котором нужно будет указать пути к директории с Arduino IDE и сопутствующими библиотеками. Теперь мы готовы писать программы в Programino.

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

Однако помимо этого, данная IDE предлагает такой удобный способ быстрой разработки как автодополнение кода. То есть, вам не придётся постоянно лазить в справочник по командам и методам Arduino. Вы начинаете набирать код, и среда разработки предложит вам выбрать из доступных вариантов тот, который вам нужен. Например, вы набираете "digi" и IDE предлагает вам варианты: "digitalRead", "digitalWrite" и другие возможные.


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

Постарайтесь набирать скетч вручную, а не копировать и вставлять, чтобы прочувствовать удобство автодополнения кода Programino.

Const int pinA = A5; void setup() { pinMode(pinA, INPUT); Serial.begin(19200); } void loop() { int r = analogRead(pinA); Serial.println(r); delay(100); }

Что ещё интересного предлагает Programino IDE? В данной среде разработки имеются несколько дополнительных полезных инструментов, доступных через меню Tools . Например: блокнот, дизайнер LCD символов, преобразователь между DEC-BIN-HEX, терминал последовательного порта, аналоговый плоттер и другие.


Остановимся подробнее на инструменте Analog Plotter . Это средство позволяет визуализировать вам то, что приходит в COM-порт от Arduino.

Для работы плоттера в скетче нужно активизировать последовательный порт на скорости 19200 кб/сек. Аналоговые данные выводятся на плоттер с помощью команды Serial.println() .

Запустим аналоговый плоттер. Нажмём кнопку Connect для подключения к порту, к которому у нас подключён Arduino.


Этот инструмент может быть полезным, например, для отображения показаний во времени каких-нибудь аналоговых датчиков: температуры, влажности, давления, освещённости и других.

Перед записью скетча в память Arduino, следует указать тип используемой платы и порт, к которому она подключена через меню Hardware .



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

3 Среда разработки B4R (Basic for Arduino)

Ещё одна интересная альтернатива Arduino IDE - B4R, или "Basic for Arduino" . Эта среда разработки уникальна тем, что использует язык Basic, а не Си. Она также поддерживает функцию автодополнения кода. Кроме того, она полностью бесплатна.

При первом запуске среда B4R также требует указать путь к директории с Arduino IDE и, при необходимости, дополнительным нестандартным библиотекам и общим модулям. Эти настройки можно задать и позже через меню Tools Configure Paths .


А также выбрать плату: Tools Board Selector :

Давайте напишем вот такой скетч и заодно немного ближе познакомимся со средой разработки.


В центральной части находится поле для редактирования кода. В правой - область вкладок и сами вкладки: доступных библиотек, модулей скетча, журнала и поиска. На приведённый фотографии открыта вкладка с журналом. Видно, что сюда выводятся сообщения, которые в программе задаются командой Log() . В данной среде разработки можно ставить точки останова, что весьма полезно в процессе отладки, а также использовать закладки для более быстрой навигации по коду.

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

4 Среда разработки Codeblocks for Arduino

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


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

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

Одним из примеров является Arduino Due , которая использует ARM/SAM микроконтроллеры. Для того была возможность, используя Arduino IDE , программировать Arduino Due , необходимо установить SAM-я дро с помощью Boards Manager .

В этом примере мы установим ядро, необходимое для платы Arduino Due .

Выбираем меню Инструменты → Плата → Boards Manager

Откроется окно Менеджера плат, в котором вы увидите список установленных и доступных плат. Выберем ядро SAM , требуемую версию (как и в случае с может быть доступна лишь одна версия, поэтому выпадающего списка с перечнем доступных версий может и не быть) и жмем Install .

По завершению процесса установки (который может занять достаточно продолжительное время) статус ядра SAM станет INSTALLED . Теперь плата Arduino Due станет доступна в меню Инструменты → Плата.

Ручная установка плат

Также имеется возможность добавления плат в ручном режиме. Этот метод работает на и на . Для версии IDE 1.6.2 метод не работоспособен (баг исправлен в релизе 1.6.3). Насчет версий ранее 1.6.1 ничего сказать не могу.

Расскажу на примере плат компании Adafruit .

Сначала скачиваем файлы описания для плат с GitHub -репозитория Adafruit или по ссылке ниже (на GitHub , возможно, будет более свежая версия этого архива).

Category: Programs
Date: 06.04.2015

Если вы скачали архив с Github , то распакуйте архив и переменуйте получившуюся папку из Adafruit_Arduino_Boards-master в Adafruit_Arduino_Boards .

Внутри этой папки вы обнаружите две подпапки:

  • hardware , также содержащую подпапки adafruit и tools
  • drivers , в которой находятся драйвера Flora для Windows

В Mac OS папка скрыта внутри пакета приложения. Для того, чтобы найти ее делаем правый клик на приложении Arduino IDE и выбираем Показать содержимое пакета

Переходим внутри по вложенным подпапкам Contents → Java и находим там папку hardware .

Теперь нужно внимательно объединить содержимое папки hardware c аналогичной папкой из скаченного нами ранее и распакованного архива с описанием плат с сайта Adafruit . Нужно удостовериться в том, что вы переписали конфликтующие файлы (в данном случае avrdude.conf ). После всех операций папка hardware приложения Arduino IDE будет иметь следующую структуру:

Если вы работаете в Windows , то вам необходимо будет переписать еще и папку drivers .

Если все сделано правильно, то новые платы появятся в меню Инструменты → Плата в Arduino IDE .

Платы на базе микроконтроллеров ATTiny

Один из моих читателей — Павел Пащенко любезно поделился файлами описаний к микроконтроллерам серии ATTiny. Cпасибо, Павел!

Category: Programs
Date: 08.04.2015

Установка аналогична описанной выше.

Получившийся у Павла результат в Windows :

Платы на базе микроконтроллера Atmega8

Для микроконтроллеров Atmega8 с внешним кварцем на 8 МГц и без загрузчика, в файл boards.txt необходимо добавить следующие строки:

############################################################## atmega8.name=ATmega8 (no bootloader 8MHz ext) atmega8.upload.protocol=arduino atmega8.upload.tool=usbasp atmega8.upload.maximum_size=7680 atmega8.upload.speed=115200 atmega8.bootloader.low_fuses=0xFF atmega8.bootloader.high_fuses=0xD9 atmega8.bootloader.unlock_bits=0x3F atmega8.bootloader.lock_bits=0x0F atmega8.build.mcu=atmega8 atmega8.build.f_cpu=8000000L atmega8.build.core=arduino atmega8.build.variant=standard

##############################################################

atmega8 . name = ATmega8 (no bootloader 8MHz ext )

atmega8 . upload . protocol = arduino

atmega8 . upload . tool = usbasp

atmega8 . upload . maximum_size = 7680

atmega8 . upload . speed = 115200

atmega8 . bootloader . low_fuses = 0xFF

atmega8 . bootloader . high_fuses = 0xD9

atmega8 . bootloader . unlock_bits = 0x3F

atmega8 . bootloader . lock_bits = 0x0F

atmega8 . build . mcu = atmega8

atmega8 . build . f_cpu = 8000000L

× Close


Arduino IDE - это бесплатная среда разработки для платформы Arduino, содержащая редактор кода, компилятор и модуль передачи прошивки в плату. Эта среда прекрасно подойдет для программистов, которые предпочитают языки программирования C и C++. Программы (скетчи), написанные с помощью Arduino IDE, обрабатываются препроцессором, а затем компилируются в AVR-GCC.

Среда разработки Arduino поставляется вместе с библиотекой программ, которая называется «Wiring», берущей начало от проекта Wiring, который позволяет делать много стандартных операций ввода/вывода гораздо проще.

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

Основные преимущества Arduino IDE для Windows

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

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

Основные недостатки

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

Инсталляция

  • загрузите программное обеспечение по ссылке;
  • откройте скачанный файл;
  • выполните команды, посмотрите в окне установки.

Что нового

  • Новая цель! Платы ARM64 теперь полностью поддерживаются (Nvidia Jetson и RaspberryPi3 с 64-битной операционной системой).
  • Исправлено ошибки, связанные с UTF8 в Windows.
  • Исправлено: теперь можно снова скомпилировать, используя OpenJDK (удалена зависимость от JavaFx).
  • Исправлено: использовать только TouchBar на OSX 10.12 или выше.
  • PluggableDiscovery: легко добавьте свой собственный первооткрыватель и сделайте его доступным в меню Boards / Port (спасибо @PaulStoffregen за идею и начальную реализацию).
  • LibManager: уменьшено замедление при поиске.
  • Исправлено: убедитесь, что линия эскиза видна, если она содержит ошибку и должна быть выделена.
  • Linux: установщик теперь пытается установить символическую ссылку / usr / local / bin (это не влияет на обычную установку вне системы) Спасибо @ 2E0PGS.
  • Исправлено обновление прошивки, недоступное для сторонних плат WINC.
  • Используйте лексикографическое расстояние как последний шанс найти нужную библиотеку (если любая другая техника не удалась).
  • Исправлено некоторые прототипы, вставляемые в середине функции.

Рассмотрим начало работы с Arduino IDE в операционной системе Windows на примере Arduino Uno . Для других плат разница минимальна - эти особенности перечислены на страницах описания конкретных плат.

1. Установка Arduino IDE под Windows

Шаг 1

Выберите версию среды в зависимости от операционной системы.

Шаг 2

Нажмите на кнопку «JUST DOWNLOAD» для бесплатной загрузки Arduino IDE.

2. Запуск Arduino IDE

Запустите среду программирования Arduino IDE.

Arduino IDE не запускается?

Вероятней всего, на компьютере некорректно установлена JRE - Java Runtime Environment. Для решения проблемы

3. Подключение платы Arduino к компьютеру

Операционная система распознала плату Arduino как COM-порт и назначила номер 2 . Если вы подключите к компьютеру другую плату Arduino, операционная система назначит ей другой номер. Если у вас несколько плат Arduino, очень важно не запутаться в номерах COM-портов.

Что-то пошло не так?

После подключения Arduino к компьютеру, в диспетчере устройств не появляются новые устройства? Это может быть следствием следующих причин:

    Неисправный USB-кабель или порт

    Блокировка со стороны операционной системы

    Неисправная плата Arduino

4. Настройка Arduino IDE

Для настойки среды Arduino IDE с конкретной платформой Arduino - необходимо выбрать название модели Arduino и номер присвоенного плате COM-порта.


В рассмотренном примере мы выбрали плату Arduino Uno. В вашем случае выбирайте конкретно вашу модель Arduino.

Поздравляем, среда Arduino IDE настроена для прошивки платы Arduino.

Что-то пошло не так?

Среда настроена, плата подключена. Пора прошивать платформу.

Arduino IDE содержит большой список готовых примеров в которых можно быстро подсмотреть решение какой-либо задачи. Выберем самый распространенный пример - «Blink».

Немного модифицируем код, чтобы увидеть разницу с заводским миганием светодиода.

Заменим строчку:

Delay(1000 ) ;

Delay(100 ) ;

Полная версия кода:

void setup() { // настраиваем пин 13 в режим выхода pinMode(13 , OUTPUT) ; } void loop() { // подаём на пин 13 «высокий сигнал» digitalWrite(13 , HIGH) ; // ждём 100 миллисекунд delay(100 ) ; // подаём на пин 13 «низкий сигнал» digitalWrite(13 , LOW) ; // ждём 100 миллисекунд delay(100 ) ; }

Теперь светодиод «L» должен загораться и гаснуть каждые 100 миллисекунд - в 10 раз быстрее исходной версии. Загрузите скетч в Arduino и проверьте.
После загрузки светодиод начнёт мигать быстрее. Всё получилось.

Что-то пошло не так?

В результате загрузки появляется ошибка вида: avrdude: stk500_get sync(): not in sync: resp = 0x00 ? Значит Arduino настроена некорректно. Вернитесь к предыдущим пунктам и убедитесь в том, что устройство было корректно распознано операционной системой, а в Arduino IDE установлены правильные настройки COM-порта и модели платы.