FLProg — система визуального программирования для Arduino

19.11.2020 0

Цель IDE

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

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

Интерфейс сравнительно простой в освоении, его основой является язык C++, поэтому освоить инструментарий могут даже начинающие программисты.



Как работает Arduino IDE?

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

  • Создаваемый пользователем код программы компилируется в двоичный файл-прошивку (скетч).
  • Путем вызова соответствующей функции компилятора прошивка переносится (записывается) на плату, подключенную к компьютеру через USB-интерфейс (или другой — зависит от платы).
  • Загруженная на плату микропрограмма сразу же начинает работать — процесс программирования на этом заканчивается.

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


Где скачать Arduino IDE

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

Сама программа предоставляется с открытым исходным кодом. Все базовые инструменты распространяются бесплатно — достаточно выбрать версию, соответствующую операционной системе. С описаниями (на английском языке) можно ознакомиться на странице официального сайта https://www.arduino.cc/en/main/software, а сами ссылки на нужную версию смотрите в таблице выше.

После выбора нужной операционной системы и нужного файла установки вы попадете на страницу скачивания (см. ниже), где вам просто нужно будет нажать «Just Download» для начала скачивания.

Arduino IDE на русском языке

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

Полный список выпущенных локализаций представлен на этой странице: https://playground.arduino.cc/Main/LanguagesIDE. Русский язык входит в список.

Русский язык входит в список языков Arduino IDE.

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

FilePreferencesLanguage(Файл → Настройки → Язык)

и выбрать русский язык в списке.

Установка Arduino IDE Windows / Linux

После скачивания установочного файла .exe программа сама создаст необходимые папки для хранения скетчей и библиотек в папке пользователя Мои документы. Изначально Arduino IDE 1.8.6 содержит только стандартные библиотеки. Для работы с отдельными модулями вам дополнительно потребуется скачивать и устанавливать необходимые файлы библиотек для подключения модулей к плате Arduino.

Видео. Установка Arduino IDE в Windows 7 / Win 10

Видео. Установка Arduino IDE в Ubuntu / Debian / Mint

Установка среды

Установка программной среды Ардуино довольно несложный процесс. После того как вы выбрали и скачали нужную версию необходимо запустить установку через файл arduino.exe.

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

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

Далее выбираем папку для установки.

Если установщик предложит установить USB-to-serial драйвер — жмем Установить.

FLProg — система визуального программирования для Arduino

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

Официальную среду разработки про­грамм для модулей Arduino предла­гают пользователям под названием Arduino IDE (рис. 1).

Рис. 1

Программирова­ние в ней происходит на языке ProcesSing/Wiring — диалекте языка С (скорее, C++). Среда представляет собой, по сути, обычный текстовый редактор с возможностью трансляции текста про­граммы в машинные коды и их загрузки в микроконтроллер модуля. Альтерна­тива Arduino IDE — предназначенная для микроконтроллеров семейства AVR ин­тегрированная среда AVR Studio (рис. 2). Она служит для разработки и отладки программ на языке ассемблера, но к ней можно подключить и компилятор языка С. В 2006 г. она сменила название на Atmel Studio.

Рис. 2

