Программа flowcode: Программа Flowcode и программатор Microchip PICkit 2

Содержание

Программа Flowcode и программатор Microchip PICkit 2

Введение

Компания Microchip предлагает стартовый набор разработчика PICkit 2 Debug Express, включающий демонстрационную плату с 44-выводным контроллером и самый маленький программатор в мире. А компания Matrix Multimedia создала среду разработки Flowcode с интуитивно понятным графическим интерфейсом, позволяющим разрабатывать программу для микроконтроллера на уровне блок-схем.

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

Для ознакомительных целей компания Matrix Macromedia предлагает бесплатную демонстрационную версию Flowcode — http://www. matrixmultimedia.com/temp/FlowcodeV3.exe.

Примечание.

Единственное ограничение— допустимый объем скомпилированного кода не более 2 кбайт.

 

Шаг первый — построение блок-схемы

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

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

Рис. 1. Пример алгоритма программы

 

Шаг второй — реализация блок-схемы в Flowcode

Этапы реализации блок-схемы в Flowcode (рис. 2):

  • Запустите программу Flowcode.

    Рис. 2. Блок-схема, созданная во Flowcode

  • Нажмите ОК, когда откроется окно Reminder Screen.
  • Создайте новый проект (Create a new FlowCode flowchart).
  • Выберите в качестве контроллера (Choose a target) PIC16F887 (он установлен на демонстрационной плате 44-pin Demo Board комплекта PICkit 2 Debug Express).
  • Откройте новую рабочую область (workspace) с названием “Main”.
  • Добавьте необходимые блоки для блок-схемы. Для этого наведите курсор на нужную иконку в левой панели и, удерживая левую кнопку мыши, перетащите ее в рабочую область.
  • Добавьте необходимые элементы (светодиоды LED, переключатель). Для этого щелкните мышью по иконке соответствующего элемента в верхней панели.
  • В выпадающем меню окна LEDs («Светодиоды») выберите пункт Component Connections. В меню Connect to Port («Соединение с портом») выберите PORT D (светодиоды демонстрационной платы 44-pin Demo Board выведены на PORT D). Данный диалог должен принять вид, который представлен на рис. 3.

    Рис. 3. Выпадающее меню окна LEDs («Светодиоды»)

  • В выпадающем меню окна Switches («Переключатели») выберите пункт Properties («Свойства») и укажите количество кнопок — 1 (рис. 4).

    Рис. 4. Выпадающее меню окна Switches («Переключатели»)

  • В пункте Connect to Port выпадающего меню выберите PORT B (кнопка на плате 44-pin Demo Board подключена к PORT B, бит 0). Диалог Connect to Port примет вид, который представлен на рис. 5.

    Рис. 5. Диалоговое окно Connect to Port

 

Настройка элементов блок-схемы

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

Loop («Основной цикл»)

Рис. 6. Основной цикл

Input

Для начала необходимо создать переменную, отвечающую за информацию о положении кнопки. Щелкните по Variables («Переменные»), чтобы открыть диалог Variables Manager. Щелкните по Add New Variable («Добавить новую переменную») и добавьте новую переменную с названием Input (рис. 7).

Рис. 7. Добавление новой переменной с названием Input

Нажмите OK. Вернувшись в окно Variables Manager, нажмите кнопку Use Variable. Вернувшись в окно Properties, выберите PORT B, Single Bit (рис. 8).

Рис. 8. Настройка новой переменной в окне Variables Manager

Decision

В окне Properties нажмите на Variables и выберите Input, затем щелкните на Use Variable. Дайте название (Display name) — “Is switch pressed?” (рис. 9).

Рис. 9. Введение названия для новой переменной

Ветка No/Output

Чтобы зажечь крайние светодиоды, необходимо выставить в единицу биты 0 и 7 порта PORT D, то есть ввести в PORT D число 129 (27+20) (рис. 10).

Рис. 10. Введение в PORT D числа 129

Ветка Yes / Первый блок Output

Чтобы зажечь светодиоды с 0 по 3, необходимо ввести в PORT D число 15 (20+21+22+23) (рис. 11).

Рис. 11. Введение в PORT D числа 15

Оба блока Delay

Длительность задержки может быть задана в миллисекундах и секундах. Необходимо задать задержку в полсекунды (рис. 12).

Рис. 12. Задание длительности задержки

Второй блок Output

Чтобы зажечь светодиоды с 4 по 7, необходимо ввести в PORT D число 240 (24+25+26+27) (рис. 13).

Рис. 13. Введение в PORT D числа 240

Теперь блок-схема должна иметь вид, представленный на рис. 14.

Рис. 14. Конечный вид блок-схемы, созданой во Flowcode

 

Симуляция программы

Программа Flowcode позволяет проверить ее работу при помощи симуляции. Симуляция возможна в двух режимах: непрерывная и пошаговая, блок за блоком. В обоих режимах в окнах Variables и Call Stack отображаются текущие значения. Когда вы запускаете симуляцию программы на полной скорости, данные в этих окнах не обновляются. Если же скорость симуляции ниже полной или выполнение программы ведется пошагово, созданные переменные отображаются в окне Variables на каждой итерации.

Теперь посмотрим на симуляцию на полной скорости. Нажмите Run на панели инструментов. Используйте возможность остановки и продолжения работы программы (F5 или Go/Continue в меню Run). При этом можно увидеть текущие значения в окнах Variables и Call Stack, а также крайние светодиоды (0-й и 7-й светятся). Щелкните по иконке кнопки и убедитесь, что светодиоды 0–3 моргают в противофазе со светодиодами 4–7. Программа работает корректно.

Если вы не получили нужного результата, вернитесь к началу и повторите все заново.

 

Программирование PIC-контроллера

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

  • Подключите PICkit2 к ПК через USB.
  • Подключите PICkit2 к демонстрационной плате 44-pin Demo Board.
  • В меню Chip выберите пункт Compile to Chip (для компиляции необходимо сохранить созданную программу).
  • Откроется окно Compile Messages, в котором отображается текущий прогресс. При программировании контроллера засветятся индикаторы Target и Busy на PICkit2. Когда программирование закончится, появится строка Finished, после чего следует нажать кнопку Close.
  • Ваша программа должна запуститься. Светодиоды 0–3 должны мигать в противофазе со светодиодами 4–7. При нажатии кнопки должны светиться только светодиоды 0 и 7.
  • Незаметно для пользователя программа Flowcode сформировала по графической блок-схеме C-файл и компилировала его в ассемблер. Полученный C- и asm-код можно просмотреть, выбрав в меню Chip соответственно команды “View C” и “View ASM” либо просмотрев содержание файлов prog1name.c и prog1name.asm в папке, где сохранен данный проект.

 

Заключение

В данной статье показано, как просто создать программу для контроллера по заданному алгоритму. При этом пример охватывает лишь малую часть функциональных возможностей Flowcode. Незатронутыми остались такие возможности, как вычислительные операции, манипуляции со строковыми переменными, создание пользовательских макросов, вставки C-кода и т. д. Для их освоения программа Flowcode снабжена подробными справочными материалами и описаниями (меню Help). О всех возможностях, предоставляемых Matrix Multimedia, можно узнать на сайте http://www.matrixmultimedia.com/.

Программа Flowcode и модуль Arduino

Познакомиться с проектом можно на сайте: http://arduino.cc/

Модуль можно заказать и получить по почте. Существует он в разных модификациях и под разными именами, например, CarDuino, CraftDuino, FreeDuino и т.д. Собран модуль на основе микроконтроллера ATmega.

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

Что он даёт?

Он позволяет применить его в качестве базы для создания собственных конструкций, и конструкций очень разного плана: и роботы, и устройства автоматики, и приборы и т.п. В любом исполнении он имеет разъемы для подключения плат расширения. Но главное, он подключается к компьютеру (а последние модели позволяют подключение к USB порту), и нужная вам программа загружается из программы Arduino. При этом используется программная часть, утилита, avrdude. Её можно найти в пакете программы Arduino, утилита есть в пакете WinAVR, и её, думаю, можно найти и отдельно.

Для использования модуля при подключении его к компьютеру в Windows достаточно установить драйвер. О том, как это сделать, можно причитать, например, на сайте: http://www.robocraft.ru/

