Arduino визуальное программирование


Arduino: ТОП-3 графических сред программирования | CHIP

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

Visuino

Visuino — это бесплатная графическая среда, работающая на базе совместимых с Arduino промышленных контроллеров (ПЛК) Controllino. Она дает возможность создания сложных систем автоматизации и решений IoT (Internet of Things, интернета вещей), причем сделать это можно, просто перемещая и соединяя визуальные блоки. Программная среда автоматически генерирует код для промышленных контроллеров.

Итак, что надо сделать. Выбираем компоненты (модули) с панели компонентов и перемещаем их в область проектирования. Затем их необходимо соединить и настроить свойства. Это делается с помощью инспектора объектов.

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

Когда ПЛК запрограммирован, графическая среда подсказывает доступный способ подключения к контроллеру. Это может быть последовательный порт, Ethernet, Wi-Fi или GSM.

Наконец ваш проект готов: все контроллеры прописаны, все работает. Теперь, нажав на логотип Arduino, расположенный на верхней панели, вы заставите Visuino создать коды для Arduino и открыть среду его разработки (Arduino IDE), через которую уже можно скомпилировать код и загрузить его в ПЛК.

Совет. Если установленная плата не соответствует вашему Arduino, вы можете изменить ее с помощью команды «Select Board» (Выбрать панель).

Scratch

Эта графическая среда программирования была создана в 2003 году, когда группа сотрудников MIT Media Lab решила разработать язык программирования, доступный абсолютно для всех. В итоге через некоторое время публике был представлен Scratch.

Больше всего, пожалуй, он похож на Lego. По крайней мере, принцип тот же: это объектно ориентированная среда, в которой программы собираются из деталей, разноцветных и ярких. Эти детали можно перемещать, видоизменять, заставлять взаимодействовать различным образом. Основа Scratch — блоки команд, таких как сенсоры, переменные, движение, звук, операторы, внешность, перо, контроль и пр. Встроенный графический редактор дает возможность нарисовать любой объект. Не прошло и пяти лет с момента создания Scratch, как возник проект Scratch для Arduino (сокращённо — S4A), позволяющая программировать ПЛК Arduino.

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

Совет. Для новичков в Scratch существует специальный ресурс: https://scratch-ru.info.

ArduBloсk

Когда человек уже полностью освоил Scratch, но еще не дорос до Wiring, на котором программируются Arduino-совместимые платы, самое время посоветовать ему написанный на Java инструмент ArduBloсk. Особенно хорош он для тех, кто увлекается робототехникой.

В чем же разница? Дело в том, что Scratch не умеет прошивать Arduino, он лишь управляет его ПЛК через USB. Таким образом, Arduino не может работать сам по себе, ведь он зависит от компьютера.

По сути, ArduBloсk — это промежуточный этап между детской Scratch и вполне профессиональной, хоть и доступной Visuino, поскольку так же, как последняя, обладает возможностью перепрошивки Arduino-совместимых контроллеров.

Совет. Не забудьте установить на свой ПК Java-машину. Это не займет много времени.

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

Фото: компании-производители, pixabay.com

 Загрузка ...

Читайте также:

ichip.ru

Ardublock для Arduino – графический язык программирования

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

Установка Ardublock

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

  1. Скачать архив с сайта ArduBlock
  2. Открыть Arduino IDE/Menu /Arduino/ Preferences, там вы найдете строку Sketchbook location
  3. Создайте папку “tools/ArduBlockTool/tool” внутри папки “Arduino” в строке “Sketch location” и скопируйте архив “ardublock-all.jar” в папку “tool”. Например, если имя пользователя “user”, то путь в среде Windows будет таким: “C:\Users\user\Documents\Arduino”
  4. Перезапустите Arduino IDE и у Вас должен появиться пункт “ArduBlock” в меню “Tool”

При установки на Mac для пользователя user путь будет следующим: “/Users/user/Documents/Arduino/tools/ArduBlockTool/tool/ardublock-all.jar” При установке на Linux: “/home/user/sketchbook/tools/ArduBlockTool/tool/ardublock-all.jar”

Как запустить ArduBlock

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

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

Интерфейс программы

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

Блоки ArduBlock разделены на 6 категорий.

Control

Control

В разделе «Управление» мы найдем разнообразные циклы.

Порты (Pin)

Pin

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

Цифры, константы и Переменные

Цифры, константы и Переменные

Блоки категорий “Numbers/Constants” это переменные

Operators

Operators

Эта категория включает в себя логические и математические операторы.

Utilities 

Utilities

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

Модули

Bricks

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

Программирование

Программировать в Ardublock очень просто: нужно только соединять блоки в отдельно выделенном для этого черного поля.

Как посмотреть код и загрузить его на платформу

