mBlock3: расширение Advanced Arduino v1.0

Автор А.Т.Григорьев

Загрузить  расширение

Download
Advanced Arduino Extension v1.0
AdvancedArduino.zip
Compressed Archive in ZIP Format 4.7 KB

Что такое  "AdvancedArduino"

Download
demo.sb2
Compressed Archive in ZIP Format 73.8 KB

"AdvancedArduino" - это расширение для среды программирования mBlock, которое может применяться вместо стандартного расширения "Arduino", и предоставляет следующие дополнительные возможности при работе в режиме "Arduino mode":

  • использование графических блоков для ряда наиболее востребованных  библиотечных функций Arduino IDE (min(), max(), constrain(), map(), pow()), предназначенных для преобразования значений;
  • использование дополнительных графических блоков для работы с последовательной шиной Serial, а также Serial2;
  • использование в именах графических блоков преимущественно стандартных названий библиотечных функций;
  • использование графических блоков (блоки "def" и "code"), позволяющих вставлять произвольные фрагменты текстового кода на языке программирования "Wire" в скетч Arduino IDE, генерируемый средой mBlock;
  • использование в текстовом коде любых библиотечных функций Arduino IDE;
  • определение в текстовом коде пользовательских функций, возвращающих значения произвольного типа;
  • определение в текстовом коде глобальных и локальных переменных и параметров функций произвольного типа, включая массивы.

Внимание! Среда mBlock генерирует скетч Arduino IDE, используя тип "double" для всех переменных и параметров функций, создаваемых в визуальном режиме. Не забывайте при необходимости использовать операцию явного преобразования значения к другому типу - int(), byte(), String().

 

Установка расширения  AdvancedArduino 

Первый способ установки

  • Запустите mBlock и выберите в меню команду "Manage Extensions " ("Extensions ", "Manage Extensions "). С сайта MakeBlock будет загружен список доступных расширений (потребуется интернет-соединение).
  • Наберите "AdvancedArduino" (без кавычек) в строке фильтрации ("Search"). Список сократится до одного элемента.
  • Нажмите на кнопку "Загрузить" найденного элемента "AdvancedArduino ".

Второй способ установки

  • Загрузите или скопируйте файл "AdvancedArduino.zip" на свой компьютер.
  • Запустите mBlock и выберите в меню команду "Manage Extensions " ("Extensions ", "Manage Extensions "), нажмите на кнопку "Add Extension".
  • Выберите тип файла "zip-file", пролистайте до загруженного архива, нажмите на кнопку "Открыть".

При наличии вопросов пользуйтесь дополнительными инструкциями разработчиков Makeblock:

http://www.mblock.cc/docs/create-extensions-for-mblock/

 

 

Примеры использования расширения  AdvancedArduino 

 

Пример 1.

Блоки с текстовым кодом Arduino IDE в графическом скрипте.

Внимание! Содержимое графических блоков code() и def() при генерации скетча Arduino IDE попадает ВНУТРЬ комментария, определенного с использованием директив /* и */. Для того, чтобы фрагмент кода начал использоваться компилятором, В НАЧАЛЕ необходимо поставить ЗАКРЫВАЮЩУЮ "скобку" ( */ ), а В КОНЦЕ - ОТКРЫВАЮЩУЮ ( /* ).

Имейте ввиду, что mBlock самостоятельно добавляет в скетч Arduino IDE команды pinMode() лишь в том случае, когда встречает в графическом скрипте блоки, подобные "digitalRead" и "digitalWrite".

Download
Sample 1 - Advanced Arduino Program.sb2
Compressed Archive in ZIP Format 73.2 KB

 

Пример 2.

Глобальные и локальные переменные, массивы и функции, возвращающие значения.

Обратите внимание, глобальная переменная "SizeOfArray" имеет тип double, в данном примере используется явное преобразование значения к другому типу: byte(SizeOfArray)

Download
Sample 2 - Advanced Arduino Program 2.sb
Compressed Archive in ZIP Format 73.6 KB

 

Пример 3.

Графические блоки с библиотечными функциями Arduino IDE.

Download
Sample 3 - Advanced Arduino Program.sb2
Compressed Archive in ZIP Format 73.3 KB

 

Пример 4.

"Построчное" добавление фрагментов текстового кода.

Обратите внимание, в текстовое поле отмеченного графического блока "Serial println" необходимо ввести символ <пробел> (ASCII 32), в этом случае mBlock добавляет в скетч Arduino IDE команду Serial.println(). Если внутри текстового поля - пустая строка, генерируется команда Serial.println(0).

Download
Sample 4 - Advanced Arduino Program.sb2
Compressed Archive in ZIP Format 73.6 KB

 

Пример 5.

Включение текстового кода, сохраненного в текстовом файле на диске.

Download
Sample 5 - Advanced Arduino Program.sb2
Compressed Archive in ZIP Format 73.5 KB

На диске должен располагаться текстовой файл с соответствующим именем и содержанием. При необходимости поменяйте путь к этому файлу в своем скрипте.

Содержание текстового файла:

 

 

 

void ascendingSort(int dt[], int SizeOfArray) {

  for (int i=0;i<SizeOfArray;i++) {

    for (int j=i+1;j<SizeOfArray;j++) {

  if (dt[i]>dt[j]) {

    int temp=dt[i];

dt[i]=dt[j];

dt[j]=temp;

  };

};

  };

};