В Windows Vista драйвер сам находится после подключения модуля. В Linux драйвер включен в ядро операционной системы (последних версий). Кстати, модуль с тем же успехом работает в Linux.

Но причём здесь FlowCode?

Дело в том, что утилиту avrdude можно легко настроить в FlowCode for AVR для работы с модулем, что позволяет загружать программу в модуль прямо из Flowcode. Вот пример.

Повторим программу «Hello World» для микроконтроллеров.

 Рис. 1. Простейшая программа в среде разработки Flowcode

Написав (собрав) программу, можно проверить её работу. Не следует, пока вы не будете уверены в себе, менять конфигурацию (fuses) контроллера,

 

 

 

 

Рис. 2. Изменение тактовой частоты

но в разделе «Chip» основного меню на вкладке «Clock Speed…» следует указать тактовую частоту генератора.

 

 

 

Рис. 3. Настройка программатора

Для работы с модулем Arduino в разделе «Chip» основного меню следует открыть раздел «Compiler Options…» и внести изменения в раздел программатора:

 

 

 

 

 

 

 

 

 

 

 

Путь к программатору avrdude следует указывать реальный; я установил программу программатора, скопировав два файла из программы SinaProg (есть такая графическая оболочка к утилите avrdude) в папку с именем программатора, которую счёл удобным оставить в корневой директории. В качестве параметров добавлена строка:

%a avrdude "%f.hex" -c stk500v1 -p m168 -P com6 -b 19200 -Uflash:w:"%f.hex":i -C C:\avrdude\avrdude.conf

Сохранив эти изменения, можно нажать на кнопку «ОК». Если вам придётся вернуть прежние настройки, то есть кнопка «Restore Defaults». И вы готовы к загрузке программы в модуль Arduino. Есть пункт «Compile to Chip…» в разделе «Chip», есть иконка с рисунком микросхемы на инструментальной панели. Используйте любой вариант.

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

Будет ли работать Flowcode с модулем Arduino в случае сложных программ? Это нужно проверять. Но сам модуль позволяет превратить его, и сделать это быстро, например, в осциллограф, если использовать программу Xoscillo: https://code. google.com/p/xoscillo/

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

Кроме программы Flowcode модуль работает с WinAVR и последней версией AVR STudio 5, используя ту же утилиту avrdude. Поэтому, сделав первые шаги в освоении контроллеров с помощью программы Flowcode, вы можете перейти к первым шагам в освоении языка Си. С тем же модулем.

{jcomments on}

Qucs Flowcode

Книга 1. Qucs – почти универсальный симулятор электрических схем

Предисловие

Часть 1. Начальные сведения

Глава 1. Основные элементы интерфейса

Вид программы
Основное меню, Файл
Основное меню, Правка
Основное меню, Расположение
Основное меню, Вставка
Основное меню, Проект
Основное меню, Инструменты
Основное меню, Моделирование
Основное меню, Вид
Основное меню, Справка

Глава 2. Дополнительные элементы интерфейса

Инструментальные панели Qucs
Панель навигации
Выпадающие меню
Диалоговые окна
Числа и имена в программе
Формулы
Документ

Глава 3. Ввод схемы

Компоненты
Моделирование
Диаграммы

Часть 2. Работа с программой

Глава 1. Компоненты

Дискретные компоненты
Источники
Нелинейные компоненты
Виды моделирования и диаграммы

Глава 2. Моделирование

Моделирование на постоянном токе
Моделирование на переменном токе
Моделирование переходного процесса
Развертка параметра
Цифровое моделирование

Глава 3. Применение Qucs

Обучение
Исследование
Практика

Часть 3. Возможности Qucs

Глава 1. Некоторые расширения программы

Источники
Подсхемы
Файловые компоненты
Виды моделирования
Пополнение компонентов

Глава 2. Теория и практика

Диод
Стабилитрон (или диод Зенера)
Транзистор

   Глава 3. Читая учебник

      Напряжение, ток, мощность
  Элементы электрической цепи
  Законы Ома и Кирхгоффа
  Последовательное и параллельное соединение резисторов
  Резистивные делители
  Метод контурных токов и узловых потенциалов
  Преобразование источников
  Операционный усилитель
  Индуктивность, емкость

  Заключение

Книга 2. Микроконтроллер и FlowCode

  Предисловие

 Знакомство с интерфейсом программы FlowCode

  Основное меню программы
  Инструментальная панель программных компонентов
  Основная инструментальная панель
  Использование программного компонента Calculation

 Знакомство с программированием в FlowCode

  Простые обучающие программы
  Примеры более сложных приемов программирования

  Переход к программированию на языке Си

  Первые шаги
  Первые шаги (продолжение)
  Шире шаг – ветвление, подпрограмма, ввод, прерывание, программатор
  Встроенные модули USART и PWM

Некоторые примеры программирования в среде FlowCode

  Первый пример
  Второй пример
  Пример третий
  Пример четвертый
  Пятый пример
  Шестой пример

Приложение

  Немного о четвертой версии FlowCode
  Немного о программе Proteus
  Читая учебник

Заключение

FlowCode для ARM | arm

Это генератор кода программы, основанный на "квадратиках" стандартных блок-схем алгоритмов. Конечно, это не "киллер" C и C++ для написания программ, но рассмотреть такой вариант программирования очень интересно.

Сайт программы см. в [1]. Очень неплохая статья про FlowCode [2]. FlowCode поддерживает ARM, AVR и PIC. К сожалению, в версии, что я тестировал - Flowcode v3.4.7.48 для ARM - я не нашел работы с USB. В новых версиях (Flowcode 4, которая на момент написания статьи - июнь 2009 - была только в версии для PIC) это должно поддерживаться, см. [4]. К сожалению, не поддерживается чип AT91SAM7X256 (на 100 ножек).

Установка программы не вызывает затруднений. Поле установки для быстрого ознакомления удобно открыть и позапускать примеры из папки "c:\Program Files\Matrix Multimedia\Flowcode_ARM\Examples\". В примерах рассмотрено мигание светодиодами, управление 7-сегментными индикаторами (одноразрядным и четырехразрядным), вывод на LCD-индикатор, подключенный к PORTA (индикатор на чипе Hitachi HD44780), чтение кнопок, формирование задержек, чтение ADC.

В новой версии (Flowcode 4) возможности впечатляют:

- поддерживаются интерфейсы I2C, SPI, RS232, Bluetooth, Zigbee, IrDA, CAN, LIN, TCP/IP, Webserver, USB, RFID, GPS. Конечно, многое из этого списка было и в предыдущей версии.
- имеются компоненты для LED, кнопок, выключателей, клавиатур, LCD, Graphical colour LCD, Graphical mono LCD, сенсоров, 7-сегментных дисплеев, внутренней EEPROM.
- можно рисовать переднюю панель для разрабатываемого прибора (!).
- поддерживаются следующие ARM: AT91SAM7S512, AT91SAM7S256, AT91SAM7S128, AT91SAM7S64, AT91SAM7S321, AT91SAM7S32, AT91SAM7S16, AT91SAM7S161, AT91SAM7SE32, AT91SAM7SE256, AT91SAM7SE512 (к сожалению, AT91SAM7X256 не поддерживается).

Из ответа Sean King, инженера Matrix Multimedia Ltd:

К сожалению, никакие отладочные средства FlowCode не поддерживает ни для ARM, ни для AVR. В данный момент (26 июня 2009) разрабатывается отладочное средство для PIC, и в будущем (наверное далеком) такая функциональность может быть добавлена в версии FlowCode для AVR и ARM.

Версии FlowCode для AVR и ARM используют в качестве штатного компилятора GCC, поэтому возможно получить отладочный код для отладки вне среды FlowCode. Для AVR тут все понятно - это AVR Studio, а что применять для ARM - непонятно.

В качестве программатора FlowCode для AVR использует по умолчанию AVRDUDE, но возможно использование следующих программаторов:

