Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб


What is FLProg – FLProg



Currently, the world has been a boom in the use of microcontrollers in various projects and startups. Indeed, the price of microcontrollers has fallen, and their capabilities are constantly growing. Yes, and our friends, the Chinese, learned how to make peripherals for them, and sell it to the same ridiculous prices. But with programming microcontrollers is not so rosy…

How it all began and how it developed

Since the advent of microprocessors, the development of the principles of working with them goes the way of the growth of abstraction. The first stage was represented by programming directly in machine code. The programming was complex, long and required a very specific mindset. Therefore, programmers were very few.

But people being lazy, and laziness is an engine of progress. Came up with the first level of abstraction – Assembly language. Writing programs became easier and more fun. The number of programmers has increased. But still the Assembly is not very different from machine code.

So there was another level of abstraction. High level language. The main purpose of these languages was the opportunity to explain to the machine what they want from it, in language as close as possible to the human. This allowed us to do programming for people with less specific mindset. Therefore, with the development of high-level languages number of programmers increased, and, accordingly, a growing number of useful programs that they created.

As things are now

Of course, to start working directly with the controller requires some preparation. We need a programmer configured for programming the computer, and, of course, knowledge of the programming language. In addition, requires the ability to work with a soldering iron, printed circuit Board design, knowledge in electrical and electronics. So the threshold of entry into the area of creating their own devices to the microcontroller remains high.

In addition, for such work requires a combination of skills that rarely occur together. Programmers rarely make friends with a soldering iron, and electronics are often not programmers. For programmers, the problem was solved by the creation of the Arduino Board which allows you to collect the device without the use of tools.



For electronics and electricians all worse. Until recently, in order to create their device using a microcontroller, they had two options. Either by to study the programming language “C”, or to ask for help from the programmer. Both ways are not the best. In order to become a programmer requires a certain mindset, are not always compatible with the experience of reading electrical circuits. A friend of the programmer may not be at hand.

At the same time, there has long been a programming environment adapted to the ordinary electronics engineer, or electrician. I mean environment for programming industrial controllers. PLC. They allow you to create software for the controllers in the languages FBD and LAD. In fact, as those languages they are not. Rather, it is a graphical environment for drawing in principle or in logic circuits.

FBD (Function Block Diagram)

– graphical programming language standard IEC 61131-3. The program is formed from the list of circuits to be performed sequentially from top to bottom. When programming uses sets of library units. Block (element) – is a subroutine, function, or function block (AND, OR, NOT, triggers, timers, counters, blocks of analog signal processing, mathematical operations, etc.). Each individual chain is an expression that is composed graphically from the individual elements. To the output of the unit is connected the next block, forming a chain. Within the circuit blocks are executed in the order of their connection. The result of the calculation circuit written in an internal variable or output it to the controller.

Ladder Diagram (LD, LAD, РКС)

– ladder  logic. The syntax of the language easy to replace logic circuits, made on relay technology. The language is designed for engineers in automation, working in industrial enterprises. Provides a visual logic interface controller to facilitate not only the task of actually programming and commissioning, but and fast Troubleshooting the plug-in to the controller hardware. A program in ladder logic is visual and intuitive electrical engineers graphical interface, representing the logical operations like electrical circuit closed and open contacts. The flow or absence of current in this circuit corresponds to the result of the logical operation (true if the current flows; false – if the current does not flow). The basic elements of language are the contacts that can be figuratively likened to a pair of relay contacts or buttons. Pair of contacts is identified with a Boolean variable, and the condition of this pair – with variable value. Vary normally closed and normally open contact elements that can be mapped with normally closed and normally open buttons in electrical circuits.

This approach proved to be very convenient for easy entry into the development of automated control system of electrical engineers and electronics engineers. Developing projects of installations, they can easily bind these settings to the algorithms of the controller. Maintenance of these installations also better when the existing staff can easily check the operation of the control system to find the problem. And there is no need to call every little thing a programmer from the “Center”. And this approach is justified. To date, almost all of the industrial automation system is created using such tools.

This development environment is from Siemens, ABB, Schneider Electric… and almost all manufacturers PLC. It would seem the perfect solution for lovers of homemade products. But, as there is always a “but”. All of these programming environments is linked to the industrial controller of a specific manufacturer. And the prices for these controllers a little inspiring. Very rarely a family budget will allow you to purchase the controller with a price of a few tens of thousands of rubles.

But Arduino is perfect for homebrew, and unfortunately, which our country has always been, is and will be rich. But again “but”. These boards are programmed in C. For most of these intelligent people, with very straight arms growing out of allotted space, the C language is the Chinese alphabet. They can think, draw, build, debug and run complex schemes, but If, For, Case, Void, etc. is not for them. Of course, you can read the instructions on the Internet to play for some time, blinked led by example. But for more serious applications requires detailed study of the language. And why should they?

They are not going to be professional programmers. They have a different way. They were up to something. Yes, it’s easier and prettier to assemble with a microcontroller, but becomes for this programmer, after spending months learning the language? No, of course. Gather the old, simpler, of course, but in their field.

On the basis of these calculations and the project was created FLProg. The main idea of the project is to combine the principles of industrial programming cheapness and ease of Arduino. The project offers a new level of abstraction with a rather bold statement –

The result is a tool that allows you to create your projects on the Arduino, any person familiar with electrical engineering and electronics, enabling it to establish its product using data boards.

The project consists of two parts.

The first part is a desktop application FLProg, which is a graphical programming environment Arduino boards.

Secondly, this website through which members of the community of users can communicate among themselves, learn the latest project news, download the latest version of the program, and to find the necessary information on the application.

Let’s start in order

The program FLProg allows you to create firmware for Arduino boards using the graphical languages FBD and LAD, which are a standard in programming industrial controllers. When creating a program I tried to use the achievements of programmers Siemens, ABB, Schneider Electric in their programming environments.

I slightly expanded the classic features of these languages, adding functional blocks, responsible for working with external devices. They are “wrappers” over the libraries designed to work with them. The program runs on a computer running OS Windows, Linux-32 and Linux 64

When you create a new project you will be prompted to choose the programming language in which you will create the project and the controller on which this project will be implemented.

Here is a list of Arduino boards supported by the program to date:

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

Over time, as acquisitions, we plan to support boards based on the controllers STM.

A project in FL Prod is a set of circuit boards, each of which is assembled a complete module of the General scheme. For convenience, each card has the name and comments. As each charge can be minimized (to save space in the work area when the work is finished) and deploy. The red led in the name of the Board indicates that in the circuit Board there are errors.

The view window of the program in the FBD language.


Вид окна программы в режиме языка LAD.


In the right part of the working area place the library elements. In the diagram, the elements are transferred by simple drag and drop. By double clicking on the item will shows the information about it.

Here is a list of units currently available


Базовые элементы


Специальные блоки












Com –порт






Часы реального времени



Дисплей на чипе НD44780
Подсветка дисплея на чипе НD44780 I2C
Блок декодирования семисегментного индикатора


Сложение строк


[Ultrasonic HC-SR04]
[DHT11, DHT21, DHT22]
[IR Ressive] [BMP-085]

SD карта

Запись переменной на SD карту
Выгрузка файла с SD карты

Конвертация типов

Преобразование строк
Преобразование Float в Integer

Микросхемы расширений

Расширитель выводов 74HC595

Операции с битами

Чтение бита
Запись бита


Матричная клавиатура


Запись в EEPROM
Чтение из EEPROM






Базовые блоки

Защита от дребезга
Выделение переднего фронта

Специальные реле

Двустабильное реле
Реле времени
Реле сравнения



Аналоговые блоки

Аналоговый переключатель
Переключатель много к одному
Переключатель один ко многим
Аналоговый вход контроллера
Аналоговый выход контроллера
Вход аналогового соединителя
Выход аналогового соединителя
Скоростной счетчик


Передача в ComPort
Передача переменной через Comm port
Прием переменной через Comm port


Шаговый двигатель

Часы реального времени

Получить данные
Установка времени


Дисплей на чипе HD44780
Блок управления подсветкой дисплея на чипе HD4480 I2C
Блок декодирования семисегментного индикатора


Сложение строк


Ультразвуковой дальномер HC-SR04
Датчик температуры и влажности DHT11 (DHT21, DHT22)
Датчик температуры DS18x2x
IR Ressive

