Программная среда arduino. Программирование Arduino с помощью ArduBloсk на примере робота, движущегося по полосе

01.06.2019

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

Скачать
Мониторинг последовательной шины (Serial Monitor)

Отображает данные посылаемые в платформу Arduino (плата USB или плата последовательной шины). Для отправки данных необходимо ввести текст и нажать кнопку Send или Enter. Затем выбирается скорость передачи из выпадающего списка, соответствующая значению Serial.begin в скетче. На ОС Mac или Linux платформа Arduino будет перезагружена (скетч начнется сначала) при подключении мониторинга последовательной шины.

Имеется возможность обмена информацией с платформой через программы Processing, Flash, MaxMSP и т.д. (см. подробности на странице описаний интерфейсов).

Настройки

Некоторые настройки изменяются в окне Preferences (меню Arduino в ОС Mac или File в ОС Windows и Linux). Остальные настройки находятся в файле, месторасположение которого указано в окне Preferences.

Платформы

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

  • Arduino BT
    Тактовая частота ATmega168 16 МГц. Загрузка Bootloader происходит совместно с кодами для инициализации модуля Bluetooth.
  • LilyPad Arduino с ATmega328
    Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. Соответствует Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328.
  • LilyPad Arduino с ATmega168
    Тактовая частота ATmega168 8 МГц.

    Загруженный Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза), т.к. оригинальные версии LilyPad не поддерживают автоматическую перезагрузку. Также не поддерживаются внешние часы и, следовательно, Bootloader конфигурирует загрузку внутренних 8 МГц часов в ATmega168.

    При наличии поздних версий LilyPad (с 6-контакным программным вводом) перед загрузкой Bootloader требуется выбрать Arduino Pro или Pro Mini (8 MHz) с ATmega168.

  • Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328
    Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. Соответствует LilyPad Arduino с ATmega328.
  • Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega168
    Тактовая частота ATmega168 8 МГц (3.3 В) с возможность автоматической перезагрузки.
  • Arduino NG или предыдущие версии с ATmega168
    Тактовая частота ATmega168 16 МГц без возможности автоматической перезагрузки. Компиляция и загрузка соответствует Arduino Diecimila или Duemilanove с ATmega168, но загрузка Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза).
  • Arduino NG или предыдущие версии с ATmega8
    Тактовая частота ATmega8 16 МГц без возможности автоматической перезагрузки.

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

Cкачать Arduino IDE

Версия Windows Mac OS X Linux
1.6.5
1.8.2

Самый безопасный и надежный источник — это, конечно же, официальный сайт , но вы можете скачать самые популярные версии на этой странице по ссылкам выше. Самая свежая версия на момент написания статьи 1.8.2. Вы можете скачать ее, но многие рекомендуют скачивать версию 1.6.5, потому что она считается самой стабильной. Так же существует классическая версия Иде 1.0.6. Она не поддерживает работу с Arduino Yún и Arduino DUE. Так же эта линейка версий программ больше не поддерживается сообществом и обновляться не будет.

Для Windows есть возможность загрузки архива (Windows) и инсталлятора (Windows Installer). Архив можно использовать как Portable версию. А если вы устанавливаете среду разработки ардуино на свое постоянное рабочее место, то лучше выбрать Windows Installer.

Я использую последнюю версию, но у нее есть трудности при работе из другого редактора. Я долго пытался настроить функции программы в редакторе Sublime Text 3. Работать такая связка абсолютно не хотела, поэтому я просто отказался от этой идеи и оставил все как есть. Если вы хотите использовать свой любимый редактор, то лучше скачивайте версию 1.6.5.

Для загрузки выберите необходимую версию, подходящую под вашу операционную систему. Далее откроется страница с добровольными пожертвованиями. Arduino IDE является бесплатной программой. Вы можете просто скачать ее нажав на серую надпись «Just Download», или можете отблагодарить разработчиков добровольным взносом.

Если вы скачали архив, то просто распакуйте его и запустите Arduino.exe.

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

Запускаем установочный файл. Соглашаемся с условиями лицензионного соглашения (естественно после прочтения).


Соглашаемся с условиями

Выбираем необходимые модули программы. Первые два должны быть отмечены обязательно. Остальные на ваше усмотрение.


Выбор компонентов Arduino ide.

Во время установки может появиться окно с предложением установки драйвера USB-to-serial. Соглашаемся и ждем окончания установки. На этом весь процесс завершен. Осталось настроить среду разработки и можно творить.

Настройка Arduino IDE

После установки необходимо настроить программу. Сделать это очень легко:

1. Сначала подключите вашу ардуинку к компьютеру с помощью USB кабеля.

2. Потом перейдите в «Пуск >> Панель управления >> Диспетчер устройств «. Там надо найти «Порты COM и LPT». В этом списке будет указана ваша arduino и порт к которому она подключена (COM2). Запомните это значение.

Если вашего микроконтроллера нет в списке, или он показан как неопознанное устройство, значит драйвер установлен неправильно, или у вас китайская плата с чипом CH340. Это не проблема. Просто вам нужен другой драйвер. Где его скачать и как установить я рассказал в

3. Теперь запускаем Arduino IDE и сразу идем в меню «Инструменты >> Порт «. Там необходимо выбрать тот COM порт, который вы запомнили.

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

Использование Arduino IDE

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

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

При установке Arduio IDE должны автоматически поставиться драйверы, необходимые для работы с оригинальными платами Arduino. Но фишка в том, что на китайских платах стоит более дешёвый контроллер интерфейса USB, для работы с ним нужен специальный драйвер. Китайский контроллер ничем не хуже, он просто дешевле =)

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


Далее подключить Arduino к компьютеру, подождать, пока Windows её распознает и запомнит (первое подключение).
P.S. Вылезет окошечко, сообщающее, что устройство опознано и подключено к COM порту с определённым номером отличным от номера 1

По умолчанию в linux можно прошивать китайские ардуинки без дополнительного оборудования. Но вначале ничего не получается и Arduino IDE выдает ошибку.
Дело вот в чем. Linux (в моем случае linux mint) определяет ардуинку как устройство ttyUSB*. Обычно это ttyUSB0. Это можно узнать командой dmesg в терминале.
То есть, в системе появляется интерфейс /dev/ttyUSB0 . Но чтобы с ним работать, нужны права доступа. Читать и писать на устройство /dev/ttyUSB0 имеет пользователь root и пользователи группы dialout. Работы с правами суперпользователя лучше избегать, поэтому следует занести своего пользователя в группу dialout. Это можно сделать следующей командой(обратите внимание, команда whoami в обратных кавычках)
sudo usermod -a -G dialout `whoami`
После этого нужно перелогиниться. Дальше запускаем Arduino IDE и в меню «Инструменты-Порт» ставим галочку напротив /dev/ttyUSB0 .

За инфу спасибо Владу Шеменкову

Все, кто начинает изучать 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. Их использование может существенно упростить и ускорить написание ваших собственных скетчей.