ABCmini Board, aka Dick Smith HOTCHIP
Nightshade ALF-PgmAVR
AT-ISP V1.1 programming cable for AVR-SDK1
AVR109 Boot Loader
avr910 Atmel Low Cost Serial Programmer
Atmel AVR ISP (an alias for stk500)
Atmel AVR ISP mkII (alias for stk500v2)
Bascom SAMPLE programming cable
Altera ByteBlaster
Brian Dean's Programmer
Atmel Buttery Development Board
c2n232i
dasa serial port banging
dasa3 serial port banging
AVR Dragon
Dontronics DT006
ERE ISP-AVR
Frank's STK200 clone
Futurlec.com programming cable
Atmel JTAG ICE mkI
Atmel JTAG ICE mkII
Crossbow MIB510 programming board
Jason Kyle's pAVR Serial Programmer
Picoweb Programming Cable
Pony Prog STK200
Lancos SI-Prog
Steve Bolt's Programmer
STK200
Atmel STK500
Atmel STK600
USBasp
USBtiny simple USB programmer
Xilinx JTAG cable

В качестве программатора для ARM FlowCode использует прямое соединение по USB, специальную программу и встроенный в чип bootloader. Возможно использование технологии SAM-BA для загрузки в чип hex-кода, сгенерированного в среде FlowCode.

[Ссылки]

1. Flowcode site:matrixmultimedia.com.
2. ПРОГРАММА FLOWCODE - полет первый site:elektron.ucoz.ru.
3. Дока на русском по FlowCode - FlowRU.pdf.
4. FlowCode USB site:matrixmultimedia.com.

Особенности изучения линейного алгоритма на flowcode

 

В статье рассматривается линейный алгоритм на микроконтроллере с помощью Flowcode.

Ключевые слова: микроконтроллеры, линейный алгоритм, flowcode.

 

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

Для формирования компетентного специалиста невозможно без внедрения новых форм и методов преподавания.

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

Активизация мыслительно-творческой деятельности студента при изучении программирования контроллеров происходит с помощью программных и аппаратных приложений к компьютеру [1].

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

Решение любой задачи на ЭВМ можно разбить на следующие этапы: разработка алгоритма решения задачи, составление программы решения задачи на алгоритмическом языке, ввод программы в ЭВМ, отладка программы (исправление ошибок), выполнение программы на ПК, анализ полученных результатов.

Для «ускоренного» написания программ применяются языки высокого уровня, как С и Basic.

Написать программу можно и с применение сред визуального программирования. Данный подход позволяет даже начинающем программисту создавать большие и сложные программы для МК, затрачивая при этом значительно меньше времени [2].

Разработаем программу «Мигающий диод», с использованием микроконтроллера PIC16F877. В этом микроконтроллере имеется все необходимое для решения наших задач.

Наша первая программа будет включать, и выключать светодиод, подключенный к одному из выводов микроконтроллера (PORTB.0). Таким образом, программа будет работать, как маяк, до отключения питания. На рис. 1 приведена схема этого устройства.

Рис. 1. Схема микроконтроллера с диодом

 

Алгоритм работы:

  1. Подсоединяем к PORTB. 0 — диод (Led-red)
  2. Подаем на PORTB — нуль.
  3. Пауза — 1секунда.
  4. Подаем на PORTB — единицу.
  5. Диод (Led-red) — загорается.

Составим программу на FLOWCODE.

Выберем микроконтроллер

Рис. 2. Микроконтроллер PIC 16F877

 

Рис. 3. Блок-схема и программа «Мигающий диод»

 

Все, добавили диод, программа готова. Все, что видим на рис.3. — это наша блок-схема и готовая программа.

Теперь запустим RUN, хотя предпочтительно использовать F8 «Пошаговый запуск».

Рис. 4. Ход программы, включение диода

 

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

Данная опция (см. рис.5) позволяет произвести компиляцию «блок-схемы» на язык С, HEX, просмотреть программу на языке С и ASM. Полученный в результате компиляции файл с расширением *.hex «прошьем» с помощью программатора, в микроконтроллер. Прошитый таким образом микроконтроллер, спаяем в микросхему.

Рис. 5. Меню Сборка и его опции

 

Для продвинутых пользователей существует программ PROTEUS VSM. Но симуляция радиоэлементов это не единственная способность программы. Proteus VSM, созданная фирмой Labcenter Electronics на основе ядра SPICE3F5 университета Berkeley, является так называемой средой сквозного проектирования. Это означает создание устройства, начиная с его графического изображения (принципиальной схемы) и заканчивая изготовления печатной платы устройства, с возможностью контроля на каждом этапе производства.

Отличительной чертой пакета PROTEUS VSM является возможность моделирования работы программируемых устройств: микроконтроллеров, микропроцессоров, DSP и проч. Библиотека компонентов содержит справочные данные. Дополнительно в пакет PROTEUS VSM входит система проектирования печатных плат.

Программа Flowcode позволяет создавать программы простым перетаскиванием иконок. Ещё одной полезной функцией данной программы является открытая архитектура, которая даёт возможность получить листинг на языке Ассемблер и С. При необходимости его можно отредактировать, что особенно актуально в приложениях, где требуется максимальная производительность.

 

Литература:

 

  1.                Абдулгалимов Г. Л. Программно и аппаратно-методическое обеспечение учебного процесса как средство оценки компетентностной модели специалиста / Г.  Л. Абдулгалимов, В. Н. Казагачев, Р. Я. Гибадулин. // Технологии построения систем образования с заданными свойствами: материалы Междунар. науч.-практ.конф., 16–19 октяб. 2014 г., г. Москва. / МГГУ им. М. А. Шолохова. — Москва, 2014. — С. 38–41.
  2.                Белова С.В, Лощаков А. А. Преимущества использования среды разработки Flowcode при создании программ для микроконтроллеров. [Текст] / Белова С.В // Успехи современного естествознания. — 2012. — № 5. — С. 80.
  3.                Джон Добсон. Программа Flowcode и MicrochipPICkit 2. [Текст] // Компоненты и технологии. — 2009. — № 6. — С. 74–76.

Микроконтроллеры 3. Программа FlowCode. - 12 Ноября 2011 - Портфель


Для тех, кто знаком с электроникой, дальнейший порядок работы должен быть знаком: есть микросхемы, которые следует правильно связать сетью проводов в единое целое, небольшие трудности возникают только при выборе нужных микросхем, приходится обращаться к документации. В этом смысле FlowCode снабжена подсказкой, и есть примеры в папке «Examples». Очень полезно заглянуть в эту папку. Задача, описанная выше, может быть доведена до проверки на макетной плате, где микроконтроллер будет управлять светодиодом, припаянным, скажем, к нулевому выводу порта А (на всякий случай через резистор), и пусть светодиод мигает раз в секунду. На инструментальной панели слева, где расположены элементы команд, есть кнопка с буквой «О», от слова output (выход). Если навести курсор мышки на эту кнопку, то высвечивается и подсказка, Output. Зацепив команду (нажимаем левую клавишу мышки, когда курсор указывает на иконку, и, не отпуская клавиши, перемещаем курсор в рабочее поле схемы), тащим ее к линии связи между овалами Begin (начало) и End (конец). При этом курсор выглядит как стилизованная иконка, а слева появляется стрелочка-указатель. Попутно можно отметить, что пользовательский интерфейс программы стандартен для операционной системы Windows, а все операции очень похожи на аналогичные в других программах.
После добавления элемента Output диаграмма принимает следующий вид:

Нуль в заголовке состояния порта А подразумевает, что все выводы находятся в состоянии логического нуля (с низким уровнем напряжения) или что они будут установлены в 0. Мигать чем-то — это менять состояние, но чтобы мигание было заметно, понадобится пауза. Такой элемент (иконка на левой инструментальной панели с литерой «D») Delay (задержка) есть. Перетаскиваем его и вставляем ниже первой команды Output. По умолчанию задержка задается в миллисекундах. Но в свойствах этого элемента можно изменить единицу измерения. Двойной щелчок левой клавишей мышки по этому элементу на рабочем поле открывает диалоговое окно, где задаются многие свойства: имя программного элемента, значение, которое можно задать с помощью переменной, и единица измерения. Имя компонента пока не столь важно, но при создании больших программ следует продуманно использовать это свойство, как и имена переменных, чтобы облегчить чтение и понимание программы и себе, и другим.


Теперь достаточно выбрать опцию seconds, чтобы превратить миллисекунду в секунду. Следом за задержкой в 1 секунду добавим еще одну команду Output, как и в первый раз, но теперь, двойным щелчком левой клавиши мышки по нему на рабочем поле схемы, откроем диалоговое окно его свойств:

