Flprog — визуальное программирование arduino и других микроконтроллеров

FLProg — объединение плат Arduino в информационное кольцо

Tutorial

Начиная с версии 1.10.5, программа FLProg позволяет объединять несколько плат Arduino в кольцевую UART сеть. Сначала рассмотрим, как это происходит. Платы соединяются между собой в соответствии со схемой, изображённой на заглавной иллюстрации. Предположим, что плата 1 отсылает через UART пакет данных содержащий идентификаторы платы, переменной, а так же значение переменной. Плата 2 принимает данный пакет и если данные из этой переменной ей не нужны, то просто отправляет этот пакет дальше. Если в соответствии с программой значение данной переменной необходимо контроллеру, то значение из пакета копируется во внутреннюю переменную, и пакет так же отправляется дальше по кольцу.
Когда таким образом пакет, пройдя всё кольцо, вернётся к плате, отправившей его, передача пакета прекратится.
Таким образом, данные из пакета доступны любой плате подключённой к кольцу, и инициатором отправки пакета так же может быть любая из плат.

Создание меню с помощью программы FLProg

Tutorial

Добрый день. В программе FLProg начиная с версии 2.1. появились блоки конструктора меню. В данном уроке будет рассмотрено создание меню с помощью данных блоков.
Для того что бы было интереснее рассмотрим реальную задачу. Соберём блок контроля температуры, в который будет входить датчик температуры, нагреватель и вентилятор. Кроме того включение вентилятора или нагревателя будет сопровождаться звуковым сигналом. С помощью меню будем настраивать пороги включения и выключения устройств и необходимость звукового сигнала. Для упрощения отладки датчик температуры для начала будем симулировать с помощью переменного резистора.

FLProg + Nextion HMI. Урок 3

Tutorial

На предыдущих уроках (урок 1, урок 2) я рассказал, как рисовать интерфейс панели Nextion HMI, как управлять панелью с помощью Arduino. В этом уроке я расскажу, как решать обратную задачу – управлять платой Arduino с помощью панели Nextion HMI.
На уроке мы расширим проект предыдущего урока, добавим управление вентилятором, который будет включатся при превышении температуры выше заданного предела, и выключаться при снижении температуры ниже второго предела. Уставки будут задаваться с панели, и сохраняться в энергонезависимой памяти контроллера Arduino. Кроме того сделаем на панели выключатель света (двухпозиционный) и кнопку при помощи которой будем включать фонарь (например что бы подавать сигнал инопланетянам).

Как я познакомился с программой FLProg

Как я познакомился с флопцами.
Это история началась в момент моего рождения. Я родился в «День Энергетика», 22 декабря. Пожалуй, нет! Слишком рано. Оставим этот момент истории, для написания автобиографии. Так, пропускаем и момент, когда я на спор, лет в двенадцать залез рукой в подъездный щиток электроснабжения. Типа этот провод не ударит током. Не ударило.
Калейдоскопом пролетают важные вехи жизни. Обучение монтажником радиоаппаратуры. Работа в горах на передающем центре. Армия, тайга, сапоги, радиостанция на спине. Жизнь, каруселью крутится дальше. Работа электриком, крутым электриком. Вот я уже мастер.
Белой вьюгой пролетает работа на крайнем севере. Жизнь катится в гору. Работа энергетиком. Автокад. Проекты, проекты. Много проектов по ночам. Успех, опыт. Покупка квартиры, машины, семья дети. Дача. Стоп. Дача. Вот отсчёт. При монтаже кровли, падение со второго этажа. Компрессионный перелом позвоночника, перелом тазобедренного сустава, и очень сложный перелом левой ноги.

Лаба 1. Среда разработки.

Материал по
главе 1.
Изучение IDE (NetBeans,
VStudio). IDE, компилятор,
среда исполнения. Режим командной строки. Консольное приложение. Проект, модуль
(файл), решение (solution) в VS.
Создание пустого проекта для консольного приложения. Структура проекта: исходные
тексты, заголовочники, объектные модули, программный (исполняемый модуль)
модуль, где лежат, что содержат. (cprog 1.7).
Компиляция, исполнение, ошибки, предупреждения. Включение сторонних файлов в
проект. Последовательное погружение на примере рукописной (на доске) программы:
от пустого void main(){}. Простая программа: ввод
массива по предварительно заданной размерности, «красивый» вывод (аналогично
1.8, но без функций в одном main). Стандартный
ввод-вывод (stdio, cprog
4.5), объектная библиотека iostream, базовые типы,
переменные, массивы, размерность, инициализация (1.2), форматированный красивый
вывод, выражения, операторы (условные, цикл).  Отладчик: пошаговое исполнение,
точка останова, слежение за переменными. Не оценивается.

FLProg + nooLite

Tutorial

