FLProg — система визуального программирования для Arduino
19.11.2020Цель 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.
Чтобы включить русскоязычный интерфейс, нужно воспользоваться командой:
File → Preferences → Language(Файл → Настройки → Язык)
и выбрать русский язык в списке.
Установка 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
С появлением визуальных языков программирования на них охотно переключились не только радиолюбители, но и многие профессионалы. Существующие средства разработки этого типа условно можно разделить на три вида:
Рис. 3
Рис. 4
Рис. 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, что позволит применять для работы с ними российское программное обеспечение.
ЛИТЕРАТУРА
Автор: С. ГЛУШЕНКО, г. Москва
Настройка IDE
Для соединения платы с компьютером используется USB-порт. Программирование не требует специального оборудования, сама плата компактна и имеет малый вес.
Шаг 1
Соединяем плату Arduino с компьютером.
Шаг 2
Переходим в:
Пуск → Панель управления → Диспетчер устройств
Находим «Порты COM и LPT» и видим нашу плату на COM2.
Вполне вероятно, что вы ничего не увидите. В большинстве случаев проблема в том, что вы купили плату на чипе CH340G. В таком случае нужно воспользоваться решением из нашей статьи.
Шаг 3
Запускаем Arduino IDE и переходим в:
Инструменты → Порт
Выбираем порт COM2 (или тот, который получился у вас на шаге выше).
Шаг 4
Выбираем плату.
На этом с настройкой закончено. Теперь у вас настроена Arduino IDE и вы можете приступить к разработке своих проектов.