Заменив 0 в окне Variable or Value: единицей, мы изменим состояние выводов порта А, добавив в программу еще одну паузу, мы почти достигаем желаемого. Осталось заставить светодиод мигать непрерывно. Такое многократное выполнение фрагмента программы в программировании называется циклом (Loop). И такой элемент на левой инструментальной панели есть, седьмая кнопка сверху. Если добавить его к концу программы, это, конечно, не приведет к цели. Но можно перенести все команды внутрь цикла. Достаточно выделить уже существующие команды и перенести их в нужное место. Для выделения элементов следует, нажав левую клавишу мышки, когда курсор находится на пустом месте над программой, удерживая клавишу, отрисовать прямоугольник, включающий всю программу, кроме цикла. Все, что теперь выделено, можно перетащить к линии, соединяющей начало цикла While и конец, отмеченный как Loop. В программировании часто используются циклы, и бывают они разного вида, например, выполняемые заданное количество раз (For...) или условные, выполняемые до тех пор, пока не будет (или будет) выполнено некое условие, которое может, в свой черед, проверяться до выполнения очередного прохода программы, заключенной в цикл, или после прохода и т.д.
В свойствах цикла программы FlowCode можно изменить характер работы цикла, если это нужно.

Итак, мы написали (или нарисовали, или собрали) первую программу, и пора бы проверить, работает ли она. Программа FlowCode имеет хорошие отладочные средства . Чтобы запустить отладку, достаточно в основном меню выбрать пункт Run и раздел Go/Continue в выпадающем меню или на основном инструментальном меню нажать кнопку с иконкой «>», как у любого плеера, обозначающей воспроизведение. Однако прежде чем это сделать, полезно (или весьма полезно) на инструментальной панели дополнительных компонентов (второй слева) нажать первую кнопку с изображением ряда индикаторов (светодиодов), появляющаяся подсказка к ним LEDs. Вот теперь можно и запустить отладку. Мигающий светодиод, обозначенный как АО, в точности повторит то, что вы увидите,  собрав макетную плату. Но... небольшое дополнение: паузы, которые введены в программу, зависят от тактовой частоты микроконтроллера. Последняя определяется способом организации генератора. Для первых экспериментов самым удобным будет использовать внутренний тактовый генератор, его частота 4 МГц. То, с какой скоростью будет переключаться выход при отладке и при макетировании, следует согласовать с тактовой частотой. В основном меню есть пункт Chip с разделом Clock Speed..., где, собственно, и задается тактовая частота. Если этого не сделать, а по умолчанию тактовая частота принимается равной 20 МГц, то пауза в 1 секунду при отладке на макетной плате превратится в 5 секунд при использовании внутреннего тактового генератора. Для первой программы полезно будет попробовать менять состояние порта А во второй команде Output, вписывая разные числа. Они все будут отображаться со-стояниями выводов порта А в виде, который можно называть кодом 1-2-4-8, или в двоичном виде.

Как вы могли убедиться, написать небольшую программу для микроконтроллера гораздо проще, чем собрать схему на аналоговых ли, цифровых ли элементах, которая заставила бы мигать светодиод. А ведь эту программу легко поправить, чтобы она выполняла более сложные операции. Если вы купили программу FlowCode, то, возможно, купили и программатор, ра-ботающий с ней. В этом случае вы можете сразу вставить микросхему в панельку программатора и, оттранслировав первую программу, загрузить ее в микроконтроллер, перенести его на макетную плату и убедиться, что он работает (слово конфигурации,  о котором будет сказано ниже,  для PIC16F628A возьмите 3F18h). Можно использовать внешнюю программу для программирования микроконтроллеров, например, PonyProg или ICprog. Схемы программаторов для них достаточны просты даже для сборки начинающим. Для PIC контроллеров есть недорогой программатор EXTRA-PIC,  который можно заказать по почте. Сегодня многие пользуются ноутбуками, не имеющими ни СОМ, ни LPT порта, поэтому схему, приведенную ниже подключать некуда, но, возможно, конвертер USB-СОМ (или LPT для других программаторов) позволяет сделать это, хотя лучше предварительно проконсультироваться с теми, кто делал или пытался сделать это.
Схема на рисунке ниже рассчитана на программирование только некоторых моделей PIС-контроллеров. Для первых опытов это, как правило, достаточное требование к программатору. А переделать схему, когда появится опыт работы и круг интересов расширится, не составит особого труда.

Программатор получается небольшим и достаточно удобным в работе, не требует дефицитных деталей. Для его сборки достаточно куска макетной платы. Если стабилитрон D6 заменить аналогичным на напряжение 5.1 В и добавить два светодиода АЛ307А в прямом включении (или один светодиод и стабилитрон с соответствующим напряжением стабилизации), то процесс обращения к программатору можно контролировать визуально. Первые шаги в этом направлении, порой, оказываются не столь удачны, как хотелось бы, и никакая дополнительная индикация не будет лишней. У меня программатор подключается шлейфовым кабелем в метр длиной, чтобы удобно было работать возле компьютера,  к СОМ-порту.  Выглядит он так:

До того, как программировать микросхему, программу из предыдущей части рассказа требуется превратить в hex-файл. Это тот файл, что загружается в программу для работы с программатором, и который отправится в микроконтроллер. Предпоследняя клавиша основного инструментального меню с подсказкой Compile to HEX, как видно из рисунка, должна выполнить трансляцию, а в папке с программой появится искомый hex-файл. Если бы в моем распоряжении был программатор, подключенный по USB интерфейсу к компьютеру и умеющий «разговаривать» с FlowCode, то следующая кнопка основного инструментального меню с иконкой микросхемы загрузила бы программу.

При первом знакомстве с процедурой создания программы для микроконтроллера можно не заботиться о виде программы, довольствуясь полученными «по умолчанию» названиями, но в дальнейшем это может мешать. При взгляде на предыдущий рисунок трудно понять назначение команд. Это легко поправимо. Двойной щелчок по команде открывает диалоговое окно, где в поле Display name можно написать то, что впоследствии поможет легче читать программу. Лучше, если это будут названия на английском, но можно на латинице сделать для себя понятное название элемента. Кроме возможности именовать элементы программы удобным для понимания способом в нее можно добавлять комментарии (тоже лучше латиницей). Для вставки комментария используется последняя кнопка панели команд. Все комментарии должны игнорироваться при компиляции программы, и с этой точки зрения язык, на котором будет написан комментарий, не должен сказываться на работе программы. Вы можете поэкспериментировать с русскоязычными комментариями, но будьте готовы к тому, что при этом могут возникнуть проблемы.


Чтобы не возвращаться к вопросу о назначении элементов панелей, я приведу описания панелей. Первая левая инструментальная панель — это панель команд.

Перечень представленных команд (слева-направо на рисунке, сверху-вниз при запуске): Input (ввод), Output (вывод), Delay (пауза), Decision (ветвление), Connection Point (две точки соединения), Loop (цикл), Macro (макрос), Component Macro (макрос компонента, добавленного в программу), Calculation (вычисление), String Manipulation (строковые операции), Interrupt (прерывание) ,  С Code  (блок кода на языке Си),  Comment  (комментарий). Вторая инструментальная панель для добавочных внешних элементов.

LEDs (светодиоды), Switches (переключатели), LCDDisplay (жидкокристаллический дисплей), ADC (АЦП, если есть порт АЦП), LED7Segl (семисегментный индикатор) , LED7Seg4 (блок из 4х семисегментных индикаторов), Buggy (компонент игрушки), далее несколько стандартных интерфейсов TCP_IP, Bluetooth, RS232, IrDA, AddDefines (добавить определения), LinMaster (ведущий в локальной сети) , Custom (заказной компонент), EEPROM (перепрограммируемая память), Alarm (охранное устройство), Thermometer (термометр), PWM (широтно-импульсный модулятор) , SPI (последовательный внешний интерфейс), Webserver (web-сервер), CAN (сеть абонентского доступа), KeyPad (клавиатура), LinSlave (ведомый в локальной сети),  FormulaFlowCode  (компонент игры),  I2C  (шина связи между ИС).
Программа FlowCode позволяет быстро создавать программы достаточно интересных устройств. Посмотрим, как легко можно модернизировать программу, генерировавшую меандр с частотой 0. 5 Гц. Усложним ее: Введем две кнопки управления частотой. Используем эти кнопки для удвоения и уменьшения частоты вдвое. Отобразим значение частоты на семисегментном индикаторе. Ввести две кнопки для управления, в отношении программы, означает добавить два программных элемента ввода (Input). Но после перетаскивания команд в рабочее поле и попытки закрыть окно свойств команды появляется сообщение:

Операция ввода работает только с переменными. Нужно либо выбрать, либо создать переменную, используя клавишу Variables. FlowCode, как любая среда программирования должна обладать всем набором элементов, нужных для построения программы. Хотя FlowCode специфическая, микроконтроллерная среда программирования, она должна иметь переменные. Нажатие указанной клавиши в окне свойств элемента Input открывает диалог создания переменных, в котором есть клавиша Add New Variable..., открывающая следующее окно, где собственно и создается новая переменная, для которой подойдет имя «more»,  больше.   Тип переменной Byte вполне должен устроить.

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

Нажатие клавиши Use Variable возвращает в диалоговое окно свойств программного элемента Input. Для второго элемента ввода, как видно на рисунке выше, выбрано имя переменной less (меньше). Программа в этот момент выглядит следующим образом:

Элементы ввода в программе вне цикла. Это не окончательный результат, но куда и как их поместить, можно рассмотреть позже. Чтобы не переписывать, многократно, одинаковые фрагменты программы, программисты давно придумали такие удобные средства, как подпрограмма, или процедура , или функция, а в данном случае программный элемент Macro. Перетащим его в программу ниже элементов Input. Он появляется в программе, как Call Macro (вызов макроса), а двойной щелчок по нему открывает диалог работы с макросами.

Клавиша Create New Macro... (создать новый макрос), как мне кажется, хорошее начало для создания нужной подпрограммы.


Имя «multi» в поле Name of new macro: — это обязательный атрибут макроса. И, пока «на всякий случай», я добавил параметр «freq». Я еще не знаю, смогу ли я воспользоваться этим параметром, как я это смогу сделать, но удалить лишнее я всегда смогу (если не забуду, как обычно бывает). Добавление параметра потребовало создания еще одной переменной «freq_ch», но, все неприятности когда-нибудь заканчиваются, и, наконец, появляется подпрограмма. Вернее, заготовка для нее.

Теперь можно перенести весь цикл работы выходов из основной программы в подпрограмму. Напомню, как во многих графических редакторах, для выделения достаточно, нажав левую клавишу мышки, обвести нужные элементы. Затем в основном меню Edit выбрать Cut (вырезать), переместиться в рабочее поле подпрограммы и щелкнуть мышкой по линии связи операторных скобок Begin-End, появляется стрелочка, наконец, в основном меню Edit выбрать Paste  (вставить). Подпрограмма выглядит так, как выглядела программа в момент начала работы.

Купить

Программаторы, средства разработки и отладки для DSP,
средства разработки и отладки для ПЛИС-ПАИС


Подумаем, как менять частоту мультивибратора, а подпрограмма, в конечном сче¬те, и есть мультивибратор. Операцию легко проделать, меняя длительность пауз. Поэтому в свойствах паузы (двойной щелчок по первому, затем второму элементу Delay подпрограммы) заменим число «1» на переменную «freq_ch», созданную ранее. Пока программа не превратилась в «небоскреб», ее можно проверить. Предварительно добавим в основную программу (из которой удален цикл) после двух элементов Input новый элемент, который называется Calculation (вычисление) . В его свойствах зададим нужное начальное значение частоты мультивибратора .  То есть, начальную длительность пауз. Небольшое отступление. Ранее мне пришло в голову, что микросхема выглядит привычнее, когда входы у нее слева, а выходы справа. А это привело к тому, что выход переместился в порт В.

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

Первая из кнопок на основной панели LEDs(O) — доступ к свойствам через выпадающее меню, где можно выбрать пункт Component Connections... и заменить привязку к порту.

После сделанных изменений проверка программы запускается клавишей «>» на основной инструментальной панели FlowCode.

Проверка не обнаруживает разницы в работе программы сравнительно с предыдущей проверкой. И еще, пока «болезнь не запущена», с программами это бывает, проведем еще одну диагностику. Изменение частоты, в сущности, изменение значения переменной «freq_ch». При нажатии кнопки «больше» эта переменная должна делиться на 2. Проверим. Добавим после первого элемента Calculation второй такой же. А в нем запишем freq_ch = freq_ch/2. Запустим программу......чтобы убедиться, что-то идет не так, как должно. Программа сейчас выглядит  так (основная программа):

Светодиод вместо того, чтобы мигать быстрее, то ли мигает, то ли нет — непонятно. Но есть простой способ проверить, а я думаю, что проблема кроется в переменной «freq_ch», проверить, что с ней происходит. Для этого достаточно в подпрограмме включить точку останова на элементе, скажем, Output (первое обращение к порту В). Для этого следует щелкнуть правой клавишей мышки по этому элементу и в выпадающем меню щелкнуть по пункту Toggle Breakpoint. Запуск программы выводит в окно наблюдения переменные и их значение.

 

Видно, что после деления переменная превращается в ноль. Первое, что приходит в голову, изменить тип переменной на int (целое). И задать значение не «1», а 1000. И поменять в подпрограмме в свойствах паузы секунды на миллисекунды. Теперь после деления на два переменная становится равной 500, а светодиод исправно мигает. Мы создали подпрограмму работы мультивибратора. Мы добавили два элемента ввода (для двух кнопок управления). И, наконец, разобрались с механизмом изменения частоты будущего мультивибратора. Определенное удобство программы FlowCode в том, что внешние элементы можно добавить для отладки с панели добавочных элементов, а отладку запустить непосредственно в среде разработки без трансляции файла. Поэтому, добавив элемент Switches, я запускаю отладку, чтобы убедиться......программа не реагирует на мои попытки изменить частоту генератора. Используем прием, которым мы уже пользовались: ставим точку останова (правая клавиша мышки и Toggle Breakpoint в выпадающем меню) на второе ветвление. Программа останавливается, но после повторного запуска больше не попадает в точку останова. И где же она обитает? Есть единственное место, где она может быть — подпрограмма. Подпрограмма — это бесконечный (в данный момент) цикл. Попав в него после «схода» с точки останова, программа больше из него не возвращается.

"Домашняя лаборатория" Гололобов В.Н.
 

назад  вперед

 

Flowcode

Один из передовых графических языков программирования для микроконтроллеров.

Зачастую очень удобно написать и отладить код в одной программе, а запрограммировать микросхему – в другой. Если нет необходимости «прошивать» по сотне контроллеров в день, если все выводы микросхемы используются «на выход» (т.е. микроконтроллер используется в качестве устройства управления), то программа FlowCode будет самым наилучшим вариантом. Она обладает не требующим разъяснений графическим интерфейсом, что позволяет человеку без опыта в программировании создавать свои собственные комплексные электронные системы буквально за несколько минут. Среда разработки не похожа на другие, создание программ для микроконтроллеров происходит путём простых перетаскиваний особых «кубиков-иконок» на блок-схеме. Открытая архитектура Flowcode позволяет просматривать программный код, полученный из блок-схем (С++ и Ассемблер), и оставлять свои комментарии. Поддерживаются интерфейсы SPI, I2C, RS232, Zigbee, Bluetooth, IrDA, LIN, CAN, TCP/IP, USB, Webserver, GPS и RFID. В программном пакете есть инструмент для рисования передней панели создаваемого прибора и составные элементы для кнопок, клавиатур, выключателей, LED, LCD, сенсоров, внутренней EEPROM, 7-сегментных дисплеев.

Существует 4  варианта программы: для контроллеров AVR, PICmicro, dsPIC/PIC24 и ARM. Есть возможность экспортировать написанную, например, под PIC-микросхемы программу в код для AVR или наоборот.

В комплекте с Flowcode предлагается приобрести индустриальный контроллер управления MIAC (Matrix Industrial Automotive Controller). Он собран на 18-разрядном PICmicro. MIAC соответствует всем стандартам, имеет сетевой интерфейс CAN, программное обеспечение Flowcode позволяет программировать его через USB порт.