SD карта

Запись переменной на SD карту
Выгрузка файла с SD карты

Конвертирование типов

Конвертация строк
Преобразование Float в Integer

Микросхемы расширений

Расширитель выводов 74HC595

Операции с битами

Чтение бита
Запись бита


Матричная клавиатура


Запись в EEPROM
Чтение из EEPROM


Блок отправки переменной через коммуникации
Прием переменной через коммуникации
Страница Web сервера
Web клиент



Currently under development of functional units for working with triaxial gyro, luxometer, and other transducers and sensors. Work is also underway on the organization of data exchange via the radio channel and Wi-Fi. In future plans. development of SCADA system for the organization of the interface systems developed in the program FLProg on a personal computer or graphic displays.

The list of peripherals supported by the program, available here

For part of the equipment in the section of the site contains review articles that facilitate the understanding of its application in the program.

In the upper part of the working area is a list of tags (variables and inputs / outputs) (FBD) or installed equipment (LAD). Tags or equipment are transferred to the diagram by dragging and dropping.

In the upper part of the working area is a list of tags (variables and inputs / outputs) (FBD) or installed equipment (LAD). Tags or equipment are transferred to the diagram by dragging and dropping.For part of the equipment in the section of the site contains review articles that facilitate the understanding of its application in the program.



After completion of the project is its compilation. After compilation will automatically open the program “Arduino 1.5.7” with the loaded sketch of your project. In the “Arduino IDE 1.5.7” you will need to specify the number of the COM port that is connected to your controller, select it, and then pour in the sketch to the controller. Read more about “Arduino IDE 1.5.7” can be read on the website Arduino.ru.

Where to download FLProg?

On the downloads page.

You can download the program without registering on the website, but for registered users the functionality of the site significantly expands. Registration is very simple and requires only the confirmation email. No other data input is not required.

On the download page of the program always is available in two versions: installer and portable version that requires no installation. If possible, I also post the update file is significantly smaller, allowing you to upgrade from a previous version

Графическая среда разработки для контроллеров Arduino

Автоматизация и робототехника очень плотно входит в нашу жизнь. Интернет-магазины буквально ломятся от всяких различных плат, контроллеров, компьютеров, датчиков и т.д. Самые бюджетные платы из всех это преимущественно Arduino. У них своя собственная среда разработки, которая требует каких-то элементарных навыков программирования. А что делать «Непрограммистам»?  Технологам например? Или человеку, который хочет внедрить узел автоматики или собрать инкубатор за «Дёшево»? Как раз существует для Arduino графическое программирование, то есть с помощью функциональных блоков.

Приветствую, уважаемые посетители блога. На связи с вами автор, Гридин Семён. Сегодня мы с вами поговорим о языке программирования. Но, не о том, к которым вы привыкли, писать строчки кода, компилировать, соблюдать синтаксис.

А о графическом языке программирования. Ну о стандартах МЭК вы наверное уже знаете, для непосвящённых есть отдельная статья.

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

Как-то я косвенно писал о ней в своих статьях. Сегодня мы рассмотрим поподробнее.

Установка и запуск среды разработки FLprog

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

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


Нам предлагаю выбрать проект для SCADA или для контроллера. Для начала рассмотрим проект для контроллера:

Тут в принципе есть два языка программирования по стандарту МЭК — лестничные диаграммы, релейная схема (LD), либо графические блоки (FBD). Кому как удобно, кто как привык. Я выбираю FBD.

С левой стороны дерево проектов, посередине полотно, с правой стороны свойства и все необходимые элементы.

Чем-то очень напоминает вот это (оболочка CoDeSyS 3.5)

Или вот это (оболочка Owen Logic ПР110)

Делаем первый проект на FLProg

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

Давайте попробуем просто помигать 13 светодиодом на плате, самое простое.

После того, как всё добавили и связали, можно соединяться с нашей платой и пробовать.

На самом деле в этой среде достаточно много возможностей. Тут можно подцепить дополнительные модули или контроллеры по Modbus — протоколу.

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

Заметьте, я сейчас рекламой не занимаюсь. Я НЕ РЕКЛАМИРУЮ данную среду разработки. Деньги мне за неё не платили. И я не являюсь одним из разработчиков дистрибутива. Я пишу об FLProg потому, что продукт достаточно качественный и хороший.

Программа — бомба!! Спасибо ребятам за такой продукт. Всё достаточно наглядно, понятно и доступно. В принципе в этой программе сможет с лёгкостью разобраться любой.

Удачных вам проектов! До встречи в следующих статьях.

С уважением, Гридин Семён

Графическое программирование Ардуино. | Знаток Статьи

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

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

Искусств. Интеллект создавался копировать мыслительную деятельность homo sapiens.

Cамый сложный метод представить Искусств. Интеллект — создание настраиваемой модели, функционирующей на основе биологических нейросетей. А также программное воплощение, реализация её математических процессов. Для реализации этого необходимы знания начальной базы компьютерной грамотности и электротехники. С помощью мощного конструктора построенного на плате Arduino есть возможность изобретать разного рода роботизированные конструкции, руководимые вычислительными сетями.

Большинство модернизированных компьютерных систем, включая конструкторы управляются микроконтроллерами. Благодаря чему устанавливается их кооперация друг с другом. Как и взаимосвязь с программистами. Конструкторы Arduino строятся на модулях из популярных типов контроллеров, типа таких как MK Atmega328P.

Код программирования наборов «Ардуино» основывается на C/C++. Этот инструмент вполне прост в ознакомлении и хранит в себе специфическую интегрированную среду разработки. Что позволяет создать интересные проекты тем, кто обладает скромными возможностями программирования.

Сегодня почти все старшие школьники с интересом постигают основные принципы программирования, а также электротехнику. В настоящее время даже у ребят 4-5 классов возник шанс постигнуть нужные в дальнейшем знания. Повсеместно создаются курсы и школы компьютерных технологий и робототехники для ребят. В этих классах подростки начинают открывать комп как ЭВМ креативного формирования, собственноручно делать интернет веб-ресурсы, знакомиться с вымышленной реальностью, создавать начального уровня компьютерные бродилки, а также разрабатывать экспериментальные роботехнические системы. Школьники самых разных возрастов уже практически с третьего класса имеют возможность сориентироваться с выбором курса в ИТ и оcознать следует ли им улучшать свое формирование в такой области. К тому же, эти лекции обучают учеников в короткий срок давать результат, общаться в команде и суметь найти ответ из самых нестандартных положений.

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

Step7,Arduino,LAD,FlProg,FBD — Мир науки,техники,медицины и образования © первая научно-техническая коммерческая социальная сеть

Это репост статьи автора проекта FLProg и перевод ее на другие языки с целью расширения сообщества пользователей программы.

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

Среды программирования плат ардуино можно разделить на следующие типы:

  1. Прокачанные «Блокноты»
  2. Текстовые среды разработки
  3. Графические среды, визуализирующие структуру кода.
  4. Графические среды, отображающие код в виде графики.
  5. Визуальные среды программирования, не использующие кода.

Рассмотрим каждый тип.

Прокачанные «Блокноты»

К этому типу относятся оригинальная среда программирования Arduino-IDE, а так же множество её клонов.

Проектирование программы для контроллера в ней происходит на языке Processing/Wiring, который является диалектом языка Си (скорее Си++). Эта среда представляет собой, по сути, обычный текстовый редактор с возможностью загрузки написанного кода в контроллер

Текстовые среды разработки

Альтернативой Arduino IDE является среда разработки от производителя микроконтроллеров Atmel — AVRStudio.

Программирование в ней ведётся на чистом C, и она уже имеет намного больше возможностей и более похожа на серьёзные IDE для «настоящих» языков программирования.

Эти два типа программ рассчитаны на опытных программистов, которые хорошо знают язык и могут с помощью них создавать серьёзные проекты.

Графические среды, визуализирующие структуру кода.

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

Графические среды, отображающие код в виде графики

Это программы, скрывающие код и заменяющие его графическими аналогами. В них так же повторяется структура языка, формируются циклы, переходы, условия. Так же очень хорошо подходят для обучения построению алгоритмов, с последующим переходом на программирование на классических языках. И так же не подходят для построения больших проектов ввиду громоздкости получаемого отображения. Пример такой программы: MiniBlog, Algorithm Builder, Flowcode

