Найти в Дзене

mBlock3 и Arduino Uno. Настройка, соединение, режимы. Мигаем светодиодом.

В предыдущем материале мы познакомились со средой mBlock3 и выяснили, где ее можно загрузить. Теперь предлагаю посмотреть, как настраивается среда и познакомиться с базовыми правилами ее использования с микроконтроллером. В качестве последнего будет выступать максимально распространенная плата Arduino Uno. Если кому-то удобнее в видеоформате, то данный материал представлен и в виде видеоролика. Итак, после установки на компьютер среды mBlock3, требуется провести предварительную настройку для работы с конкретной платой контроллера. Не обязательно, но вполне возможно. Но надо учитывать, что при создании автономных программ для загрузки в память контроллера, не следует давать кириллические названия переменным, блокам и т.д. Не поймет. А так - пользоваться удобно, хоть некоторые переводы и странноваты. Меню Language - далее выбираем нужный язык. Меню Boards и далее выбор. В примере - Arduino Uno Меню Extensions и далее проверяем, что галочка выставлена у нужного, если нет - щелкаем. Если с
Оглавление

В предыдущем материале мы познакомились со средой mBlock3 и выяснили, где ее можно загрузить.

Теперь предлагаю посмотреть, как настраивается среда и познакомиться с базовыми правилами ее использования с микроконтроллером. В качестве последнего будет выступать максимально распространенная плата Arduino Uno.

Если кому-то удобнее в видеоформате, то данный материал представлен и в виде видеоролика.

Предварительная настройка среды mBlock3

Итак, после установки на компьютер среды mBlock3, требуется провести предварительную настройку для работы с конкретной платой контроллера.

1. Возможность выставить русский язык в интерфейсе.

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

Меню Language - далее выбираем нужный язык.

2. Выбор платы, с которой будем работать.

Меню Boards и далее выбор. В примере - Arduino Uno

-2

3. Выбор/проверка нужных расширений.

Меню Extensions и далее проверяем, что галочка выставлена у нужного, если нет - щелкаем. Если стоят еще другие - можно снять, чтобы не путаться. В примере - Arduino (стандартное). Мы еще поговорим о расширениях и поставим некоторые, но позже. Пока вполне хватит стандартного.

-3

4. Подключаем плату Arduino Uno.

Плату Arduino Uno надо подключить к компьютеру. Проще и надежнее всего - проводом. В классике Arduino Uno это провод USB А - USB B, но в различных клонах и модификациях можно встретить и микро USB и USB - C.

В общем, подключаем проводом плату к компьютеру.

Теперь надо настроить соединение со средой mBlock3.

Меню Соединить - Serial Port и далее надо выбрать нужный. Чаще всего это последний по номеру, который появится в списке. В примере - COM 10. Если желаете проверить, или есть подозрения, что что-то идет не так, отсоедините плату и вновь зайдите в меню Соединить. Если порт исчез, то все было правильно, и это он. Соответственно - соединяем заново и выбираем. Появляется галочка у соединения.

-4

5. Загружаем прошивку для "интерактивного" управления.

Для того, чтобы плата понимала, что мы ей предлагаем делать (если планируем управлять прямо из среды mBlock3), на плату требуется загрузить специальную прошивку. Меню Соединить - Обновить прошивку.

-5

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

-6

Кстати, если процесс не идет - проверяем соединения (и железо, сам провод, и меню Соединить - Serial Port ... есть ли там галочка у нужного порта).

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

Все, и среда и плата готовы к взаимодействию.

Программирование действий с контроллером Arduino

За взаимодействие с контроллером отвечает группа команд Робот.

-7

В нашем примере в Робот открыто только одно расширение - Arduino. Справа от названия расширения горит зеленая точка, что означает "Плата готова к работе, соединение правильное".

Да, сразу оговорюсь, что все остальные блоки, привычные по Scratch вы так же можете смело использовать.

1. Интерактивный режим (управляем прямо из среды)

Сейчас просто проверим, что все работает. У нас в руках плата Arduino Uno, пока еще без дополнительной электронике. Но даже на самой плате есть вполне управляемый светодиод. Он располагается на 13-ом порту.

Вот тут мы и попробуем работоспособность управления.

Вытяните блок, показанный на рисунке ниже, вправо, на рабочий стол проекта.

-8

Это блок, отвечающий за управление сигналом на цифровых портах (пинах) контроллера.

Номер пина надо просто ввести с клавиатуры (щелкаем по окошечку и вводим). Далее выберем HIGH (высокий) режим, что соответствует 1 (Кстати, можно вводить и 1 с клавиатуры). Теперь просто мышкой щелкните по блоку, он немного подсветится по краям (т.е. покажет, что работает), а светодиод загорится.

-9

Теперь можете выбрать режим LOW (низкий, или 0), щелкните заново - светодиод погаснет.

Уже сейчас видно, как просто управлять сигналами на портах Arduino с помощью mBlock3.

Усложним программу, создав классическую вариацию с миганием светодиодом.

Соберем программу по образцу:

-10

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

-11

После чего ставим новый дубль в нужную позицию.

-12

И останется только во втором блоке изменить HIGH на LOW.

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

Когда мы нажмем клавишу ПРОБЕЛ (пространство в переводе))))) или другую, можно выбрать, то запустится цикл ВСЕГДА. И на порт 13 с периодичностью в 1 секунду (можете менять, в том числе и на десятичные, типа 0.2) будет подаваться то 1, то 0, соответственно светодиод будет зажигаться и гаснуть.

Пробуем - нажимаем на пробел, наблюдаем за миганием.

Теперь посмотрим, как то же самое реализовать в "автономном" режиме, когда программа будет выполняться не на стороне компьютера, а сразу в Arduino Uno.

2. "Автономный" режим (грузим программу в память контроллера Arduino)

Итак, для такого действия нам придется изменить "шапочку" скрипта на Arduino program из набора блоков Robot. Рыжую снимаем (и можем убрать в поле блоков), синюю ставим.

-13

Далее переходим в меню Редактировать и выбираем режим Arduino mode.

-14

Теперь мы находимся в режиме прямой работы с Arduino. Можем посмотреть текст нашей программы в коде, если надо, можем далее внести изменения уже в текстовой программе (кнопка Edit with Arduino IDE, на рисунке ее не видно, она правее и выше)

А можем просто загрузить текущую программу в Arduino, нажав кнопку Upload to Arduino

-15

Все, после появления окошка о удачной загрузке можно отсоединить плату от компьютера, подключить любое разрешенное питание (powebank, коробочка с 4-6 батарейками, или парой аккумуляторов 18650, батарея типа крона, как на рисунке) и наблюдать, что, даже будучи оторванной от компьютера, Arduino выполняет заложенную программу.

-16

Заканчиваем. Принцип работы со средой mBlock3 в связке с Arduino Uno, надеюсь, понятен. Чтобы вернуть возможность управления из среды в "интерактивном" режиме, не забудьте вновь обновить соответствующую прошивку.

В последующих материалах посмотрим, как считать показания датчиков, подключенных к Arduino и другие полезности. До встречи!