Flowcode доступен более чем на 20 языках, включая русский. Для корректной работы компилятора рабочие проекты должны быть сохранены по адресу, не имеющему кириллических символов.

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

Распространение программы: платная от £49. Есть бесплатная версия с ограничениями и только для микроконтроллеров PIC

Официальный сайт Flowcode: http://www.matrixmultimedia.com/

Скачать Flowcode

Обсуждение программы на форуме

Flowcode - Программное обеспечение для проектирования электронных систем

Что такое Flowcode?

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

  • Flowcode - это усовершенствованная интегрированная среда разработки (IDE) для разработки электронных и электромеханических систем.Инженеры - как профессиональные, так и академические - используют Flowcode для разработки систем управления и измерения на основе микроконтроллеров или надежных промышленных интерфейсов с использованием персональных компьютеров, совместимых с Windows.

    Скачать спецификацию

Flowcode идеально подходит для программирования устройств PIC, включая 8-, 16- и 32-разрядные микроконтроллеры Microchip. Это также простое и эффективное решение для программирования устройств на базе Atmel AVR, Arduino и ARM.

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

  • Гибкость микроконтроллера

    Flowcode дает вам возможность легко и гибко работать с несколькими вариантами микросхем. Если вы изучаете и разрабатываете простые конструкции с использованием 8-битных микроконтроллеров PIC или Arduino, или вам нужно больше мощности и выбираете 32-битные устройства PIC или ARM, Flowcode идеально подходит для вас.Более того, Flowcode упрощает перенос кода, что означает, что вы можете легко переключать целевые устройства.

  • Flowcode экономит время

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

  • Тестирование и отладка

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

  • Не подходит для программирования

    Те, у кого нет опыта программирования или почти не имеют опыта, могут использовать Flowcode без каких-либо препятствий. Последняя версия включает ряд шаблонов для популярных плат разработки, включая ряд устройств Microchip. В считанные минуты новички могут приступить к разработке электронных систем с использованием графической IDE. Для инженеров-механиков и других инженеров Flowcode идеально подходит для обучения и изучения основных принципов работы микроконтроллеров.

  • Расширенное моделирование

    Совместимость

    Flowcode с пакетами 3D CAD, включая DesignSpark Mechanical и Solidworks, означает, что те, кто разрабатывает электромеханические конструкции, теперь могут характеризовать и моделировать их в Flowcode. Благодаря усовершенствованному 3D-движку пользователи могут тестировать проекты перед развертыванием на микроконтроллерах или работать только в режиме моделирования.

  • БЕСПЛАТНАЯ версия

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

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-block2 теперь также поддерживает 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)!

Начало работы с программированием с помощью кода потока

Рисунок 1: Обзор кода потока

Что такое Flowcode

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

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

Если вы предпочитаете видеоурок, посмотрите это видео, чтобы узнать больше о Flowcode:

Эти программы могут управлять внешними устройствами, подключенными к микроконтроллеру, такими как светодиоды, ЖК-дисплеи, модемы GSM / GPRS, 3D-принтеры, Bluetooth, мотор или считывать внешние устройства, подключенные к микроконтроллеру, такие как переключатели, клавиатура, влажность SHT21, температура LM75B, акселеромет и др. В Flowcode также поддерживаются различные протоколы связи, такие как CAN, I 2 C Master, LIN Master, LIN Slave, One Wire, RS232, SPI Master, TCP Base, TCPIP, USB HID, USB Serial, USB Slave, Visi (4DSystems ), Веб сервер.

После того, как вы разработали свою блок-схему, вы можете смоделировать свой проект, чтобы увидеть, как он будет вести себя после компиляции и передачи на выбранный вами микроконтроллер, например, 8-битные микроконтроллеры PIC (PIC10F, PIC12F, PIC16, PIC18F), dsPIC, PIC24, PIC32 микроконтроллеры.Устройства AVR и микроконтроллеры ARM, включая популярное семейство STM32 ARM, также поддерживаются в Flowcode.

Flowcode также поддерживает MIAC - Matrix Industrial Automotive Controller - это полностью специализированный промышленный электронный контроллер, предназначенный для работы с типичными промышленными управляющими напряжениями: входы 0-10 В, выходы двигателей до 24 В, реле переключения 240 В. MIAC дает вам надежность и мощность ПЛК с гибкостью и простотой программирования контроллера. Пользователи имеют ПЛК, который легко программировать, надежен и идеально подходит для тяжелых промышленных условий.

Рисунок 2: ПЛК MIAC

Flowcode с Arduino

Рисунок 3: Flowcode с Arduino

С Flowcode вы не ограничены только одним типом микроконтроллера, обладая теми же навыками, вы можете программировать множество других микроконтроллеров без необходимости учиться использовать различные программные инструменты, как если бы вы не использовали Flowcode. С Flowcode вы можете программировать графически с помощью перетаскивания различных плат Arduino, таких как Arduino Uno, Arduino Mega, Arduino Yun и многие другие.

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

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

Чтобы узнать больше о Flowcode с Arduino, прочтите эту статью:

Начало работы с Flowcode для Arduino

Flowcode с Raspberry Pi

Чтобы сделать вещи еще более интересными, начиная с Flowcode версии 8, теперь вы можете программировать даже Raspberry Pi! Если вы работаете с моделью Raspberry Pi 2B (v1.2), 3B или 3B +, вы защищены! Не нужно изучать новый язык, такой как Python, C, C ++, Java, Scratch или Ruby, чтобы использовать всю мощь Raspberry Pi, теперь вы можете сделать это самым простым способом с помощью Flowcode Graphically с помощью перетаскивания.

Преимущества Flowcode

  • Более широкий диапазон компонентов: Flowcode загружен большим количеством компонентов и включает программное обеспечение для создания компонентов, позволяющее пользователям создавать свои собственные конструкции: электрические и механические компоненты.от простых переключателей и светодиодов до более сложных протоколов связи, включая шину CAN, Bluetooth, USB, Ethernet, Wi-Fi и многие другие. Это упрощает и ускоряет разработку программного обеспечения. Вы можете найти полный список компонентов в техническом описании Flowcode
  • .
  • Моделирование: Flowcode имеет превосходные возможности моделирования. Самое замечательное в моделировании заключается в том, что она позволяет вам протестировать ваш проект на экране перед его развертыванием. Это экономит время. Моделирование также позволяет вам установить сценарии для вашего проекта, чтобы протестировать его в большем количестве условий, чем вы найдете на стенде.
  • Встроенный тест : Flowcode теперь включает полную поддержку 3D и ряд вызовов API, которые позволяют инженерам работать на системном уровне. Flowcode теперь может моделировать полные механические системы, такие как плоттеры и 3D-принтеры. 3D-движок и вызовы API облегчают другие типы проектирования и моделирования: от нагрева воды в резервуарах с использованием алгоритмов PID до робототехники. Файлы 3D-дизайна для электромеханических деталей теперь находятся в свободном доступе, их можно легко импортировать в Flowcode и использовать в проектах инженеров.
  • Инжекторы данных : Некоторые из наиболее распространенных компонентов на основе коммуникаций имеют встроенную возможность использовать компонент инжектора данных, позволяющий имитировать внешнюю часть коммуникационной шины. Инжекторы данных предназначены для воспроизведения функций определенного внешнего интерфейса без добавления чего-либо к загружаемому коду, отправляемому на встроенное устройство. Вот текущие включенные инжекторы данных: основание инжектора, инжектор AT, инжектор CAN, инжектор DS1307, инжектор GPS, инжектор интерфейса пользователя и инжектор Vnet

Рисунок 4: Обзор Flowcode v6

Основные характеристики Flowcode

Flowcode значительно улучшился по сравнению с версией 6, в нем улучшено моделирование, теперь вы можете проектировать и моделировать в 2D или 3D, это позволит вам построить полную электронную систему на экране, разработать программу на основе стандартных блок-схем, смоделировать систему, а затем уверенно разверните ее.

Рисунок 5: Панель 3D-системы и панель 2D-панели

Теперь есть две отдельные панели по сравнению с одной панелью в предыдущей версии (версия 5 и более ранние).