Описанные выше типы программ рассчитаны на программистов или на тех, кто решил изучать классическое программирование. Но для изготовления конечного устройства кроме непосредственно программирования контроллера обычно требуется разработка внешней обвязки платы, разработка и расчет силовой части, входных развязок и многого другого. С этим у программистов часто возникают проблемы. Зато с этим прекрасно справляются электрики и электронщики. Но среди них мало программистов, которые смогли бы составить программу для контроллера. Сочетание программиста и электронщика – достаточно редкий случай. В результате такой ситуации реальных, законченных проектов на основе плат Arduino (да и других контроллеров) единицы. Для решения этой проблемы и служат программы последнего типа.

Визуальные среды программирования, не использующие кода.

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

Ну и наконец, герой этого блога, проект FLProg.

Поскольку я много лет работаю разработчиком систем АСУТП, я постарался собрать в программе FLProg все, что мне наиболее понравилось в средах от ведущих производителей промышленного оборудования (Tia-Portal, Zelio Soft, Logo Soft Comfort).
Программа позволяет составлять схемы в двух видах: функциональные схемы (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.

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

Состав библиотеки элементов для языка FBD на текущий момент.Оформление
  • Надпись
  • Изображение

Базовые элементы
  • [OR]
  • [AND]
  • [Bounce]
  • [XOR]
  • Таблица состояний

Специальные блоки
  • [SUM(+)]
  • [MUL(*)]
  • [SUB(-)]
  • [DIV(/)]

  • [COS]
  • [ABS]
  • [MAX]
  • [POW]
  • [SQRT]
  • [TAN]
  • [MIN]
  • [SQ]
  • [RANDOM]
  • [SIN]

  • Отправка в UART
  • Приём из UART
  • Отправка переменной в UART
  • Прием переменной из UART

Часы реального времени
  • [Alarm]
  • [GetTime]
  • [SetTime]

  • Дисплей на чипе НD44780
  • Подсветка дисплея на чипе НD44780 I2C
  • Блок декодирования семисегментного индикатора

  • Сложение строк
  • Сравнение строк
  • Длинна строки
  • Поиск подстроки
  • Получение подстроки
  • Получить символ из строки
  • Добавить Char к строке

  • Запись элемента в массив
  • Получение элемента массива
  • Сумма элементов массива
  • Стек
  • Поиск элемента в массиве

  • [DS18x2x]
  • [IR Ressive]
  • [Ultrasonic HC-SR04]
  • [DHT11, DHT21, DHT22]
  • [BMP-085]
  • [Bh2750LightMeter]

SD карта
  • Выгрузка файла с SD карты
  • Запись переменной на SD карту

Конвертация типов
  • Преобразование Float в Integer
  • Преобразование строк
  • -> Byte
  • -> Char

Микросхемы расширений
  • Расширитель выводов 74HC595
  • Драйвер светодиодов MAX7219

Операции с битами
  • Дешифратор
  • Шифратор
  • Чтение бита
  • Запись бита

  • Матричная клавиатура
  • Пьезо динамик
  • Сканирование шины OneWare

  • Запись в EEPROM
  • Чтение из EEPROM

  • RessiveVariableFromCommunication
  • WebServerPage
  • SendVariableFromCommunication
  • WebClient

Готовые сервисы
  • narodmon. ru
  • goplusplatform.com
  • Удалённое управление через RemoteXY

Состав библиотеки элементов для языка LAD на текущий момент.

  • Надпись
  • Изображение

Базовые блоки
  • Контакт
  • Катушка
  • Защита от дребезга
  • Выделение переднего фронта
  • Таблица состояний

Специальные реле
  • Двустабильное реле
  • Реле времени
  • Генератор
  • Реле сравнения

  • SIN
  • COS
  • TAN
  • ABS
  • MAX
  • MIN
  • SQ
  • SQRT
  • POW

Аналоговые блоки
  • Масштабирование
  • Математика
  • Счетчик
  • Аналоговый переключатель
  • Переключатель много к одному
  • Переключатель один ко многим
  • Аналоговый вход контроллера
  • Аналоговый выход контроллера
  • Вход аналогового соеденителя
  • Выход аналогового соеденителя
  • Скоростной счетчик

  • Отправка в UART
  • Приём из UART
  • Отправка переменной в UART
  • Прием переменной из UART

  • Сервомотор
  • Шаговый двигатель

Часы реального времени
  • Получить данные
  • Будильник
  • Установка времени

  • Дисплей на чипе HD44780
  • Блок управления подсветкой дисплея на чипе HD4480 I2C
  • Блок декодирования семисегментного индикатора

  • Сложение строк
  • Сравнение строк
  • Длинна строки
  • Поиск подстроки
  • Получение подстроки
  • Получить символ из строки
  • Добавить Char к строке

  • Запись элемента в массив
  • Получение элемента массива
  • Сумма элементов массива
  • Стек
  • Поиск элемента в массиве

  • Ульразвуковой дальномер HC-SR04
  • Датчик температуры и влажности DHT11 (DHT21, DHT22)
  • Датчик температуры DS18x2x
  • IR Ressive
  • BMP-085
  • Bh2750 Light Meter

SD карта
  • Запись переменной на SD карту
  • Выгрузка файла с SD карты

Конвертирование типов
  • Конвертация строк
  • Преобразование Float в Integer
  • -> Byte
  • -> Char

Микросхемы расширений
  • Расширитель выводов 74HC595
  • Драйвер светодиодов MAX7219

Операции с битами
  • Шифратор
  • Дешифратор
  • Чтение бита
  • Запись бита

  • Матричная клавиатура
  • Пьезо динамик
  • Сканирование шины OneWare

  • Запись в EEPROM
  • Чтение из EEPROM

  • Блок отправки переменной через коммуникации
  • Прием переменной через коммуникации
  • Страница Web сервера
  • Web клиент

Готовые сервисы
  • Передача данных на narodmon. ru
  • Удалённое управление через RemoteXY

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

ТОП-3 графических сред программирования — Рамблер/новости

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фото: компании-производители, pixabay.com Увлекаетесь ли Вы программированием? Да, я программист Да, это очень интересное дело Я не увлекаюсь, но мой ребенок - да Нет, мне это не интересно Просмотреть результаты Загрузка ... Читайте также: Arduino: как превратить ЖК-монитор в градусник

Мини-ПК Raspberry Pi 3 Model B+ сможет стать центром «умного» дома

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

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

Тайны и рассказать вам про ксот визуальный язык программирования придуманные созданные здесь вампир прошли те времена когда, что работать своё устройство нужно было заканчивать. Технический ВУЗ и тратить года на изучение ассемблера из си создатель Arduino упростили разработку и значительно снизили порог вхождения мирби электроники по плечу любому. Энтузиастов мы продолжили работать над упрощением и создали целую экосистему тройка модулей чтобы превратить разработку и прототипирование в увлекательную игру в которую с удовольствием можно погрузиться.

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

Я на первый взгляд строчки кода всё ещё отпугивали официальных разработчиков поэтому светлых головах родилась идея создать свой визуальный язык программирования микроконтроллеров и спустя несколько лет кропотливой работы появился красот основная идея упаковать функции библиотеки и сотни строк кода в блоке соединяется которое можно получить готовую прошивку за минимальное количество времени по такому же принципу устроены и другие визуальные языки программирования такие как 4 with your Data Max msp touchdesigner Unreal Engine и другие и так как — это всё работает для того чтобы управлять примеру светодиодом достаточно. Облака в соде как впрочем и в других визуальных языках эти блоки получили названия ноды ноды добавляются в специальное серое поле которое называется apache2 соединяются связями мы получаем программы которые называют патчами есть новое которые скрывают за собой тонкости работы с кнопками потенциометр. Рамис сервопривод датчиками еще куча всего того. Чем пользоваться начинающим мейкеры если математические ноды логически обрабатывающая сигналы и так далее так чтобы считать кнопку и зажигать светодиода по нажатию нужно добавить ноду кнопки и соедините её с нотой светодиода 1 связью больше не нужно нас микроконтроллера и бороться с дребезгом контактов всё — это реализовано внутри самих нот можно добиться плавного зажигание светодиода без использования циклов добавить в существующую связь not Fat для плавного изменения входных данных по такому же принципу можно создавать устройство и по сложнее всего 2 ноты для работы с потенциометром и сервоприводом соединив их связью можно с углом поворота вашей сервер замена лампочек ноду потенциометр на ноту аналогового термометра между ним и новой сервопривода добавим блок отвечающий за пересчет значений с датчика в угол поворота сервопривода. Что может быть проще чем соединить их между собой выходе получить простой стрелочный термометр для создания которого не нужно писать ни одной строчки кода. Как насчёт дисплея на этот раз добавим. Надо для работы с текстовым экраном с вязом её надо термометра вы сможете выводить температуру с датчика на экран дисплея дублирую показания стрелочного индикатора всего внутри. Почём можно перемещать как угодно — это не повлияет на работу устройства. Зато сделает программу понятно и легко читаемой и конечно же не забывайте добавлять комментарии чтобы вспомнить как именно работает ваш плачь соде есть ноты для работы с практически любыми железками и их количество постоянно растет. Если вдруг случилось так, что нужная вам надо ещё. Нет Можно скомбинировать её. НОД или написать код для её работы самостоятельно для этого в соде есть специальный редактор нот чтобы начать работать в ходе можно пойти двумя путями воспользоваться браузерная версия идея, но так как браузер имеет ограничения по работе с портами компьютера лучше пойти вторым путем скачать и установить в среду на свой компьютер Mac Windows или Linux не имеет значения я показал лишь верхушку к сода больше информации вы найдете нас содою здесь есть подробное описание на русском языке для быстрого старта пользователи которые мне всё равно сами перевели многие страниц мануалов примеров. Используйте и готовых проектов да да вы не ослышались часов целиком и полностью англоязычных проще вместе Java скрипт питон и другие языки программирования. Ну кроме 1С вы сами можете поучаствовать в переводе bixod полностью Open Source проект на чём работают наши программисты лежит на гитхабе в свободном доступе. Мы команда. Мы надеемся, что вам понравится ксот также как он понравился тысячам людей по всему миру на сегодня — это всё лайки подписки пробуйте. Пока я на тебя же такого ничего и не сказал мало ли о чём я там что-то сильно льёт самое всё на сегодня — это всё по машинам Russian hackers.

О визуальном программировании | Статьи о Blockly | Информация

Визуальное программирование (VPL) - это технология, которая позволяет создавать код программы с помощью графических элементов, а не текста. Графические элементы используются для описания логики программы.

Визуальное программирование - не новая концепция, она берет начало еще с 1975 года. Иногда, в силу разных причин, создать программу с помощью элементов визуального программирования куда проще, чем использовать стандартный подход с написанием исходного кода в виде текста.

Когда речь идет о визуальном программировании, первое, что приходит на ум, это унифицированный язык моделирования (UML) и LabVIEW. Аудиосреды программирования, такие как Max/MSP, вобрали в себя преимущества концепций визуального программирования. Недавно были представлены инструменты для создания гибридных приложений, например, Yahoo! Pipes и JackBe Presto.

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

Но визуальное программирование не подходит для всех задач без исключения. Будет ли визуальное программирование когда-нибудь основным подходом в написании кода? Сложно ответить на этот вопрос. Критики упоминают различные недостатки этой парадигмы. Одной из проблем является трудность создания программы. Но визуальное программирование бывает полезным в обучении.

Визуальное программирование находит всё более широкое применение в обучении основам программирования студентов, школьников, и даже дошкольников. Например, Blockly, App Inventor, Scratch, Alice – это очень известные языки, и они используются во многих проектах.

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

Поразительные особенности Google Blockly:

  • ⚹ Blockly легко изучать.
  • ⚹ Простота и гибкость.
  • ⚹ Не требуются серьезные навыки программирования.
  • ⚹ Простое управление.
  • ⚹ Возможность экспорта программы Blockly в JavaScript, Python, Dart, PHP или XML.
  • ⚹ Открытый исходный код.

Опробовать возможности визуального программирования вы можете с помощью Blockly-Лабиринта. Рекомендую и другие приложения Blockly: Черепашка - простое веселое графическое приложение; Фильм - создание кинофильма с помощью логики и математики; и прочие приложения и игры.

А как насчет связи образовательной робототехники и визуального программирования? Сейчас существует несколько таких проектов, так что начало положено.

Самым интересным из этих проектов мне показался BlocklyDuino - генератор кода Ardiuno. Он основан на редакторе визуального программирования Blockly. BlocklyDuino разработан для того, чтобы можно было с легкостью программировать на Arduino. Чтобы начать обучение, перейдите на страницу с онлайн-версией BlocklyDuino и посмотрите, что он из себя представляет. С BlocklyDuino вы можете создать программу в редакторе визуального программирования прямо в своем браузере, а затем получить исходный код, который можно скопировать в Arduino IDE.

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

Визуальный агент для программирования в реальном времени для Arduino. Теперь доступно для Windows, Mac и Linux.

Embrio - это среда визуального программирования другого типа, которая не пытается имитировать традиционное программирование. Вместо этого вы создаете свою программу из нескольких «агентов», каждый из которых выполняет одно задание и все они выполняются одновременно и параллельно. Агенты прикрепляются друг к другу, активируя и подавляя другие агенты, подобные нейронам в головном мозге.Агенты реализуются путем добавления и подключения визуальных узлов, и вы можете писать свои собственные настраиваемые узлы, предоставляя вам всю мощь традиционного кодирования, заключенного в простой в использовании графический интерфейс. Работайте с живым подключением к Arduino, чтобы получать обратную связь и взаимодействие в реальном времени, избегая громоздких циклов компиляции, загрузки и тестирования традиционного программирования.

Загрузите Embrio для Windows, Mac или Linux, чтобы попробовать.

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

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

23.03.2021 - Новое сообщение на форуме

Ошибка установки MAC Big Sur

EmbrioAdmin: Спасибо, что сообщили, я разберусь.Я не использую Mac, поэтому не знаю, но, возможно, недавнее обновление могло что-то сломать, это случилось раньше.

11.04.2020 - Новое сообщение на форуме

это будет поддержка Arduino Nano Every ??

EmbrioAdmin: По какой-то причине форум не отправляет мне оповещения в этой теме.Некоторое время назад я пытался отправить вам электронное письмо, но не уверен, что вы его получили. Я не совсем понимаю, в чем ваша проблема. Большинство моих

25.03.2020 - Новое сообщение на форуме


юкка: должен [смеется]

24.03.2020 - Обновление программного обеспечения Embrio


Новые возможности
!!!!! ВАЖНЫЙ !!!!! Загрузите новый установщик с www.embrio.io. В этом обновлении много глубоких изменений.
Визуализатор соединений агента - нажмите пробел на агенте или вводе / выводе, чтобы увидеть соединения с другими агентами.
Панель контактов - Нажмите P, чтобы переключить отображение панели контактов. Щелкните правой кнопкой мыши любой вход узла и выберите «Pin Input», чтобы закрепить этот вход на панели контактов для облегчения доступа.
Поиск в дереве проекта.
Узлы дерева проекта поддерживают алфавитный порядок сортировки.
Добавлена ​​страница настроек дерева проекта.
Может дублировать элементы проекта и определения узлов.
Backspace переходит в последний использованный редактор.
Щелкните правой кнопкой мыши открытый вход или выход и выберите «Заменить открытый вход (или выход)», затем щелкните другой вход или выход, чтобы открыть и переместить все внешние соединения.
Удалена кроссплатформенная библиотека ETO, теперь вся программа работает в одном элементе управления веб-браузера.
Множество оптимизаций и мелких исправлений ошибок и улучшений.

Исправленные ошибки
Иногда при открытии проекта старые документы проектов оставались открытыми.
Чтобы сделать дерево проекта активным, нужно было бы дважды щелкнуть, прежде чем вы сможете перетащить полосу прокрутки. Теперь вы можете просто щелкнуть и перетащить полосу прокрутки.
Исправлена ​​ошибка, из-за которой иногда не удавалось удалить узел после удаления соединения, потому что удаленное соединение оставалось «выбранным» внутри.
Команда редактора Fixed Fit Nodes To Screen размещала узлы за пределами экрана.

27.12.2019 - Обновление программного обеспечения Embrio


Исправлены ошибки
Исправлена ​​ошибка компиляции, которая могла возникнуть на Mac
Исправлены некоторые проблемы с отображением

23.09.2019 - Обновление программного обеспечения Embrio

Версия 2. 3.0.0

Новые возможности
!!! Удалите текущую версию и скачайте новый установщик с сайта, программа обновления не может обновить некоторые файлы !!!
Теперь можно перетаскивать окна для настройки макета. Может показывать сразу несколько редакторов экрана узлов!
Лучшая производительность в Windows.

18.10.2018 - Новый учебник

Игра на память в стиле Саймона

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

16.03.2018 - Новое руководство

Узел кривой Безье

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

05.03.2018 - Новый элемент библиотеки

ЖК-дисплей I2C 20x4

Этот узел работает с любым стандартным ЖК-модулем I2C 20x4.

24.02.2018 - Новый элемент библиотеки

Сервоконтроллеры Pololu Maestro

Этот узел позволяет вам управлять несколькими сервоприводами с помощью семейства плат сервоуправления Pololu Maestro с использованием библиотеки maestro-arduino. Плата сервоуправления хороша тем, что она перемещает все аппаратные и программные ресурсы, необходимые для управления серводвигателями, с Arduino и занимает всего 2 контакта для управления большим количеством сервоприводов.Плата выдает плавные ШИМ-сигналы, необходимые для работы сервоприводов. Вы также можете использовать эти платы для управления всем, что управляется сигналом PWM, например светодиодами.

1/2/2018 - Новое руководство

Сервоуправление с пользовательским интерфейсом

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

Flowcode 8 - Визуальное программирование для PIC, Arduino и ARM

Новый Flowcode 8 предлагает значительно больше функций, которые просто необходимо опробовать. Особенно впечатляет добавление новых режимов программирования и работа с кодом C и блок-схемами.Дополнительные удобства значительно упрощают работу с кодом на практике.

Flowcode - это усовершенствованная интегрированная среда разработки (IDE) для разработки электронных и электромеханических систем, ориентированная на микроконтроллеры, такие как Arduino, PIC и ARM, и надежные промышленные интерфейсы через такие протоколы, как Modbus и CAN. У вас мало опыта программирования или нет? Вы сможете быстро освоить Flowcode. За несколько минут вы, как новичок, сможете приступить к разработке электронных систем благодаря функциям графического программирования.Flowcode идеально подходит для занятий и изучения наиболее важных принципов работы микроконтроллерных систем.

Что нового в Flowcode 8?

5 наиболее важных новых функций в Flowcode 8:

1. Новые режимы программирования

Flowcode 8 предлагает, помимо блок-схем, также возможность работы с «блоками», «псевдокодом» и / или кодом C. Программирование с помощью блоков можно сравнить с тем, как библиотека Blockly используется для создания языков программирования блоков, таких как Scratch или App Inventor, в то время как Pseudocode предлагает новый метод генерации инструкций и написания программ без сложности языка C.

2. Моделирование и преобразование кода C

Почти весь код C можно преобразовать в блок-схемы и смоделировать. Flowcode уже предлагал возможность преобразования блок-схемы в код C, но обратное было невозможно. С Flowcode 8 вы можете не только переключаться между четырьмя основными режимами программирования, но также можете моделировать код C.

3. Raspberry Pi как целевой объект Flowcode

Flowcode 8 позволяет пользователям работать напрямую с популярным Raspberry Pi. Аппаратная платформа E-blocks2 теперь также поддерживает Raspberry Pi, а Raspberry Pi Shield идеально подходит для тех, кто хотел бы интегрировать Pi в систему E-block.

4. Сворачивание кода и группировка значков

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

5. Автоматический идентификатор для вашего оборудования Вы можете использовать Flowcode для любой поддерживаемой аппаратной платформы: если вы используете, например, Arduino или Raspberry Pi, вы можете установить свою собственную плату в качестве прямой «цели» для своего проекта.А когда вы используете оборудование E-block2, вы можете автоматически идентифицировать аппаратные платы, которые подключены к ноутбуку или ПК через USB.

Просто попробуйте

Таким образом, новый Flowcode 8 предлагает значительно больше функций, которые просто необходимо опробовать. Особенно впечатляет добавление новых режимов программирования и работа с кодом C и блок-схемами. Дополнительные удобства, такие как сворачивание кода и создание групп, значительно упрощают работу с кодом на практике.И то, что вы можете установить Arduino или Raspberry Pi напрямую в качестве цели, конечно же, является важной функцией в наши дни.

Черная неделя АКЦИЯ

Закажите Flowcode 8 со скидкой 30% на ограниченное время на сайте http://elektor.flowcode.co.uk. Используйте код скидки FLOWCODE30 в своей корзине покупок. Код действителен до киберпонедельника, 26 ноября 2018 г., 12:00 (CET)!

графических языков Arduino »Raspberry Pi Geek

Программирование Arduino с использованием языка C-типа Processing - сложная задача.C неумолим и может быть загадочным, что затрудняет обучение начинающих и детей. К счастью, несколько графических языков программирования, таких как Squeak или Scratch, могут помочь вам изучить основы языка обработки.

Еще до того, как Raspberry Pi (Rasp Pi) был блеском в глазах Эбена Аптона, Arduino уже использовался в образовании, хотя изначально для высшего образования и профессионалов. Поскольку Arduino становился все более и более популярным, было неизбежно, что кто-то где-нибудь придет в голову идея использовать его для младших школьников. Для достижения этой цели за прошедшие годы появилось несколько проектов, похожих на Squeak / Scratch, которые могут помочь новичкам и детям младшего возраста разобраться в программировании для Arduino. Обсуду некоторые из них.


BlocklyDuino [1] основан на проекте библиотеки Google Blockly [2], который позволяет разработчикам создавать графические интерфейсы на основе блоков для любого языка или, в данном случае, устройства. Например, Rasp Pi имеет реализацию Blockly [3].

Для начала либо возьмите код для BlocklyDuino с веб-сайта GitHub, либо используйте git для клонирования репозитория:

 git clone https: // github.com / BlocklyDuino / BlocklyDuino.git 

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

Теоретически, когда вы запускаете веб-сервер Python, он должен уметь определять порт, к которому подключена ваша плата, но у меня это не сработало. Однако вы можете указать порт вручную: подключите плату к компьютеру и, в Raspbian и других Linux, посмотрите вывод:

 ls / dev / tty * 

Ваша плата обычно будет казаться подключенной к порту / dev / ttyACM0 или / dev / ttyACM1 , или что-то в этом роде.Теперь передайте порт на сервер, когда вы его запустите:

 python arduino_web_server.py --port = / dev / ttyACM0 

Вывод сообщит вам, что сервер работает на . Откройте веб-браузер и посетите этот адрес, и вы увидите веб-интерфейс BlocklyDuino (рисунок 1).

Если вы когда-либо использовали Scratch, интерфейс должен быть вам сразу знаком: используйте меню слева, чтобы выбрать категорию и перетащить блоки в рабочую область. Затем вы можете щелкать их вместе, как кубики Lego, чтобы создавать программы. В примере, показанном на рисунке 1, вы можете увидеть классический сценарий «Blink».

Рисунок 1: BlocklyDuino включает специальные блоки, которые позволяют вам программировать для ряда надстроек Grove.

При нажатии кнопки Загрузить в верхней части рабочего пространства эскиз загружается на доску. Вы также можете увидеть, как будет выглядеть код, переведенный на собственный язык обработки Arduino. Щелкните вкладку Arduino в верхней части рабочей области, и вы увидите что-то вроде кода на рисунке 2.На самом деле вы ничего не можете изменить на этом экране, поэтому он более полезен в качестве учебного пособия, чем что-либо еще. Я полагаю, вы также можете использовать его для копирования и вставки кода из BlocklyDuino в IDE Arduino, если у вас возникли проблемы с загрузкой через веб-сервер Python.

Рисунок 2: Используйте вкладку Arduino, чтобы увидеть, как ваш код будет выглядеть в обработке.

Внутри BlocklyDuino использует XML-файл для хранения «кода», поэтому, если вы хотите сохранить свою работу, а затем продолжить, вы должны использовать кнопки Сохранить XML и Загрузить XML .Вы также можете экспортировать свою работу в файл, совместимый с Arduino, но это полезно только в том случае, если вы хотите продолжить работу над ним в среде Arduino IDE, потому что вы не можете пойти другим путем (например, от кода Arduino к BlocklyDuino) .

Хотя вы не можете импортировать настраиваемые библиотеки в BlocklyDuino, он имеет некоторые встроенные возможности. Если вы перетащите один из блоков под Servo , например, BlocklyDuino автоматически импортирует библиотеку Servo.h . BlocklyDuino также включает блоки для многих надстроек Arduino Grove , включая исполнительные механизмы (кнопки, зуммеры, джойстики и т. Д.).) и датчики, которые легко подключаются к Arduino. Поскольку новички и дети, которые учатся использовать Arduino, используют надстройки Grove, имеет смысл поддержать их.