С появлением визуальных языков программирования на них охотно пере­ключились не только радиолюбители, но и многие профессионалы. Сущест­вующие средства разработки этого типа условно можно разделить на три вида:

  • Средства расширенного Формати­рования обычного исходного текста раз­рабатываемой программы. Её по-преж­нему пишут на языке С, но в более на­глядном формате. Сейчас таких средств очень много. Самые яркие примеры: Scratch, S4A, Ardublock. Они хороши для начального обучения программирова­нию на языке С, поскольку отлично по­казывают структуру и синтаксис этого языка. Но большие серьезные програм­мы получаются громоздкими. На рис. 3. показан пример программы на языке Scratch.

    Рис. 3

  • Средства, скрывающие текст и за­меняющие его графическими символа­ми. В них также повторяется структура языка программирования высокого уровня, формируются циклы, переходы, условия. Эти средства тоже очень хоро­ши для первоначального обучения по­строению алгоритмов с последующим переходом к программированию на классических языках. Но они плохо под­ходят для построения больших про­ектов ввиду громоздкости получаемых структур. Примеры таких средств — miniBloq, Algorithm Builder, Flowcode. На рис. 4 показан пример программы, разработанной в среде miniBloq.
    Рис. 4
  • Средства, основанные на языках FBD и LAD, применяемых в промышлен­ной автоматике. Строго говоря, языки программирования, как таковые, в них не используются. Это, скорее всего, ви­зуальные среды для рисования принци­пиальных и логических схем проектиру­емых устройств. Примеры схем вычис­лительных алгоритмов, построенных с помощью сред проектирования Horizon и FLProg, показаны соответственно на рис. 5 и рис. 6. Тем, кто привык рабо­тать с цифровой техникой, больше по­нравится работать в этих средах, чем разрабатывать программы на классиче­ских языках программирования. Подоб­ные средства хорошо подходят как для изучения импульсной и релейной техни­ки, так и для создания серьёзных про­ектов. В них сконцентрирован много­летний опыт разработчиков программ для промышленных контроллеров. Но начальный уровень знаний, требующий­ся для использования таких средств, значительно выше. Нужно владеть осно­вами электротехники и принципами по­строения электрических схем. Эти сред­ства хороши для инженеров-электриков и электронщиков, которые хотят исполь­зовать микроконтроллеры в своих раз­работках, не изучая для этого классиче­ские языки программирования.

    Рис. 5

    Рис. 6

  • Рассматриваемая далее программа FLProg основана на языках программи­рования FBD и LAD.

    FBD (Function Block Diagram) — гра­фический язык программирования стандарта МЭК 61131-3. Программа представляет собой список цепей, за­полняемый последовательно сверху вниз. Цепи образуют из библиотечных блоков. Блок (элемент) — это подпро­грамма, функция или функциональный блок (И, ИЛИ, НЕ, триггер, таймер, счёт­чик, блок обработки аналогового сигна­ла, математическая операция и т. д).

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

    Рис. 7

    LAD (Ladder Diagram) — язык релей­ной (лестничной) логики, известный также под названиями LD и РКС.

    Синтаксис этого языка удобен для опи­сания логических узлов, выполненных на релейной технике. Язык ориентиро­ван на специалистов по автоматике, ра­ботающих на промышленных предприя­тиях. Он обеспечивает наглядное ото­бражение логики работы контроллера, облегчающее не только собственно про­граммирование и ввод системы в эксплуатацию, но и быстрый поиск неполадок в подключаемом к конт­роллеру оборудовании. Программа на языке ре­лейной логики имеет на­глядный и интуитивно по­нятный инженеру-электрику вид, представляя логические операции в виде электрических цепей с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в такой цепи соответствует результату логи­ческой операции (ток течёт — истина, ток не течёт — ложь). Пример схемы на языке LAD представлен на рис. 8.

    Рис. 8

    Основные элементы языка LAD — контакты, которые можно уподобить контактным парам реле или кнопок. Контактная пара отождествляется с логиче­ской переменной, а состояние этой пары — со значением пе­ременной. Различают нормаль­но замкнутые и нормально ра­зомкнутые контактные элемен­ты. Их можно сопоставить с нормально замкнутыми и нор­мально разомкнутыми кнопка­ми в электрических цепях.

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

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

    В настоящее время существует бога­тый выбор как различных вариантов микроконтроллерных модулей Arduino (рис. 9), так и дополняющих их моду­лей, например, датчиков и исполнитель­ных устройств. Кроме того, в Интернете (например, на сайте https://robocraft.ru/) можно найти огромное число готовых проектов на основе этих модулей и адаптировать их под свои нужды.

    Рис. 9

    В настоящее время система FLProg работает со следующими версиями мо­дулей: Arduino Diecimila, Arduino Duemila-nove, Arduino Leonardo, Arduino Lilypad, Arduino Mega 2560, Arduino Micro, Arduino Mini, Arduino Nano (ATmega168), Arduino Nano (ATmega328), Arduino Pro Mini, Arduino Pro (ATmega168), Arduino Pro (ATmega328), Arduino UNO. Недавно в списке появилась и плата Intel Galileo gen2. В дальнейшем предполагается пополнение и этого списка, возможно, и добавление модулей, основанных на микроконтроллерах STM.

    Для создания FLProg был использован опыт программистов фирм Siemens, ABB, Schneider Electric и наработки в их средах программирования. При этом был не­сколько расширен классический функ­ционал языков для работы с промыш­ленными контроллерами путём добавле­ния функциональных блоков, отвечающих за работу с внешними устройствами. Программа работает на компьютерах под управлением ОС Windows и Linux.

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

    Красный индикатор у наименования платы на рис. 10 указывает на то, что в её схеме обнаружены ошибки. После ис­правления ошибок индикатор станет зелёным. Стрелка рядом с комментарием предназначена для свёртки изображения.

    Рис. 10

    Правое окно рабочей области (рис. 11) отведено для библиотеки элементов. Добавить компонент в проект можно простым перетаскиванием, а двойной щелчок покажет информацию об эле­менте программы. Перечень блоков, предусмотренных в программе, их опи­сание и помощь по работе с програм­мой можно найти на интернет-странице [1]. На интернет-странице [2] имеется перечень периферийного оборудова­ния, поддерживаемого программой. Эти списки постоянно пополняются.

    Рис. 11

    По мере развития программы плани­руется организация обмена информа­цией по Bluetooth, радиоканалу и интерфейсу RS-485, работа с трехосе­вым гироскопом, люксметром и други­ми датчиками. В дальнейших планах есть разработка SCADA-системы для доступа к системам, разработанным с помощью среды FLProg, с персональ­ного компьютера или мобильного уст­ройства.

    Разработанную «принципиальную схему» FLProg переводит на язык Processing/Wiring. По завершении компи­ляции автоматически открывается про­грамма Arduino IDE с загруженным скет­чем проекта. В Arduino IDE необходимо указать COM-порт компьютера, к кото­рому подключён микроконтроллерный модуль, выбрать тип модуля и загрузить программу в его микроконтроллер.

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

    ЛИТЕРАТУРА

  • Создание Help-а для программы FLProg. — URL https://flprogwiki.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5Help-%DO%BO%D0%B4%D0%BB%D1%8F_%D0%8F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8BFLProg (23.06 15).
  • Применяемое в проекте оборудование. — URL https://flprog.ru/FLProg/pid218088913/vdi194000369 (23.06 15).
  • Автор: С. ГЛУШЕНКО, г. Москва

    Настройка IDE

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

    Шаг 1

    Соединяем плату Arduino с компьютером.

    Шаг 2

    Переходим в:

    Пуск → Панель управления → Диспетчер устройств

    Находим «Порты COM и LPT» и видим нашу плату на COM2.

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

    Шаг 3

    Запускаем Arduino IDE и переходим в:

    Инструменты → Порт

    Выбираем порт COM2 (или тот, который получился у вас на шаге выше).

    Шаг 4

    Выбираем плату.

    На этом с настройкой закончено. Теперь у вас настроена Arduino IDE и вы можете приступить к разработке своих проектов.