Как подключить snap4arduino к arduino
Программируем Arduino с помощью Scratch и mBlock
В данном уроке мы научимся программировать Ардуино на языке программирования Scratch с использованием mBlock. Но во-первых, давайте быстро рассмотрим, что такое Arduino и Scratch, соответственно.
Ардуино платы

Например, для запуска двигателей с заданными интервалами может использоваться плата Arduino, которая подключается к четырем двигателям (плюс к двигателю управления). Вы должны поручить Arduino управлять двигателями с использованием языка программирования, где вы пропишите шаги, а готовую программу загрузите в плату, чтобы проект заработал.
Микроконтроллер имеет собственный язык программирования, хотя этот язык состоит из функций, выведенных из C/C++.
Однако вы можете использовать другие языки для программирования Arduino, как правило, используя сторонний инструмент, такой как Snap4Arduino, ArduBlock и другие. Одной из таких программ является mBlock, которая позволяет использовать визуальный язык программирования Scratch с Arduino.
В этом уроке мы рассмотрим основы использования mBlock для программирования Arduino с Scratch.
Язык программирования Scratch

mBlock
Используя Scratch, некоторые пользователи разработали еще одно дополнение, называемое mBlock. Разница между mBlock и Scratch заключается в том, что mBlock позволяет вам запрограммировать Arduino простым и интерактивным способом.
Интересная вещь mBlock заключается в том, что вы можете увидеть исходный код на C++ после программирования Arduino.
Мигаем светодиодом с использованием mBlock
Давайте используя mBlock начнем с малого, сделав программу, которая заставит мигать светодиод.
Проверьте, насколько это просто:
Суть использования вечного блока заключается в том, что в программе Arduino логика должна быть такой, чтобы она выполнялась в цикле бесконечно. В нашем случае нам нужно снова и снова мигать светодиодом, поэтому во многих случаях использование вечного блока является обязательным, и это облегчает жизнь при программировании Arduino.
Внутри блока forever установите, какой цифровой контакт будет использоваться. Этот может обеспечить высокое или низкое напряжение пина. Итак, если у меня есть светодиод, подключенный к контакту номер 13 Arduino (смотрите ниже), и я хочу включить его, я буду использовать «set digital pin 13 output HIGH», и мой светодиод загорится.
Эта программа использует задержки (delays) для приостановки программы в течение одной секунды между состояниями ON и OFF. Таким образом, мы можем видеть, как светодиод мигает.
Попробуйте подключить Arduino к светодиоду, как показано выше, и запустить код после подключения Arduino к компьютеру (убедитесь, что вы выбрали правую плату и последовательный порт с mBlock). Для этого вам обязательно нужна программная среда Arduino IDE.
Затем запустите код. Вы сможете увидеть, что светодиод мигает.
Это хороший инструмент для начинающих. Попробуйте изучить другие блоки и посмотреть, что вы можете сделать!
Arduino goes lambda!
Snap4Arduino 6 released on September 1st 2020
Download desktop versions or play it online
Online needs a Chrome/Chromium browser with the Snap4Arduino Connector extension (download it or install it directly on your Chromebook)
What is it?
Snap4Arduino is a modification of the Snap! visual programming language that lets you seamlessly interact with almost all versions of the Arduino board.
You can see a short example of what you can do with it in the video at the rightmost column.
Snap! (formerly BYOB) is an extended reimplementation of Scratch that allows you to Build Your Own Blocks™. It also features first class heterogeneous lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.
Snap! is presented by the University of California at Berkeley. It was developed by Jens Mönig, with design input and documentation by Brian Harvey and contributions by students at Berkeley and elsewhere.
Features
Download
There are currently desktop versions for GNU/Linux, MacOSX and Microsoft Windows, a web version (available online, requires a Chrome/Chromium plugin), and other experimental versions.
The project and all its components (including Snap!) are registered under public free software licenses (AGPLv3 and MIT), so you can download the sources and pretty much do whatever you want with them!
Please download the version that matches your operating system. Current version: 6.2 released on 01/09/2020
MS Windows installer (32 bits)
MS Windows portable (32 bits)
MS Windows installer (64 bits)
MS Windows portable (64 bits)
MacOSX (64 bits)
GNU/Linux (32 bits)
GNU/Linux (64 bits)
Play online
Chrome/Chromium plugin (crx file)
Chrome/Chromium plugin (folder)
Web version source
ChromeOS app (v5.1.0) Command Line (v1.2.4)
Installation
Snap4Arduino requires that you have StandardFirmata installed in your board.
The previous instructions cover the initial setup of your board. If your Arduino board comes with Firmata preinstalled or you have previously installed it yourself, you don’t need to follow them again. Still, to prevent any possible issues with drivers (on Windows) or permissions, it may be a good idea to install the Arduino IDE anyway.
StandardFirmata is the basic requirement for a board to be reachable from Snap4Arduino, but you can get extended features by using others Firmata versions. See the Devices section for more information.
ChromeOS app
You can install the ChromeOS app from the Chrome Web Store or download the package, uncompress it and drag and drop the crx file into the chrome://extensions browser tab. This is a limited version of Snap4Arduino that doesn’t support extended Firmata versions of the Snap! JavaScript block.
GNU/Linux
You just need to unpack the package. In most window environments you can just click on Snap4Arduino. If this fails, you can always run ./run from the command line.
MacOS X
Unzip the package and run the Snap4Arduino package. If you wish, you can move it to your Applications folder so you can access it as a regular app.
Microsoft Windows
Just unzip the package and run the installer.
Web version for Chrome/Chromium
Online version requires a Chrome/Chromium plugin to connect to Arduino boards. To install it, just download the plugin package and unzip it. This will create a folder named crx. Then, go to chrome://extensions in your browser, activate the developer mode and drag and drop that folder into that browser tab.
If you prefer to run it offline or in your own server, use this downloadable version.
Embedded
The embedded command line version works in any GNU/Linux based machine, including embedded platforms and single board computers. New generation Arduino boards like Yun, Tian or Industrial 101 can run this version right inside the board, and if you have a regular Arduino and any kind of Gnu/Linux based single board computer, you can always have the latter be the host computer to the Arduino board, giving autonomy to your project without having to modify your Snap4Arduino program at all.
Scratch for Arduino делает программирование под Arduino более наглядным
Windows / Mac / Linux: Программирование Arduino не так уж сложно, но если вы ищете что-то более наглядное, то Scratch for Arduino(S4A) это именно то, что вы искали. Она использует MIT’s Scratch в качестве основы для обучения детей (или просто начинающих) программированию Arduino.
Идея состоит в том, чтобы предоставить вам более наглядный язык программирования, чтобы вы лучше понимали как это работает. Даже если вы профессионал в программировании Arduino, то даже вам будет интересно поработать с данной программой. Это отличная программа для начала программирования Arduino, для того чтобы вы разобрались как с ним работать.
Интерфейс программы выглядит следующим образом:
Основные микроконтроллеры Arduino представляются в виде функциональных блоков; аналоговая и цифровая запись и чтение, а так более высоко-уровневые вещи.Здесь можно найти блоки для управления стандартным и непрерывным вращением серводвигателя:
В S4A, плата Arduino представляет собой особый вид спрайта. Спрайт Arduino автоматически найдет USB-порт, к которому подключена плата.
Существует возможность подключения к нескольким платам одновременно, просто добавьте новый спрайт Arduino.
Технические детали
Поддерживаемые платы
S4A работает с Arduino Diecimila, Duemilanove и Uno. Другие платы не были проверены, но они могут также работать.
Подключение
Компоненты должны быть связаны определенным образом. S4A поддерживает 6 аналоговых входов (аналоговые контакты), 2 цифровых входа (цифровые контакты 2 и 3), 3 аналоговых выхода (цифровые контакты 5, 6 и 9), 3 цифровых выхода (выводы 10, 11 и 13) и 4 специальных выхода для подключения серводвигателя (цифровые контакты 4, 7, 8 и 12).
Вы можете управлять платой путем присоединения к нему беспроводного RF модуля, такого как Xbee. Так же S4A позволяет управлять платой через USB порт.
Совместимость
S4A обратно совместим со Scratch, так что вы можете открывать Scratch-проекты в нем. Однако, вы не сможете поделиться своими проектами на веб-сайте сообщества Scratch, так как это идет вразрез с условиями использования Scratch. Имейте в виду, что эта совместимость не работает в обоих направлениях, так что вы не сможете открыть проект S4A с помощью оригинального Scratch. Использование платы PicoBoard вместе с Arduino также поддерживается.
Мастерская
Полный архив с материалами и упражнениями можно скачать отсюда
Вот некоторые видео о возможностях данной программы:
Полнофункциональный робот. Робот с вращающейся камерой, датчиком расстояния и пультом дистанционного управления. Для этого используется две платы Arduino (пульт дистанционного управления + робот), модуль беспроводной XBee, три инфракрасных датчика, модуль камеры и три серводвигателя
Публикации сообщества
Шаг за шагом моделируем поведение робота в среде Snap4arduino
Сегодня мы создадим проект в среде Snap4arduino для моделирования поведения робота при перемещении по чёрной разметке. На сцене мы нарисуем линию, и наш виртуальный робот будет следовать по этой линии автоматически.
ЭТАП 1: Готовим объекты, рисуем и компонуем
Запустите среду Snap4arduino ( установочный файл можно загрузить по ссылке http://snap4arduino.rocks/#download ), проверьте, что выбран русский язык интерфейса. Выберите «Плоский дизайн» как более удобный.
Измените размер Сцены. В этом проекте нам будет удобнее иметь 640х480 пикселей (точек) вместо 480х360. Используйте пункт меню «Настройки», «Размер сцены».
При необходимости в будущем мы сможем сделать сцену ещё больше.
Теперь отредактируем фон, нарисуем линию разметки, по которой будет ездить робот. Выберите объект «Сцена».
Переключитесь на вкладку «Фоны», щёлкните по кнопке «Нарисовать новый костюм».
Откроется окно простого графического редактора.
Выберите светло-серый, почти белый цвет и, используя инструмент «Заливка», заполните им весь фон. Затем нарисуйте линию разметки (трассу) чёрным или почти чёрным цветом при помощи инструмента «Кисть» размером 10 пикселей. Если нужно отменить последнее действие, используйте кнопку «отменить» в левом верхнем углу, не путайте её с кнопкой закрытия всего окна.
Должно получиться примерно как на рисунке ниже. Закройте окно редактора кнопкой «ОК».
Трасса готова, теперь займёмся созданием робота. Щёлкните по объекту «Спрайт», переименуйте его. Мы будем использовать имя «Робот».
Не обязательно рисовать все объекты самостоятельно, воспользуемся готовым изображением «EV3-mini.png».
Сохраните изображение выше с использованием контекстного меню браузера (щёлкнув правой кнопкой мыши по изображению).
Обратите внимание, что на вкладке «Костюмы» есть надпись «Вы можете перенести и бросить сюда изображение со своего компьютера». Откройте в окне проводника папку, в которой лежит файл с нужным рисунком, перетащите этот файл на вкладку «Костюмы» среды Snap4arduino.
Изображение спрайта изменилось. Теперь появился и стал использоваться новый костюм с названием «EV3-mini». Мы сразу же отредактируем его, чтобы поведение робота при разворотах было более естественным. Щёлкните по костюму правой кнопкой мыши и выберите «редактировать».
Теперь при помощи инструмента «Установка центра вращения» выберите точку, вокруг которой будет вращаться робот. Она должна располагаться на оси его ведущих колёс. Нажмите на кнопку «ОК».
Пришло время добавить роботу пару датчиков, при помощи которых он будет определять позицию линии. В нашем проекте роль датчиков будут выполнять два спрайта круглой формы.
Создайте новый спрайт, щёлкнув по кнопке «нарисовать новый спрайт».
Вновь появилось окно графического редактора. Выберите серый цвет, нарисуйте кружок диаметром, примерно равным двойной ширине линии разметки (20 пикселей), ориентируясь на расположенное рядом изображение. Используйте инструмент «Закрашенный эллипс». Чтобы кружок получился ровным, держите зажатой клавишу «Shift».
При помощи инструмента «Установка центра вращения» убедитесь, что перекрестье лежит в центре круга, закончите редактирование, нажав на кнопку «ОК».
Переименуйте новый спрайт, дав ему название «Сенсор1». Передняя часть робота в настоящий момент направлена направо, перетащите мышкой сенсор, поменяв его положение так, чтобы он был расположен впереди слева по направлению движения робота.
Сдублируйте спрайт сенсора.
Дайте дублю название «Сенсор2». Перетащите второй сенсор, чтобы он располагался впереди справа по направлению движения робота.
«Ухватите» мышкой иконку спрайта «Сенсор2» на панели спрайтов и «бросьте» её на изображение робота на сцене.
Иконка вернулась на панель спрайтов, но кое-что изменилось: появились дополнительные значки, обозначающие взаимосвязанность спрайтов. Главным спрайтом («хозяином») является спрайт «Робот».
Повторите операцию для спрайта «Сенсор1», «зацепите» его иконку и «бросьте» на изображение робота на сцене. Готово, все три спрайта взаимосвязаны, и теперь при перемещении робота будут перемещаться и его сенсоры. Проверьте это, перетащив робота и поставив на линию.
Давайте чуть уменьшим размер робота. Выберите спрайт «Робот».
Переключитесь на вкладку «Скрипты». Найдите на панели скриптов блок «установить размер в» (категория «Внешность») и вытяните на рабочее поле.
Отредактируйте значение и щёлкните по блоку, задав размер 50%. И сам робот, и его сенсоры стали меньше, пропорционально поменяв свой размер.
Готово! Осталось сохранить свой проект, чтобы можно было вернуться к нему после паузы для написания программы следования по линии.
Откройте меню «Файл», «Сохранить как».
Выберите «Компьютер», напечатайте имя проекта, нажмите кнопку «Сохранить».
В стандартном диалоговом окне выберите папку, в которую будет помещён сохраняемый файл «Робот на линии.xml». Обратите внимание, что заголовок нашего проекта тоже изменился.
Теперь среду Snap4arduino можно закрывать, результаты нашей работы сохранятся.
ЭТАП 2: Программируем робота для движения по линии
Снова откройте среду Snap4arduino. Загрузите проект «Робот на линии.xml» командой «Файл», «Открыть». Мы будем составлять программу для робота, убедитесь, что выбран именно спрайт «Робот».
Обратите внимание, что поле скриптов спрайта «Робот» уже содержит блок «Установить размер в», который мы туда ранее поместили.
Масштаб отображения сцены можно менять кнопкой, расположенной над сценой слева, это позволяет с большим удобством работать со скриптами.
В нашем проекте мы будем использовать пропорциональное регулирование: чем дальше линия отклонилась от средней позиции, тем быстрее робот будет поворачиваться в соответствующую сторону, чтобы линия оказалась снова посередине.
Давайте для наглядности создадим необходимые переменные и назовём их понятными именами.
Нам нужны 4 переменные: «яркость1», «яркость2», «ошибка_положения_линии», «управляющее_воздействие». Обратите внимание, что большинство языков программирования не позволяют использовать в именах пробелы, поэтому мы заменяем их символами подчеркивания.
Щелкните по кнопке «Объявить переменную».
Корректнее использовать локальные переменные («только для текущего спрайта»), которые будут доступны лишь в спрайте «Робот». В будущем наш проект может быть дополнен другими спрайтами, которые будут иметь собственные переменные с аналогичными названиями. Итак, создайте 4 локальных переменных.
Снимите маркеры, чтобы значения переменных не отображались на сцене и не мешали нам.
В нашей программе будет использоваться очень полезный блок из категории «Сенсоры», который позволяет определять яркость, насыщенность цвета и оттенок под выбранным объектом.
Соберите скрипт из блоков по образцу ниже. Ещё раз убедитесь, что выбран именно спрайт «Робот». Все остальные объекты нашей программы не нуждаются в собственных скриптах.
Запустите программу и проверьте её функционирование. Робот должен уверенно следовать по линии.
Переключитесь на режим «Турбо».
Попробуйте запустить робота вне линии, проверьте, что получится. Экспериментируйте, меняя время задержки цикла, скорость движения (количество шагов за один цикл), а также коэффициент пропорциональности, превращающий ошибку положения линии в управляющее воздействие.
Сохраните свой проект. При сохранении в новое место опять выберите «Computer», при необходимости дайте новое имя.
ЭТАП 3 (дополнительно):
Выясняем недостатки нашей компьютерной модели, определяем пути её усовершенствования
Что будет, если запустить по линии одновременно двух роботов? Давайте проверим.
Сдублируйте спрайт «Робот». Вы видите, что сдублировались и подчинённые спрайты сенсоров. Теперь у нас 6 спрайтов: «Робот», «Сенсор1», «Сенсор2», «Робот(2)», «Сенсор1(2)» и «Сенсор2(2)».
Второй робот получил и копию управляющего скрипта. Однако этот скрипт необходимо поправить, чтобы второй робот использовал свои собственные сенсоры, а не сенсоры первого робота.
Поставьте второго робота на линию так, чтобы он двигался навстречу первому, и запустите программу.
Как видите, следует ещё поработать над моделью столкновений объектов. И кстати, это позволит нашему виртуальному роботу в будущем решать задачи по перемещению (толканию) грузов.
Визуальное программирование для детей. Выбираем платформу обучения
В нашем постиндустриальном обществе в первую очередь ценятся: уровень образования, обучаемость, профессионализм и способность творческого подхода в решении задач. Так как большинство современных профессий, в той или иной мере, связано с компьютерной техникой и автоматикой, то вполне логично, что при обучении детей особое внимание необходимо уделять компьютерной грамотности. При должном подходе к обучению и интересе, со стороны ребенка, стоит обратиться к углубленному изучению информационных технологий и программированию в частности.
С каждым годом возможности компьютерной техники непрерывно растут и даже взрослому тяжело обучаться программированию, что же говорить о детях? Как их к привлечь к программированию? Давайте разбираться в этом.
Давайте подумаем как обычно можно заинтересовать ребенка какой-либо профессией? Конечно же через игры и игрушки, соответствующие изучаемой профессии. Если для обычных профессий вполне подойдут конструкторы или наборы инструментов, то при обучении программированию без компьютера и специализированных программам практически не обойтись.
Давайте найдем специализированные программы, применяемые для обучения детей программированию.
Scratch
Одним из лучших инструментов для обучения детей и подростков программированию считается Scratch (Скретч) — визуальная событийно-ориентированная среда программирования. Он появился в 2007 году и завоевал миллионы поклонников по всему миру. Скретч специально разработан для обучения программированию. Однако в первую очередь он ориентирован на создание визуальных проектов в самом приложении. Например, интерактивных видео и игр. В части управления роботами и программирования конструкторов приложение поддерживает исключительно конструкторы Lego и micro:bit.
Однако наиболее популярной базой, для большинства роботизированных конструкторов, является Arduino и ардуино-совместимые платы. Поэтому нам нужно найти универсальную среду программирования или хотябы совместимую с Arduino платами.
Scratch for Arduino (S4A)
Прямых ссылок с официального сайта Скретч на нее нет. Идем в поиск. По запросу «S4A» поисковик уверено выдает нам сайт s4a.cat.

Изучение сайта наводит на мысль о его заброшенности: версия сайта 2015 года, последняя статья выложена в феврале 2016, версия программы для Windows датирована концом 2014 года.
Установка и запуск
На сайте предлагаются версии программы для:
Linux (Debian) (версия 1.6);
Linux (Fedora) (версия 1.5);
Raspbian (Debian для RaspberryPi) (версия 1.5).
Архив занимает 27МБ, а после установки программа займет 53МБ дискового пространства.

Для привязки платы к программе потребуется установить Arduino IDE и загрузить на плату скетч S4AFirmware16.ino (размещен на сайте). S4A переведена на 40 языков, в том числе и на русский. Имеет простой и понятный дизайн с минимальным функционалом. Программа не имеет дополнительных библиотек с блоками управления. Однако есть библиотеки примеров, звуков и спрайтов низкого качества.
Программа работает только в онлайн режиме, то есть скетч выполняется на компьютере, а Ардуино выполняет посылаемые ей команды. Это означает, что записать программу на плату и использовать ее в автономном режиме не выйдет.
Однако, S4A не всегда корректно ведет себя при работе с неоригинальными платами.
Snap4Arduino
Если Скретч – разработка массачусетского технологического института, то Snap! (или BYOB) – это его модификация выполненная Университетом Беркли. Ключевым нововведением стало добавление в программу возможности создания пользовательских блоков. Это позволило разработать сообществом множество библиотек для управления различными модулями и платами.
По запросу «Snap4Arduino» и нам выдает ссылку на сайт snap4arduino.rocks.

Этот сайт выглядит свежее. Однако здесь язык сайта также только английский, но найти ссылки на скачивание программы, примеры и форум сообщества не составляет сложности.
Актуальная версия программы на сайте 6.2 от 09.01.2020.
К установке предлагаются версии для:
Windows (32-bit и 64-bit);
GNU/Linux (32-bit и 64-bit);
портативная версия для Windows;
плагин для Chrome и Chromium.
Мобильная версия для Android представлена «сырым» дистрибутивом и его разработка временно приостановлена.
Установка и запуск
Установка не примечательна и заострять внимание на ней нет смысла. Дистрибутив для 64-битной версии Windows «весит» 163МБ до установки и 350МБ – после.
Для работы с программой нам понадобится плата с встроенной прошивкой от Firmata. Если такой нет, то придётся воспользоваться Arduino IDE для загрузки прошивки в плату. Для этого скачиваем и устанавливаем программу с официального сайта www.arduino.cc. По окончании установки подключаемся выбрав в соответствующем меню тип платы и порт.

Далее открываем вкладку «Library Manager» или проходим в меню Tools – Manage Libraries… Набираем в поиске Firmata и устанавливаем библиотеку «Firmata by Firmata Developers».

Теперь во вкладке «Уроки» находим нужный скетч: File → Examples → Firmata → StandardFirmata

Открывшийся скетч загружаем в нашу Arduino-плату и по окончанию установки открываем установленный ранее Snap4Arduino. Выбираем вкладку «Arduino», кликаем по кнопке «Подключится к Arduino» и выбираем порт. Если все прошло успешно, то вы увидите соответствующие уведомления.
Информационные окна. Программа Snap4Arduino.
Для проверки работоспособности пишем простую программу мерцания встроенным светодиодом, расположенном на 13 пине нашей платы.

Нажимаем на зеленый флажок и наблюдаем работу скетча.
Работа скетча на плате Arduino UNO.
Все отлично работает.
К особенностям работы с Snap4Arduino можно отнести:
поддержка работы платы только в online-режиме;
возможность замедления работы выполнения скетча, что позволяет отследить работу программы и выявить наличие ошибок;
возможность сохранения скетча как в облаке, так и на ПК;
возможность копирования как одного, так и нескольких блоков скетча;
есть несколько примеров программ для работы с сенсорами и графикой.
Также в программу включено множество библиотек с блоками для:
итерационных и композиционных вычислений;
работы со списками, текстом, музыкой и координатами;
работы с базами данных, диаграммами и анимацией;
частотными распределениями, веб-сервисами (https) и другие.
К сожалению программа не имеет офлайн режима, дополнительные блоки не русифицированы, а графический интерфейс давно не обновлялся и выглядит скудно. Меню программы не интуитивно и часть настроек не ясна.
Однако множество учебников, примеров и иной обучающей информации делают Snap4Arduino достаточно привлекательной платформой. При этом программа поддерживает работу с платами SP8266 и NodeMCU, а также Picaxe, micro:bit, Lego WeDo, Boost и ряд других конструкторов.
Программа вполне подойдет для дистанционного управления ардуино-совместимыми роботами, конструкторами и собственными проектами на их базе.
МакеBlock
Заглянем на официальный сайт mBlock.

Сайт производит более приятное впечатление. Отличный дизайн в спокойном детском стиле. Присутствует анимация. Отдельно стоит отметить возможность выбора языка сайта. Доступны английский, китайский и японский языки.
Здесь также найти вкладки «Download» и «Community» не затруднительно.

Установка и запуск
Авторы предлагают к установке следующие варианты дистрибутивов:
Mac OS (версия 10.12 и старше);
веб-версия (для работы с ней требуется предварительная установка драйвера mLink);
версия для Chromebooks;
для мобильных устройств (для Android 6.0 и выше (только ARM) и iOS 10.0 и выше).
При установке программы нам предлагают установить драйвер, для поддержки плат на базе контроллеров CH340/CH341.

mBlock предлагает набор библиотек для почти 150 видов плат, конструкторов и роботов. По умолчанию установлено расширение для приставки CyberPi, но можно ее удалить и добавить ту или иную плату из множества доступных.
Ключевой особенностью mBlock является возможность работать с платами в двух режимах: онлайн – «Жить» и офлайн – «Загрузить в». Для работы в онлайн-режиме программе требуется установки прошивки (скетча) на плату, однако эта процедура выполняется без необходимости установки Arduino IDE.
Подключаем плату к компьютеру через USB кабель. Выбираем порт. При этом появляется желтая кнопка: «Обновление». После нажатия которой нам предлагается обновить прошивку на плате, т.е. загрузить на нее управляющий скетч.
Информационные окна программы mBlock.
После загрузки скетча повторно подключаем нашу плату и проверяем ее работу.
В режиме «Жить» пишем простую программу мерцания встроенным на плате светодиодом. Затем нажимаем кнопку «Загрузить», внизу экрана, и любуемся результатом.
Особенности работы с mBlock:
отсутствие необходимости установки Arduino IDE;
возможность копирования нескольких блоков скетча (выбранного и последующих за ним);
возможность программирования как блоками, так и в классическом виде;
возможность просмотра составленной блоками программы в формате языка С (только режим «Загрузить в»);
возможность сохранения скетча как в облаке, так и на ПК;
комментарии к блокам;
большая база примеров и расширений.
ArduBlock
Еще один представитель программ блочного программирования ArduBlock. Разработана российским инженером программистом Петровым В.Н. Программа абсолютно бесплатна, имеется сообщество в ВК, Instagramm и канал на YouTube. Автор активен: выкладывает уроки и обеспечивает поддержку.

Сайт выполнен в традиционных цветах ардуино. Предлагается два языка на выбор: русский и английский.
Здесь же автором размещено: справка, ссылки на модули (Aliexpress) и его же учебники.
Установка и запуск
К установке предлагаются варианты дистрибутивов:
Актуальная версия программы 2.0. По ссылке на WinOS версию скачивается архив на 262МБ в котором включены все необходимые программы:
драйвер CH341SER, для китайских плат;
скрипт Elevate для соединения ArduBlock с Arduino IDE;
сама программа ArduBlock.
Последовательность установки описана в текстовом файле находящимся в скачиваемом архиве. Сама программа ArduBlock не требует установки и замает 400МБ дискового пространства. Взглянем на ее.

Из особенностей стоит отметить:
полная русификация программы;
справка для каждого блока со схемами и маркой подключаемого модуля;
отображение кода программы с возможностью его сохранения в формате *.ino.
отсутствие спрайтов и работы с графикой в программе;
работа с платами только в офлайн режиме;
поддержка только плат Arduino.
ВЫВОДЫ
Родоначальником всех рассмотренных нами программ является Scratch и хотя, на первый взгляд, все они достаточно похожи все же давайте составим сводную таблицу из их ключевых особенностей, а затем дадим общую оценку каждой программе.









































