Flowcode with arduino

Arduino Programming

Visual Interfaces

Using Flowcode allows you to program your Arduino with different visual programming interfaces, e.g. flowchart or blocks mode.

Debug your code

Step through your code, view variables in real time, set break points, simulate your hardware. Fully debug your code with Flowcode.

Free for Arduino Uno users

Users of the Uno can compile to their device for free, along with many free components to get started with Flowcode.

Try Flowcode Today

Why use Flowcode?

The Arduino prototyping hardware platform has a large following of educators and enthusiasts around the world. Flowcode can target and program Arduino hardware directly. E-blocks hardware is also available to provide access to modular plug and play circuitry as well as debugging support.

  • Syntax-free coding
  • Drag and drop of coding icons
  • Simulation of Arduino projects
  • Inbuilt test-and-debug
  • Multiple programming modes
  • C code editing and conversion
  • Simple porting between devices
  • Drag and drop of programming libraries

Building on the Arduino model

Flowcode — A graphical flowchart representation of the program, although C code can be added by the user. Functionality is extended with components which offer functions (macros) to control internal and external hardware features. Additional benefits include simulation and debugging.

Arduino — Adds in-built and user-generated libraries to extend the basic functionality of the underlying C/C++ language.

C / C++ — Basic functionality only, although the language can be supplemented by adding pre-built functions.

Источник

Arduino Programming

Visual Interfaces

Using Flowcode allows you to program your Arduino with different visual programming interfaces, e.g. flowchart or blocks mode.

Debug your code

Step through your code, view variables in real time, set break points, simulate your hardware. Fully debug your code with Flowcode.

Free for Arduino Uno users

Users of the Uno can compile to their device for free, along with many free components to get started with Flowcode.

Try Flowcode Today

Why use Flowcode?

The Arduino prototyping hardware platform has a large following of educators and enthusiasts around the world. Flowcode can target and program Arduino hardware directly. E-blocks hardware is also available to provide access to modular plug and play circuitry as well as debugging support.

  • Syntax-free coding
  • Drag and drop of coding icons
  • Simulation of Arduino projects
  • Inbuilt test-and-debug
  • Multiple programming modes
  • C code editing and conversion
  • Simple porting between devices
  • Drag and drop of programming libraries

Building on the Arduino model

Flowcode — A graphical flowchart representation of the program, although C code can be added by the user. Functionality is extended with components which offer functions (macros) to control internal and external hardware features. Additional benefits include simulation and debugging.

Arduino — Adds in-built and user-generated libraries to extend the basic functionality of the underlying C/C++ language.

C / C++ — Basic functionality only, although the language can be supplemented by adding pre-built functions.

Источник

Component: API (Arduino Uno) (API Slave Devices)

Author Matrix TSL
Version 2.0
Category API Slave Devices

Contents

API (Arduino Uno) component

Connects to an Arduino Uno running the API Firmware allowing the board to become a slave to the Flowcode Embedded simulation or Flowcode App Developer. Supports: Digital IO / ADC / I2C / SPI / PWM See Flowcode Help Wiki for firmware.

Component Pack

Detailed description

The App Developer (Arduino Uno) component allows an Arduino Uno board to be controlled from within the Flowcode simulation runtime.

To allow Flowcode to communicate and control the Arduino Uno hardware the board must first be pre-programmed with dedicated firmware.

The firmware hex file and Flowcode source project can be downloaded from here.

More information about the workings of the firmware project can be found on the FiniteStateMachine page.

The COM port to the Arduino hardware is selected via the App Developer_Ard_Uno componennt COM port property.

When building the component into a App Developer project remember to expose the COM port property to allow the end user to select the correct port for the hardware.

The console window can display data in two modes which is set via a component property.

  • fixed statistics showing IO / ADC inputs / PWM
  • scrolling log showing all commands and returns

Examples

Pin Mapping

Here is a table showing how the App Developer Slave digital pins are mapped on the device.

App Developer Slave Digital Pin 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Device Port Pin D0 D1 D2 D3 D4 D5 D6 D7 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5
Arduino Style Pin 0 1 2 3 4 5 6 7 8 9 10 11 12 13 A0 A1 A2 A3 A4 A5

Here is a table showing how the App Developer Slave analogue pins are mapped on the device.

App Developer Slave Analogue Pin 0 1 2 3 4 5
Device Port Pin C0 C1 C2 C3 C4 C5
Arduino Style Pin A0 A1 A2 A3 A4 A5

Here is a table showing how the App Developer Slave peripheral pins are mapped on the device.

App Developer Slave Peripheral Pin I2C SDA I2C SCL SPI MOSI SPI MISO SPI SCK PWM 0 PWM 1 PWM 2 PWM 3 PWM 4 PWM 5 OneWire Servo 0 Servo 1 Servo 2 Servo 3 Servo 4 Servo 5 Servo 6 Servo 7
Device Port Pin C4 C5 B3 B4 B5 D6 D5 B1 B2 B3 D3 D2 D2 D3 D4 D5 D6 D7 D8 D9
Arduino Style Pin A4 A5 11 12 13 6 5 9 10 11 3 2 2 3 4 5 6 7 8 9

Direct Slave Access

Here is a simple demo to switch on and off digital pin 5.

Rapid Development — Virtualised SPI