А на Raspberry Pi он работает? Да. Сервер довольно легкий, поэтому он не слишком утомляет Rasp Pi 3 (RPi3). Вам нужно будет установить Firefox ESR ( sudo apt-get install firefox-esr ), чтобы все биты JavaScript работали. Имея в прошлом неудачный опыт работы с веб-приложениями, насыщенными JavaScript, я подумал, что BlocklyDuino может связать Pi, но нет: все работало очень гладко.


Другой язык Blockly Arduino, Ardublockly [4], очень похож на BlocklyDuino, что неудивительно, поскольку это его ответвление. Однако у него есть некоторые отличительные особенности, на которые стоит обратить внимание.

Для начала возьмите последний код из репозитория GitHub проекта, перейдите в каталог ardublockly / и инициализируйте несколько подмодулей:

 git clone https://github.com/carlosperate/ardublockly.git
cd ardublockly
git submodule update --init --recursive 

Как и в случае с BlocklyDuino, вы запускаете сервер / приложение из основного каталога:

 старт питона.py 

Хотя BlocklyDuino требует от вас перехода на веб-страницу, Ardublockly открывает для вас окно браузера (рисунок 3) или новую вкладку, если у вас уже открыт браузер по умолчанию. Если это не удается, вы можете указать в своем браузере http: // localhost: 8000 / ardublockly / .