В первую очередь я хочу предупредить, что это не рекламный пост, я не имею никакого отношения к фирме – производителю оборудования описанного в статье и не имею никаких печенек от неё кроме предоставленного для интеграцию в программу оборудования. Это обучающий пост, который показывает, как с помощью программы FLProg управлять этим оборудованием. Естественно будет небольшой обзор имеющихся у меня блоков и моего личного отношения к этим устройствам.
Теперь небольшая предыстория. Один из пользователей программы обратился в фирму «Ноотехника» с предложением создать пользовательский блок (в то время в программе уже была такая возможность) для работы с производимым ими оборудованием через программу FLProg. Руководитель предприятия пошёл другим путём. Он связался со мной и предложил предоставить мне образцы своей продукции для интеграции их в программу. Изучив предложение, я согласился, поскольку на сайте была библиотека для работы с модулем передатчика, в наличии было хорошее описание, и проблем я не видел. Посылка пришла очень быстро (что странно для почты России) даже с учетом пересечения границы.

FLProg – Создание пользовательских блоков на языке С (Урок вне очереди)

Tutorial

Проект FLProg в последнее время обрёл достаточно большую популярность, и мне перестало хватать времени на создание блоков для той периферии, которая необходима пользователям. В то же время среди пользователей сайта нашлось достаточное количество людей, которые неплохо разбираются в языке C и могли бы мне помочь в развитии программы. Я решил дать им соответствующий инструмент. Таким образом, в версии 1.10.3 появилась возможность создавать пользовательские блоки с интегрированным кодом на С. Это привело к довольно неожиданным результатам. Этим инструментом заинтересовались не только разбирающиеся в программировании пользователи, но и те, кто до этого ни писал не сточки кода. Они начали писать сначала простенькие блоки (например, получение логарифма – среди стандартных у меня такого блока не было), заканчивая уже серьёзными блоками с применением библиотек. Поэтому я хочу немного поломать задуманную последовательность уроков по работе с программой, и вне очереди расскажу, как создавать подобные блоки.

FLProg – Новая реализация обмена по Modbus RTU

Tutorial

Ранее ещё на хабре я рассказывал о реализации поддержки протокола Modbus в программе FLProg. К сожалению как показала практика его использования, реализация получилась не очень удачная. Если Slave работал ещё более менее уверенно, то мастер работал очень неустойчиво. Кроме того задание адресов регистров было возможно только в виде непрерывного массива, и не было разделения на области памяти. Мастер в той реализации мог обращаться только к Holding Registers слейвов, что очень ограничивало возможности его применения. Достаточно долго я искал нормально реализованную библиотеку Modbus RTU для Arduino, но поиски не привели к успеху. Поэтому было принято решение написать реализацию обмена по Modbus RTU самостоятельно. И вот в недавно вышедшей версии программы FLProg с номером 1.12 это сделано. Что изменилось:

  1. Реализация Modbus RTU полностью совместима с промышленным стандартом.
  2. Реализованы четыре таблицы переменных – Coils, Discrete Inputs, Input Registers, Holding Registers. Для каждой переменной, можно задавать любой адрес (не обязательно последовательно).
  3. Реализована возможность задания адреса слейва, скорости порта и отключения/включения опроса конкретного слейва мастером программным путём с запоминанием этих данных в EEProm.
  4. Реализована возможность одновременной работы мастера и слейва на одном контроллере (на разных портах).
  5. Реализована возможность применять в качестве порта SoftwareSerial
  6. Благодаря динамически генерируемому коду одновременная работа мастера и слейва возможна даже на плате Pro-Mini.
  7. Реализована прямая совместимость со старыми версиями – ранее созданные проекты будут работать на новой версии без переделки.

FLProg + Nextion HMI. Урок 1

Tutorial

Добрый день.
Хочу рассказать об одном очень интересном проекте компании ITEAD STUDIO — цветной ЖК дисплей + резистивный сенсор касаний с собственным контроллером, управляемые по UART “Nextion HMI”. Данный проект появился на краудфандинговой платформе Indiegogo и при заявленных 20000 долларах проект собрал более 45000 долларов.
Один из пользователей программы FLProg прислал мне образец такой панели для ознакомления. Начав работать с ней, я был восхищён её возможностями, при очень демократичной цене. По возможностям она очень близко подходит к промышленным HMI панелям, а её редактор представляет собой практически полноценную SCADA систему. Поэтому я интегрировал управление этой панелью в проект FLProg.
В этой серии уроков я расскажу, как работать с этой панелью, и управлять ею из программы FLProg. Первый урок будет посвящён программе Nextion Editor и созданию проекта визуализации в ней.

FLProg + RemoteXY = Беспроводная клавиатура для компьютера на Вашем телефоне

У меня дома сложилась интересная ситуация. Телевизор в спальне подключен к компьютеру расположенному в другой комнате, и для того что бы жена могла посмотреть очередную серию сериала (хотя у меня есть андроидная приставка, которая стоит рядом с телевизором, она предпочитает смотреть с компа), приходится приложить достаточно много усилий. В виду присутствия детей, беспроводные мыши и клавиатуры у нас не приживаются. Я давно с интересом присматривался к возможности Arduino Leonardo прикидываться мышкой и клавиатурой, и когда эта плата пришла ко мне, реализовал данную возможность в программе FLProg версии 2.2. В паре с возможностями проекта RevoteXY получилась очень интересная штука. Для начала видео работы получившегося устройства.

Оцените статью:
Оставить комментарий