Все очень просто. Для начала сохраним наше решение (кнопка Сохранить) в формате ArduBlock (это позволит потом запускать ее в модульном виде и продолжать работу с блоками).

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

arduinomaster.ru

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

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

FBD (Function Block Diagram)

– графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков. Блок (элемент) – это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.

Ladder Diagram (LD, LAD, РКС)

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

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

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

В настоящее время программой поддерживаются следующие версии Arduino: Arduino Diecimila, Arduino Duemilanove, 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.

Приведу простейший пример программы – мигание светодиодом, подключенным к pin13 на двух языках.

FBD

Запускаем FLProg, создаем новый проект. В появившемся окне выбираем язык программирования – FBD, контроллер – Arduino Uno и жмем на кнопку «Готово»:

Далее в дереве проекта добавляем выход:

Зададим имя выходу – Led, тип - цифровой и выберем номер контакта, в нашем случае – это 13 контакт:

Затем добавим этот контакт, перетащив его зажатой левой кнопкой мыши в поле редактора схемы. В библиотеке функциональных блоков найдем Generator и тоже добавим его к проекту:

Щелкнув два раза на генераторе откроется окно его свойств, в котором выставим следующие параметры как на рисунке:

Затем проведем линию от вывода Q генератора до прямоугольника Led. Должно получиться как на рисунке:

На этом написание программы окончено. Теперь её можно загрузить в плату Arduino нажав на кнопку «Компилировать проект»:

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

Код, который сгенерировала программа FLProg:

bool _gen1I = 0; bool _gen1O = 0; unsigned long _gen1P = 0UL; void setup() { pinMode(13, OUTPUT); } void loop() { //Плата:1 if (0) { if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P = millis(); } } else { _gen1I = 0 ; _gen1O= 0;} if (_gen1I) { if ( _isTimer ( _gen1P , 500 )) { _gen1P = millis(); _gen1O = ! _gen1O;}} digitalWrite(13, _gen1O); } bool _isTimer(unsigned long startTime, unsigned long period ) { unsigned long currentTime; currentTime = millis(); if (currentTime> = startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));} }

Может код и не совсем оптимизирован, но он полностью рабочий.

LAD

При создании проекта необходимо выбрать язык LAD и контроллер Arduino Uno как в прошлом примере. Далее необходимо добавить из библиотеки функциональных блоков генератор к нашему проекту:

Свойства генератора установить как показано на рисунке:

И нарисовать следующее соединение:

На этом написание программы окончено. Аналогичным предыдущему примеру образом скомпилируем проект:

Получившийся код программы:

bool _gen1I = 0; bool _gen1O = 0; unsigned long _gen1P = 0UL; void setup() { pinMode(13, OUTPUT); } void loop() { //Плата:1 if (1) { if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P = millis(); } } else { _gen1I = 0 ; _gen1O= 0;} if (_gen1I) { if ( _isTimer ( _gen1P , 500 )) { _gen1P = millis(); _gen1O = ! _gen1O;}} if(_gen1O) {digitalWrite (13, 1); } else {digitalWrite (13, 0); } } bool _isTimer(unsigned long startTime, unsigned long period ) { unsigned long currentTime; currentTime = millis(); if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));} }

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

Ссылки

Официальный сайт программы - http://flprog.ru/ Скачать программу для Windows и Linux - http://flprogwiki.ru/flprogRelease/releseSite/index.php Блог компании FLProg на Geektimes - https://geektimes.ru/company/flprog/ Youtube канал - https://www.youtube.com/channel/UCI0qdIuuNMOdIoAA-5623rQ Ещё один Youtube канал - https://www.youtube.com/channel/UCZ2a-GXoEFH8W34vq5ob7Kw

golos.io

Scratch и визуальное программирование Arduino

Scratch — это среда для обучения школьников программированию. В этой среде можно создавать и играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между ними. Это объектно-ориентированная среда, в основе которой лежит принцип конструктора LEGO и в которой программы собираются из разноцветных блоков-кирпичиков команд точно так же, как собираются из разноцветных кирпичиков конструкторы Лего. Для Scratch есть модуль Catenary (основанный на Processing и протоколе Firmata), который позволяет использовать визуальную среду программирования Scratch для управления Arduino.

Подробнее об этом можно прочитать в статье Александра Казанцева (PDF), который предлагает использовать Arduino и Scratch для обучения программированию в школе!

Не так давно, команда программистов, используя площадку kickstarter.com собрала деньги на разработку визуального языка программирования для Arduino основанного на языке Scratch.

Проект называется modk.it и позволяет визуально писать программы для Arduino прямо в браузере.

К сожалению, пока можно попробовать лишь по приглашению.
Ссылки
http://scratch.mit.edu Catenary http://www.modk.it Теги:

habr.com


Смотрите также