Рисунок 3: Ardublockly включает блоки, которые позволяют записывать и читать из последовательного канала.

После того, как вы настроили интерфейс в браузере, первое, что вам нужно сделать, это настроить его для вашей платы.Щелкните значок трехстрочного меню в верхнем левом углу и выберите Настройки . Здесь вы сможете указать Ardublockly, где он может найти исполняемый файл Arduino (да, как и в случае с BlocklyDuino, ArduBlockly нужны стандартные файлы IDE Arduino для компиляции и загрузки ваших программ), тип используемой платы, порт, к которому она подключена. к и так далее (рисунок 4). Предупреждаем, что интерфейс в Firefox работал так себе. Намного лучше он работал в Chromium и Chrome.

Рисунок 4: Обязательно настройте свою плату; в противном случае вы не сможете загружать свои программы.

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

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

Рисунок 5: Ardublockly не имеет собственного монитора последовательного порта, но может отображать выходные данные из Arduino IDE.

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

Работает ли он на Rasp Pi? Вроде. Похоже, что сервер не сильно тормозит RPi3, но, как и в случае с Blocklyduino, вам придется установить Firefox ESR, чтобы заставить работать все возможности JavaScript.Однако даже в Firefox у меня были проблемы с некорректным поведением некоторых элементов интерфейса или отсутствием их отображения вообще.