Панель приборной панели и системная панель разработаны так, чтобы дополнять друг друга, панель приборной панели - это двумерное рабочее пространство, предназначенное для отображения и имитации элементов управления, таких как кнопки, переключатели, циферблаты, ручки и ползунки, а также показания, такие как измерители, шкалы и т. Д. цифры, такие как температура, время и измерения, в то время как панель «Система» предоставляет реальную основу для загрузки компонентов Flowcode.Он предназначен для демонстрации физического представления компонентов реального мира во время моделирования в 3D.

  • Поддержка Arduino и Raspberry Pi: помимо большого количества поддерживаемых микроконтроллеров: PIC10, 12, 16, 18, dsPIC, серии PIC24, AVR и ARM, теперь поддерживаются популярные Arduino и Raspberry Pi. Flowcode имеет огромные преимущества по сравнению с программной платформой и компилятором, используемыми Arduino, и именно здесь пользователи могут действительно извлечь выгоду из использования среды Flowcode. Интуитивно понятный графический стиль программирования Flowcode означает, что Flowcode дает преимущество в простоте разработки.
  • Flowcode включает полный API с поддержкой DLL. Это означает, что во время моделирования и в режиме тестирования в цепи вы можете управлять любым сторонним прибором, который предоставляет DLL, и разрабатывать полную систему SCADA
  • .
  • Dashboard HMIs - человеко-машинный интерфейс: компоненты показывают вашу систему во время моделирования и внутрисхемного тестирования с помощью интуитивно понятных дисплеев, включая измерители, графики, осциллографы и таблицы.

Рисунок 6: HMI приборной панели

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

Лицензирование Flowcode

На момент написания этой статьи последней версией Flowcode является Flowcode 8, у нее есть следующие варианты лицензирования:

  • Бесплатная версия: Вы можете начать работу с бесплатной версией, не тратя ни цента.Эта версия предлагает вам ограниченный доступ к некоторым целям и компонентам микроконтроллера, но все же достаточно хороша для студентов и любителей. Вот некоторые из бесплатных целей: Arduino Lilypad 328, Arduino Uno R3, MIAC, AT91SAM7S128,
    16F18877, 16F1937, 16F84A, 16F877A, 16F88, Matrix Project Board (18F24K50), Matrix Proto Board (18F24K50), Microchip Curiosity, Microchip Curiosity, Microchip Curiosity. Microchip PICkit, ChipKIT Uno32, ChipKIT WF32 и многие другие.
  • 30-дневная пробная версия: Вы можете бесплатно попробовать Flowcode в течение 30 дней со всеми функциями, загрузив 30-дневную пробную версию.
  • Стандартная лицензия: Стандартная лицензия предназначена для пользователей-любителей и энтузиастов, которые могут создавать проекты для использования дома.
  • Professional Лицензия: Лицензия Flowcode Professional позволяет пользователям использовать сгенерированный код в коммерческих продуктах. Вы можете настроить свою лицензию, добавив линейные функции и нужную микросхему. Для получения дополнительной информации нажмите Buy Flowcode, чтобы купить новую лицензию или обновить существующую.
  • Академическая лицензия: Flowcode предлагает академические лицензии клиентам, которые являются либо студентами, либо преподавателями академического учреждения.Образовательные лицензии содержат все доступные функции, а также выбранный «Chip Pack». Академические лицензии дешевле по сравнению со стандартными или профессиональными лицензиями. Если вы заинтересованы в приобретении лицензии Flowcode Academic, нажмите Купить Flowcode и выберите Academic, затем перейдите к следующему шагу, где вам будет предложено заполнить форму, и они свяжутся с вами.

Дополнительные опоры

Чтобы узнать больше о Flowcode, посетите вики-страницу Flowcode или посмотрите некоторые из наших видео на YouTube.

Flowcode Wiki

Flowcode для PIC Tutorials

Flowcode для руководств Arduino

Для получения дополнительной информации посетите их веб-сайт по адресу: Matrix Technology Solutions

Flowcode 7 и DesignSpark: Делайте больше, используйте Flowcode

Этим летом британская технологическая компания Matrix TSL выпустила новое захватывающее программное обеспечение.

Здесь мы расскажем вам больше о том, чего ожидать от Flowcode 7; программное обеспечение, позволяющее разрабатывать сложные электронные системы для развертывания на микроконтроллерах от Arduino, PIC (8 бит, 16 бит и 32 бит), AVR и ARM.

Прошло три года с момента запуска Flowcode 6, еще в сентябре 2013 года. В то время он считался самым передовым программным обеспечением для проектирования систем, которое когда-либо поставляла команда разработчиков Matrix.

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

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

Новый интерфейс Flowcode позволяет пользователям легко разрабатывать сложные программы для микроконтроллеров, включая PIC и Arduino. Flowcode экономит время инженеров, позволяя им писать код без необходимости использования текстовых языков, таких как C.

Почему выбирают Flowcode?

  1. Простота в использовании и экономия времени : Графическое программирование делает Flowcode программным обеспечением, которое выбирают тысячи инженеров по всему миру для быстрого создания сложных электронных систем, независимо от предыдущего опыта программирования.
  2. Тестирование и отладка : Возможность Flowcode тестировать и отлаживать ваши проекты для обеспечения точности делает его полезным инструментом для обеспечения максимальной эффективности процесса вывода продукта на рынок.
  3. Инженеры-механики : Электромеханическое проектирование стало возможным благодаря совместимости Flowcode с пакетами 3D CAD, такими как DesignSpark Mechanical. Пользователи могут просто и эффективно разрабатывать электронные конструкции для механических изделий.
  4. Гибкость микроконтроллера : Благодаря большему количеству вариантов микроконтроллеров на рынке, чем когда-либо прежде, способность Flowcode работать с 8-битными PIC, 16-битными PIC, 32-битными PIC, AVR / Arduino и целевыми устройствами ARM означает, что переключаться между микроконтроллерами в процессе работы очень просто. конструкции.
  5. Это БЕСПЛАТНО. : Flowcode 7 можно бесплатно загрузить с сайта DesignSpark. Это дает пользователю доступ к ряду полезных компонентов, ряду целевых устройств от 8-битных до 32-битных микроконтроллеров PIC, Arduino, ARM и многому другому. Профессиональные и более продвинутые версии Flowcode пользователи смогут покупать в RS онлайн.

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

Пример демонстрационной платы PICkit 3 с низкими выводами от Microchip (DM164130-9). Доступный в RS, это будет одна из ряда предустановленных плат для разработки Microchip, доступных в бесплатной версии Flowcode 7.

Дальнейшее путешествие

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

Например, тенденция к совместному изучению электроники и механики в образовании подразумевала, что Flowcode должен больше привлекать инженеров-механиков, так же как и инженеров-электронщиков. В результате панель 3D-системы и 3D-моделирование были введены в Flowcode 6 с большим эффектом.

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

Также с появлением Flowcode 6 появилась расширенная библиотека компонентов, в которую вошли многие новые электронные компоненты и компоненты для моделирования. Теперь пользователи могут создавать свои собственные электронные компоненты и добавлять их в свою библиотеку.

Итак, что дальше?

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

3D-импорт моделей в Flowcode 7 - это одна из областей, в которой произошли значительные улучшения.Используя такие пакеты, как DesignSpark Mechanical, пользователи могут быстро и легко разрабатывать 3D-модели и сборки, а затем экспортировать файлы и открывать их в Flowcode. После этого легко определить характеристики электромеханических элементов конструкции, заставив двигатели двигаться, приводы и сервоприводы и т. Д.

Здесь мы видим автокресло, разработанное в DesignSpark Mechanical и импортированное в Flowcode. Затем пользователи определяют характеристики двигателей и исполнительных механизмов на сиденье с помощью микроконтроллера и Flowcode.Это можно сделать в моделировании или с использованием реального оборудования.

Отладка также поднялась на новый уровень. Новый улучшенный регистратор данных наряду с новым 4-канальным осциллографом с запуском будет запущен в Flowcode. Более того, это сделает технологию Ghost на оборудовании Matrix E-block проще и быстрее, чем когда-либо прежде. Это революционизирует возможности как тех, кто учится, так и тех, кто разрабатывает продукты.

Еще одна функция, которая будет представлена ​​в Flowcode 7, - это профилирование кода (см. Изображение ниже).Эта функция показывает, когда значки были «нажаты» во время запуска моделирования, выделяя разделы кода, которые могут считаться избыточными, и другие части, которые выполняются чаще и могут нуждаться в оптимизации для повышения эффективности программы.

