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

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

Внимание! В электронном архиве опубликована 5 глава нашего пособия "Scratch и Arduino для юных программистов и конструкторов" в формате pdf для свободного доступа. В этой главе, в частности, детально описывается установка расширения  Advanced Arduino

.

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

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;

  };

};

  };

};