лучших средств визуального программирования для Интернета вещей - IoTbyHVM

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

Язык визуального программирования

Визуальный язык программирования ( VPL ) - это любой язык программирования, который позволяет пользователям создавать программы, манипулируя элементами программы графически , а не задавая их в текстовом виде . VPL позволяет программировать с использованием визуальных выражений, пространственного расположения текста и графических символов, используемых либо как элементы синтаксиса, либо как вторичные обозначения. Например, многие VPL (известные как поток данных или схематическое программирование ) основаны на идее «прямоугольников и стрелок», где прямоугольники или другие экранные объекты рассматриваются как объекты, соединенные стрелками, линиями или дугами, которые представляют связи.

Общая цель VPL - сделать программирование более доступным для новичков и поддержать программистов на трех разных уровнях.

  • Синтаксис : VPL используют значки / блоки, формы и диаграммы, пытаясь уменьшить или даже полностью исключить потенциальные синтаксические ошибки, помогая организовать примитивы программирования для создания правильно сформированных программ.Примеры, не относящиеся к VPL, - это проверка орфографии в текстовых редакторах с подчеркиванием или даже автоматическим исправлением отдельных слов или грамматики.
  • Семантика : VPL могут предоставлять некоторые механизмы для раскрытия значения примитивов программирования. Сюда могут входить справочные функции, обеспечивающие функции документации, встроенные в языки программирования.
  • Pragmatics : VPL поддерживают изучение того, что программы означают в определенных ситуациях. Этот уровень поддержки позволяет пользователям переводить артефакты, созданные с помощью VPL, в определенное состояние, чтобы исследовать, как программа отреагирует на это состояние.Примеры: в AgentSheets или AgentCubes пользователи могут установить игры или моделирование в определенное состояние, чтобы увидеть, как программа отреагирует. С помощью языка программирования Thymio пользователи могут привести робота в определенное состояние, чтобы увидеть, как он отреагирует, то есть какие датчики будут активированы.

Обзор средств визуального программирования

Все эти макетные платы имеют свой собственный язык программирования, например C, Python, Java и аналогичные. это один из аспектов, который все еще остается проблемой: язык программирования.Если вы хотите разработать свою систему IoT, вы должны знать хотя бы один из этих языков программирования. К счастью, за эти годы было разработано несколько языков визуального программирования , чтобы помочь нескольким людям начать программировать, не зная языка программирования. Эти инструменты визуального программирования IoT используют другой подход, когда приходит время программировать. Что ж, язык визуального программирования IoT имеет графический пользовательский интерфейс, в котором пользователь, используя подход перетаскивания, перемещает некоторые блоки кода, которые выполняют простую логику.

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

Инструменты визуального программирования IoT

Узел красный

Node-RED - это поточно-ориентированный инструмент разработки для визуального программирования, первоначально разработанный IBM для объединения аппаратных устройств, API-интерфейсов и онлайн-сервисов в рамках Интернета вещей. Node-RED предоставляет редактор потоков на основе веб-браузера, который можно использовать для создания функций JavaScript.Элементы приложений можно сохранять или делиться ими для повторного использования. Среда выполнения построена на Node.js. Потоки, созданные в Node-RED, хранятся с использованием JSON. Начиная с версии 0.14 узлы MQTT могут устанавливать правильно настроенные TLS-соединения. В 2016 году IBM представила Node-RED как проект JS Foundation с открытым исходным кодом. Это платформа с открытым исходным кодом, и ее код можно найти в Github. Он поддерживает несколько прототипов IoT-плат, таких как Arduino, Raspberry и Android. и облачные платформы Интернета вещей.

узнать больше о node-red: программирование на основе потока Node-RED для IoT


Visuino - это новейшее инновационное программное обеспечение от Mitov Software. Он предназначен для разработчиков аппаратного обеспечения, которые плохо разбираются в разработке программного обеспечения и предпочитают использовать язык визуального программирования. Среда визуального программирования, позволяющая программировать платы Arduino. В настоящее время он поддерживает официальные платы Arduino, Teensy, Femto IO, ESP8266, ESP32, Controllino, Goldilocks Analogue, FreeSoC2, chipKIT, micro: bit, Maple Mini и ряд клонов Arduino, однако это не ограничивается только их поддержкой и запросами. для поддержки нового оборудования приветствуются.


Wia - это облачная платформа, которая упрощает разработку приложений Интернета вещей, объединяя устройства Интернета вещей вместе и с внешними сервисами. Используя Flow Studio, можно подключать платы разработки IoT, устройства IoT, датчики и внешние сервисы. Он немного отличается от других, потому что использует сложные блоки, которые выполняют сложные операции, такие как управление датчиком. Он поддерживает несколько плат разработки IoT, таких как Arduino MKR1000, MKR1200, Espressif, Raspberry Pi, Particle и т. Д.Более того, он поддерживает несколько внешних сервисов, таких как AWS, Twitter, Twilio и так далее. У Wia есть набор API, который мы можем использовать для взаимодействия и обмена данными. Это открытый исходный код, и мы можем загрузить исходный код с Github.