A feature of the App Developer Slave interface is to use the component for rapid development.

The App Developer Slave hardware can be used to take communications from the Flowcode simulation and transfer them to a real world device allowing for easy code generation and test without having to download to a target microcontroller device.

The CS pin and SPI Prescaler are set via the properties of the Injector component.

The SPI Master component is linked to the Injector component via the Injector property.

The Injector component is linked to the App Developer Slave component via the App Developer Slave property.

Rapid Development — Virtualised I2C

A feature of the App Developer Slave interface is to use the component for rapid development.

The App Developer Slave hardware can be used to take communications from the Flowcode simulation and transfer them to a real world device allowing for easy code generation and test without having to download to a target microcontroller device.

The I2C Master component is linked to the Injector component via the Injector property.

The Injector component is linked to the App Developer Slave component via the App Developer Slave property.

Rapid Development — Virtualised UART

A feature of the App Developer Slave interface is to use the component for rapid development.

The App Developer Slave hardware can be used to take communications from the Flowcode simulation and transfer them to a real world device allowing for easy code generation and test without having to download to a target microcontroller device.

The Baud rate and optional RS485 Properties are set via the properties of the Injector component.

The UART component is linked to the Injector component via the Injector property.

The Injector component is linked to the App Developer Slave component via the App Developer Slave property.

Источник

Ledrunning ╔═(███)═╗

Electronics and coding

Avrdude, Flowcode и Arduino Leonardo.

Всем снова привет! Как-то раз решил попробовать программирование мышкой найдя в интернете продукт под названием Flowcode v5. На тот момент существовали две версии, для микроконтроллеров PIC и AVR, а так же Arduino. Интерфейс в виде рисования алгоритма блок схемами (похоже на диаграмму активностей без распараллеливания). Написать простую программу можно достаточно быстро. Подробно о программе тут: Flowcode
Используя эту программу за две недели сделал пару проектов на Atmega 32, программировал микроконтроллеры при помощи USBasp и флешера Khazama AVR Programmer. Давно была у меня плата ARDUINO Leonardo лежала без дела, вот и решил попробовать «пощупать» ее. Слышал об этом устройстве не раз, но никогда с ним не работал, да и знакомых работающих на ней нет. Скажу сразу, Arduino IDE не понравилась.

Решил использовать Flowcode, благо 5 версия поддерживает платы Arduino. И с этого момента стали проявляться минусы. Огромный плюс Arduino IDE — загрузка скетча прямо из среды разработки в плату. А это ведь очень удобно. Изучив документацию и программу, понял — что в Leonardo протокол AVR109, и загрузка программ идет по USB через вшитый bootloader. Arduino IDE использует AVRDUDE. Решено! Пробую встроить AVRDUDE во Flowcode v5. И тут началось самое интересное. При подключении Arduino Leonardo к USB с драйверами подтянутыми из родной IDE мы видим виртуальный COM порт №, например 1. Используя AVRDUDE и этот порт залить откомпилированную программу не удастся. Для того что бы запрограммировать плату нам необходимо активировать режим bootloader. Для этого нажимаем один раз кнопку RESET на плате(если bootloader оригинальный от итальянцев), у нас есть порядка 8 секунд, что бы зайти в диспетчер устройств Windows и увидеть там номер виртуального COM порта Arduino leonardo bootloader:

Теперь нам нужно скачать avrdude последней версии и сохранить в корневой каталог диска С. После чего настраиваем Flowecode. При создании нового проекта выбираем Arduino leonardo. Заходим в меню Чип:

Далее в Опции компиляции:

В меню опции компиляции заходим в пункт Programmer:

Указываем путь к AVRDUDE. Прописываем конфигурационную строку для AVRDUDE.
У меня она такая: C:\Avrdude\avrdude.exe avrdude -v -p m32u4 -c avr109 -P COM2 -b 1200 -D -Uflash:w:Flowcode1.hex:i
VCP bootloader у меня COM2, он будет отличаться, поэтому вы должны будете проследить на каком порту он находится в диспетчере задач Windows при нажатии кнопки RESET на плате Arduino Leonardo. -b 1200 — это скорость порта, у меня заработало только на такой. Так же я пока HEX файл копировал в директорию AVRDUDE, поэтому в параметры строки записал еще и имя файла — w:Flowcode1.hex:i.
Проделав эти манипуляции, можем нарисовать классический «Hello World» (мигание светодиодом) для микроконтроллера в среде Flowcode v5 и запрограммировать Arduino. Нарисуем алгоритм «blink»:

После чего компилируем программу. Меню Чип — > Компиляция в HEX. Далее HEX Файл перетаскиваем в папку с AVRDUDE. Открываем меню ЧИП, нажимаем на плате Arduino кнопку RESET, у нас есть 8 секунд, чтобы зашить нашу программу -> Компиляция в Chip:

После этих действий можно наблюдать прогресс:

Все, готово. Смотрим на плату Arduino, наш светодиод должен мигать с указанной в программе задержкой.
PS: Что подвигло написать данную статью. Мало информации в рунете, все разбросанно. Конкретно под Leonardo то же ничего не нашел. Два дня я пытался собирал, и запустил программатор в IDE Flowcode v5 на операционной системе Win7 x64.

Источник

Adblock
detector