Более быстрая компиляция

Одной из ключевых особенностей Flowcode 7 является скорость, с которой Flowcode компилирует проекты для популярных целевых устройств PIC, включая 8-, 16- и 32-битные микросхемы. Работая с Microchip, компиляторы XC были включены в следующую версию, что повысило скорость компиляции устройств PIC более чем в десять раз по сравнению с предыдущей версией Flowcode.

Больше для профессиональных инженеров

С момента запуска Flowcode 6 количество профессиональных пользователей быстро увеличилось, и теперь тысячи профессиональных инженеров используют Flowcode на работе и дома. Имея это в виду, версия 7 впервые поддерживает 32-битные целевые устройства PIC.

В дополнение к бесплатной версии будут представлены два типа платных лицензий Flowcode, которые будут доступны для покупки через RS онлайн этим летом.

Flowcode 7 стандартное издание

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

Эта версия Flowcode доступна в пяти отдельных вариантах целевого устройства; 8-битный PIC, 16-битный PIC, 32-битный PIC, AVR / Arduino и ARM.

Flowcode 7, профессиональная версия

Предоставляя те же возможности, что и стандартная версия Flowcode 7, профессиональная версия также (что очень важно) дает пользователю «коммерческие» права на использование Flowcode в промышленных средах и на коммерческих предприятиях.

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

Опять же, эта версия Flowcode доступна в пяти отдельных вариантах целевого устройства; 8-битный PIC, 16-битный PIC, 32-битный PIC, AVR / Arduino и ARM.

Полная поддержка

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

Хорошо выглядит

Что-то, что было четко обозначено с самого начала разработки Flowcode 7, - это необходимость войти в современную эру разработки программного обеспечения и взглянуть на новый внешний вид, ощущения и пользовательский интерфейс для Flowcode. Изучив мнения ряда существующих пользователей Flowcode и приняв во внимание то, как другое программное обеспечение обеспечивает простой и удобный интерфейс, Flowcode 7 представляет свежий пользовательский интерфейс, который, мы надеемся, даст вам; больше пространства для разработки, улучшенная графика, лучшая поддержка устройств с сенсорным экраном, простота (через режимы для начинающих и экспертов) и более чистый вывод кода C.


Новый пользовательский интерфейс Flowcode изящный и современный. Пользователи могут легко настраивать свои блок-схемы, чтобы определять определенные области кода, и им помогает мощный 3D-инженер, совместимый с DesignSpark Mechanical.

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

Flowcode БЕСПЛАТНО

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

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

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

Бесплатную версию Flowcode 7 только для моделирования можно загрузить, щелкнув здесь.Стандартные и профессиональные лицензии Flowcode можно приобрести сегодня, посетив RS Online (щелкните здесь).

Программные микроконтроллеры

с чертежами - кодирование не более

Группа инженеров по обучению

Команда опытных инженеров, делящихся знаниями со всем миром

Группа инженеров по обучению - ведущая команда в индустрии микроконтроллеров с более чем 13 лет опыта в обучении и выполнении практических проектов.

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

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

Группа инженеров по обучению занимается программированием и микроконтроллерами с 2007 года .Мы участвовали во многих проектах. За эти годы мы получили хорошее представление о потребностях студентов и преподавателей. Мы стремимся делиться с вами всеми нашими коллективными знаниями. По состоянию на 2018 год мы уже обучили более 250 тыс. Студентов, из них .

В настоящее время у нас более 100 курсов по Удеми

Педагог и автор «Образовательной инженерии».

Ашраф - педагог, инженер мехатроники, любитель электроники и программирования, а также производитель .Он создает онлайн-видеокурсы на канале EduEng на YouTube (более 4 миллионов просмотров, более 20 тысяч подписчиков) и автор четырех книг о микроконтроллерах.

В качестве главного инженера по вопросам образования с 2007 года в компании Educational Engineering Team, которую он основал, миссия Ашрафа заключается в изучении новых тенденций и технологий, а также в обучении мира и улучшении его положения.

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

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

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

Его страсть к микроконтроллерам и программированию и, в частности, к миру Arduino, микроконтроллеров PIC, Rasberry Pi руководил своим личным развитием и своей работой через образовательную инженерию.

Онлайн-курсы Ashraf помогли более 250 000 человек со всего мира стать лучше и сделать отличную карьеру в отрасли.

Группа инженеров по обучению предлагает курс по

Проектирование схем, моделирование и изготовление печатных плат

Arduino, микроконтроллер PIC и Raspberry Pi

Программирование на C, Python и других языках программирования

Промышленное программирование и автоматизация ПЛК

3D-дизайн и моделирование

ESP и IoT World

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

Встроенная универсальная интерфейсная плата - Управление USB / Bluetooth / WIFI: 6 шагов

После того, как протокол установлен, можно приступить к реализации функций на оборудовании.


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

Конечный автомат состоит из трех состояний:

1) Ожидание команд

2) Прием параметров

3) Ответ

Три состояния взаимодействуют следующим образом:

1) Мы просматриваем входящие байты в буфере пока у нас не будет байт, в котором установлен самый старший бит. Получив такой байт, мы сравниваем его со списком известных команд. Если мы находим совпадение, мы назначаем количество байтов параметра и возвращаем байты в соответствии с протоколом.Если байтов параметров нет, мы можем выполнить команду здесь и либо перейти к состоянию 3, либо перезапустить состояние 1. Если есть байты параметров, мы переходим к состоянию 2.

2) Мы просматриваем входящие байты, сохраняя их, пока не сохранили все параметры. Когда у нас есть все параметры, мы выполняем команду. Если есть байты возврата, мы переходим к этапу 3. Если нет байтов возврата для отправки, мы возвращаемся к этапу 1.

3) Мы просматриваем входящие байты и для каждого байта мы перезаписываем байт эха допустимым возвратом. байт.После того, как мы отправили все байты возврата, мы вернемся к этапу 1.

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

Первым шагом является установление связи с ПК. Для этого микроконтроллер должен быть настроен для работы с нужной скоростью, и мы должны добавить код для управления периферийными устройствами USB и UART. В Flowcode это так же просто, как перетащить в проект компонент USB Serial и компонент UART из меню компонентов Comms.

Мы добавляем прерывание RX и буфер для перехвата входящих команд на UART, и мы регулярно опрашиваем USB. Затем мы можем на досуге обработать буфер.

Прилагаются проект Flowcode и сгенерированный код C.

PFC | Миннеаполис США - Itasca Consulting Group, Inc.

Описание

PFC (Код потока частиц) - это структура общего назначения для моделирования отдельных элементов (ЦМР), которая доступна в виде двух- и трехмерных программ ( PFC 2D и PFC 3D соответственно). PFC Suite включает как PFC 2D , так и PFC 3D . PFC 2D также можно приобрести отдельно.

PFC моделирует синтетические материалы, состоящие из набора жестких частиц различного размера, которые взаимодействуют в контактах, представляя как гранулированные, так и твердые материалы. Модели PFC моделируют независимое движение (поступательное движение и вращение) и взаимодействие многих твердых частиц, которые могут взаимодействовать в контактах на основе внутренней силы и момента.Формы частиц могут включать диски в 2D или сферы в 3D, жестко связанные «группы» дисков в 2D или сферы в 3D и выпуклые многоугольники в 2D или многогранники в 3D. Контактная механика подчиняется законам взаимодействия частиц, которые обновляют внутренние силы и моменты. PFC включает двенадцать встроенных моделей контактов с возможностью добавления пользовательских моделей контактов C ++ (UDM).

Доступны бессрочные, ежемесячные и годовые лицензии на аренду, защищенные либо локальным USB-ключом (который является переносным), либо многопользовательским сетевым USB-ключом.Квалифицированные академические учреждения имеют право на специальные скидки.

Приложения

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

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

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

PFC не имеет опций, и следующие инструменты анализа включены в PFC .

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

Модели контактов C ++: Позволяет пользователям добавлять новые модели контактов (реакция силы-смещения между частицами) в PFC с использованием сценариев C ++. Этот компонент обеспечивает гибкость для включения физики, относящейся к конкретным задачам, в структуру отдельных элементов.

.

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

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