Он создан для Arduino и поддерживает различные ОС, такие как Windows, OS X и Linux. Embrio - это инструмент перетаскивания, который использует другой подход для визуального программирования Arduino. Embrio - это среда визуального программирования другого типа, которая не пытается имитировать традиционное программирование. Вместо этого вы создаете свою программу из нескольких «агентов», каждый из которых выполняет одно задание и все они выполняются одновременно и параллельно.Агенты прикрепляются друг к другу, активируя и подавляя другие агенты, подобные нейронам в головном мозге. Агенты реализуются путем добавления и подключения визуальных узлов, и вы можете писать свои собственные настраиваемые узлы, предоставляя вам всю мощь традиционного кодирования, заключенного в простой в использовании графический интерфейс. Работайте с живым подключением к Arduino, чтобы получать обратную связь и взаимодействие в реальном времени, избегая громоздких циклов компиляции, загрузки и тестирования традиционного программирования.


XOD - это инструмент визуального программирования для микроконтроллеров.Он основан на концепции узла, который может представлять датчик, двигатели или некоторый функциональный фрагмент кода, такой как операции сравнения, текстовые операции и так далее. Каждый узел имеет вход и выход и визуально соединяет все узлы, которые мы можем определить логику приложения IoT. XOD генерирует собственный код, который вы можете загрузить на платы, совместимые с Arduino, и запустить на нем. Это проект с открытым исходным кодом, и исходники языка XOD, XOD IDE и библиотеки доступны на GitHub.


Это полная платформа, включающая инструмент визуального программирования, поддерживающий несколько макетов плат.Это помогает в промышленном Интернете вещей (IIoT). Он поддерживает несколько языков программирования, которые можно использовать вместо IDE визуального программирования. Визуальная IDE построена на Google Blocky. Он основан на концепциях блоков, которые представляют собой фрагменты кода, выполняющие задачу. Комбинируя блоки и определяя их порядок, мы можем определить бизнес-логику IoT-приложения. Блоки могут выполнять простые задачи, такие как суммирование двух переменных, или более сложные задачи, такие как включение или выключение светодиода, установка статуса вывода или потоковая передача данных с URL-адреса.Это среда на основе браузера. Он поддерживает несколько прототипов плат, таких как Raspberry Pi, Intel Galileo, Intel Edison и так далее. Вы можете запускать безопасные приложения, используя контейнеры.


Zenodys помогает разработчикам легко создавать приложения IoT. Используя Zenodys, можно собирать данные с любых датчиков и легко визуализировать полученные значения без программирования. Платформа Zenodys предоставляет IDE и инструменты отладки для полной расширяемости и модульности экосистемы. Код можно легко внедрить в рабочие процессы и существующие проекты.Используя Workflow Builder, можно создавать сложные серверные решения с помощью инструментов визуального программирования. Наконец, конструктор пользовательского интерфейса помогает разработчику создать информационную панель Интернета вещей для визуализации данных и информации. Это полноценная платформа, которая предоставляет несколько сервисов, которые можно соединить вместе с помощью своих инструментов и конструкторов.

Цифровизация и автоматизация простым, ненавязчивым способом, без дорогостоящих вложений, что помогает в Индустрии 4.0.

Реактивные блоки

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

Dg Logik

DG Solution Builder - это платформа для разработки приложений без кода с графическим набором инструментов на основе данных для быстрого создания визуально насыщенных интерактивных веб-приложений и информационных панелей. Используя данные из всех ваших источников на единой платформе визуализации, вы можете анализировать, отслеживать и контролировать данные и аналитику в режиме реального времени. Используйте инструменты WYSIWYG (What You See Is What You Get) и программирование визуальных блоков, чтобы понять, как данные, требования к управлению и логические последовательности могут быть преобразованы в значимую информацию в вашем приложении.


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

Вам также может понравиться:


Нравится Загрузка...


XOD - новый язык визуального программирования для Arduino

Языки визуального программирования не новы, я впервые познакомился с системой под названием AVS, когда я работал в GEC-Marconi в начале девяностых. Хотя наиболее известным и давно существующим, вероятно, является LabView.

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

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

Робот с лазером, управляемый Arduino, тремя сервоприводами SG90 и программой XOD. (📷: XOD)

Проект все еще находится на очень ранней стадии, и поддержка библиотек Arduino и другого оборудования несколько ограничена, и хотя он показывает многообещающие перспективы, я думаю, что в нынешнем виде он запутает новичков. Прямо сейчас визуальные блоки соответствуют базовому коду.Однако эта проблема может быть решена со временем, поскольку «составные» узлы могут соединить два (или более) существующих узла. Другими словами, вы можете создавать небольшие (но более высокого уровня) логические блоки, которые затем можно распространять среди других пользователей XOD.

Простая программа XOD (слева), которая контролирует датчик влажности и отображает результат в процентах на ЖК-экране. (📷: XOD)

XOD, однако, столкнется с жесткой конкуренцией, поскольку и Node-RED, и Scratch поддерживают Arduino в разной степени. Как и на рынке плат, где каждая новая плата объявляется «убийцей Arduino» или «убийцей Raspberry Pi», свержение лидеров означает создание сообщества.Лично я считаю, что сообщество - по крайней мере в наши дни - самый большой фактор, определяющий, будет ли технология успешной или нет.

Программа XOD, отслеживающая датчик влажности и запускающая насос. (📷: XOD)

Однако и Node-RED, и Scratch требуют загрузки специальных эскизов на доску. Node-RED использует Firmata, а вилка Scratch S4A, поддерживающая Arduino, использует собственный скетч. Это означает, что ваш ноутбук должен оставаться подключенным к Arduino - и здесь XOD отличается.

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

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

Страница ошибки

Страница ошибки "," tooltipToggleOffText ":" Переведите переключатель в положение "

БЕСПЛАТНАЯ доставка на следующий день"!

"," tooltipDuration ":" 5 "," tempUnavailableMessage ":" Скоро вернусь! "," TempUnavailableTooltipText ":"

Мы прилагаем все усилия, чтобы снова начать работу.

  • Временно приостановлено в связи с высоким спросом.
  • Продолжайте проверять наличие.
"," hightlightTwoDayDelivery ":" false "," locationAlwaysElhibited ":" false "," implicitOptin ":" false "," highlightTwoDayDelivery ":" false "," isTwoDayDeliveryTextEnabled ":" true "," useTesting " "," ndCookieExpirationTime ":" 30 "}," typeahead ": {" debounceTime ":" 100 "," isHighlightTypeahead ":" true "," shouldApplyBiggerFontSizeAndCursorWithPadding ":" true "," isBackgroundGreyoutEnabled} ":" false " locationApi ": {" locationUrl ":" https: // www.walmart.com/account/api/location","hubStorePages":"home,search,browse","enableHubStore":"false"},"perimeterX":{"isEnabled":"true"},"oneApp ": {"drop2": "true", "hfdrop2": "true", "heartingCacheDuration": "60000", "hearting": "true"}, "feedback": {"showFeedbackSuccessSnackbar": "true", "feedbackSnackbarDuration" : "3000"}, "webWorker": {"enableGetAll": "false", "getAllTtl": "

0"}, "search": {"searchUrl": "/ search /", "enabled": "false" , "tooltipText": "

Скажите нам, что вам нужно

", "tooltipDuration": 5000, "nudgeTimePeriod": 10000}}}, "uiConfig": {"webappPrefix": "", "artifactId": "верхний колонтитул -app "," applicationVersion ":" 20. 0.46 "," applicationSha ":" 45b14e3ccfe587f4cb154a1ddd3ad68220e3e4f3 "," applicationName ":" верхний колонтитул "," узел ":" 07e586bf-90af-4c53-9042-700f303846f7 "," cloud "-a: oneOpsEnv ":" prod-a "," profile ":" PROD "," basePath ":" / globalnav "," origin ":" https://www.walmart.com "," apiPath ":" / header- нижний колонтитул / электрод / api "," loggerUrl ":" / заголовок-нижний колонтитул / электрод / api / logger "," storeFinderApi ": {" storeFinderUrl ":" / store / ajax / preferred-flyout "}," searchTypeAheadApi ": { "searchTypeAheadUrl": "/ search / autocomplete / v1 /", "enableUpdate": false, "typeaheadApiUrl": "/ typeahead / v2 / complete", "taSkipProxy": false}, "emailSignupApi": {"emailSignupUrl": " / account / electro / account / api / subscribe "}," feedbackApi ": {" fixedFeedbackSubmitUrl ":" / customer-survey / submit "}," logging ": {" logInterval ": 1000," isLoggingAPIEnabled ": true," isQuimbyLoggingFetchEnabled ": true," isLoggingFetchEnabled ": true," isLoggingCacheStatsEnabled ": true}," env ":" production "}," envInfo ": {" APP_SHA ":" 45b14e3ccfe587f4Cb3ad4a1dION ",".0.46-45b14e "}," expoCookies ": {}}

Укажите местоположение

Введите почтовый индекс или город, штат. Ошибка: введите действительный почтовый индекс или город и штат.

Обновите местоположение

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

Продолжить покупкиПопробуйте другой почтовый индекс Закажите вакцину против COVID-19. Доступно бесплатно в зависимости от права на участие.

Ой! Этот товар недоступен или заказан заранее.

Искать в этих категориях похожие результаты:

Графическое программирование с помощью Blockly - Dwengo

Dwenguino запрограммирован на текстовом языке программирования C ++ в среде Arduino IDE.Однако для тех, кто не уверен в том, что начинать с текстового программирования, доступен удобный графический язык программирования. Это позволяет пользователю изучать различные компоненты языков программирования. Один из таких языков - Blockly. В этом руководстве мы познакомим вас с графическим программированием Dwenguino в Blockly.

  1. Доска Двенгино;
  2. Мужчина-мужчина, кабель USB-mini-USB;

DwenguinoBlockly - это плагин Java для Arduino IDE, основанный на проекте Google Blockly.Мы адаптировали Blockly, чтобы упростить программирование Dwenguino. Если вы хотите его использовать, вам нужно сначала загрузить DwenguinoBlockly (до начала загрузки может потребоваться до минуты) и распаковать его в папке tools вашего рабочего пространства Arduino . Если папка tools еще не существует в вашем рабочем пространстве Arduino , вам необходимо ее создать. После установки Blockly вы сможете увидеть его в меню Tools Arduino IDE.Щелкните DwenguinoBlockly , чтобы запустить среду графического программирования. Рекомендуется подключить Dwenguino перед запуском DwenguinoBlockly и выбрать Tools > Board > Dwenguino и подключиться к Dwenguino, выбрав правильный порт.

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

Перетаскивая блок слева на эскиз, вы можете запрограммировать Dwenguino.В меню Dwenguino вы можете найти блоки, совместимые с Dwenguino. Подобно скетчу Arduino, мы начинаем с программного блока, который имеет setup и loop block. Код в сегменте setup выполняется один раз при запуске вашей программы. Код в блоке цикла повторяется бесконечно, пока вы не остановите программу. Теперь давайте попробуем напечатать «Hello World!» сообщение на ЖКИ с блоком ЖКИ:

Теперь мы готовы загрузить нашу программу в наш Dwenguino.Поэтому нажмите кнопку со стрелкой с красной стрелкой в правом верхнем углу окна DwenguinoBlockly. Если вы не забыли подключиться и выбрать Dwenguino перед запуском DwenguinoBlockly, вы увидите Hello World! сообщение на ЖК-дисплее!

Как вы знаете, Dwenguino имеет 9 программируемых светодиодов. Один светодиод можно найти на контакте 13, который может быть установлен с помощью блока Build-in LED State Block. Для установки частоты мигания используем блок Delay :

Остальные светодиоды находятся на контактах с 32 по 39.С блоком LEDS можно напрямую управлять восемью светодиодами:

Обратите внимание, что здесь мы использовали целочисленную переменную для запуска процесса подсчета.

К вашему Dwenguino можно легко подключить два разных типа двигателей. Первый тип - это серводвигатель, который необходимо подключить к серворазъему SERVO 1 или SERVO 2 . Подключите черный провод сервопривода к минус (-), а красный провод к плюс (+).Третий цветной провод должен быть подключен к оставшемуся контакту, отмеченному импульсом . DwenguinoBlockly предоставляет серво-блок , который можно перетащить из меню Dwenguino . Вам необходимо предоставить штифт, к которому подключен сервопривод (канал # ), и угол , в котором должен быть расположен серводвигатель. Если вы хотите управлять сервоприводом на контакте SERVO 1, вам необходимо настроить канал (канал # ) как 1, для SERVO 2 это должно быть 2. Угол может быть любым от 0 до 180 градусов.Здесь SERVO 1 установлен на 90 градусов:

Когда вы используете сервоблок в DwenguinoBlockly, широтно-импульсная модуляция (PWM) будет использоваться для установки серво-штыря по вашему выбору. В зависимости от ширины импульса будет установлено положение серводвигателя:

Второй тип двигателя, который вы можете подключить, - это стандартный двигатель постоянного тока, который можно подключить к синему разъему двигателя (4 винтовых контакта), попарно помеченным цифрами M1 и M2 . Скорость двигателя регулируется с помощью сигнала ШИМ.

Канал двигателя и скорость могут быть установлены с помощью блока Dc Motor . Максимальная скорость, которую можно выбрать, составляет 255. Это означает, что двигатели будут получать входное напряжение аккумуляторной батареи. В следующей программе два двигателя управляются с максимальной скоростью, но в противоположных направлениях:

Dwenguino имеет встроенный зуммер, подключенный к контакту 46 для воспроизведения музыки. Частоту зуммера можно установить с помощью тонального сигнала на блоке вывода . Этот блок принимает два аргумента: вывод , к которому подключен зуммер (для встроенного зуммера вы можете использовать штырь по умолчанию: BUZZER) и частоту тона (например, 440 Гц, что является примечанием A4).Чтобы остановить тон, вы можете использовать Нет звука на блоке Pin . Чтобы воспроизвести тон в течение определенного времени, вы должны использовать блок Delay , как показано здесь:

В следующей программе тон переключается с 440 Гц на 220 Гц и наоборот каждую секунду:

Если вы подключаете датчик сонара к плате Dwenguino, два соединения используются для питания датчика, два других соединения делают возможной связь между датчиком и платой.Два контакта связи называются триггером ( trig # ) и эхо ( echo # ). Если вы знаете, какие контакты на плате подключены к контакту триггера и эхо-сигнала на датчике сонара, вы можете использовать блок Sonar для считывания расстояния в см. В следующем примере показано, как считать расстояние от датчика сонара, сохранить его в переменной и отобразить на ЖК-экране:

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

При переключении в режим расширенный в панели инструментов блока слева появятся два новых меню: Функции и IO . Кроме того, дополнительные параметры будут доступны в меню Variables и Math . В меню Math появится новый блок map . Этот блок позволяет вам сопоставить значение в определенном диапазоне со значением в другом диапазоне.Это может быть полезно при работе с аналоговым входом или выходом (см. Ниже). Теперь в меню Variables мы ввели переменные. И мы можем выбрать локальную или глобальную переменную:

Меню Функции позволяет нам создавать функции с типом возврата или без него:

И последнее, но не менее важное: меню IO добавляет блоки для аналоговой и цифровой связи на каждый вывод на плате Dwenguino.

Самый простой способ взаимодействия с вашей доской Dwenguino - использовать одну из пяти кнопок: SW_C , SW_N , SW_E , SW_S и SW_W .Чтобы кнопки заработали, вам нужно всего лишь использовать блок DigitalRead PIN # . Аргумент блока DigitalRead PIN # определяет, с какого цифрового вывода вы хотите читать. Это может быть одна из кнопок ( SW_C , SW_N , SW_E , SW_S и SW_W ) или любой другой цифровой вывод. После этого вы можете оценить, нажата кнопка или нет, с помощью оператора if ... else :

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

Многие датчики являются аналоговыми: фототранзистор, датчики дальнего действия Sharp, датчик дальнего действия. Чтобы получить краткий обзор того, как вы можете подключиться, обратитесь к руководству по датчикам для роботов. Когда датчик подключен правильно, он должен иметь один контакт, подключенный к одному из контактов Dwenguino A / D (контакты A0 - A5).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *