Программирование роботов в Scratch

21 июня 2016

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

Немного истории

Scratch была разработана в MIT Media Lab, исследовательской группе Массачусетского технологического института. Первая версия была придумана программистом Митчеллом Резником и выпущена в 2007 году. Scratch 1.0 была написана на языке Squeak и ориентирована на конструктор LEGO. В 2008 году Scratch была модифицирована для микроконтроллерного модуля Arduino. Версия Scratch 2.0 вышла в мае 2013 года. 13 мая 2014 года исходный код Scratch 2.0 был открыт под лицензией GPLv2.

Основные характеристики

Как мы уже упоминали, с помощью Scratch можно создавать игры, анимационные истории, также управлять роботами. Среда программирования Scratch состоит из объектов, которые называются спрайты. Каждый спрайт состоит из графического набора кадров и сценария-скрипта. Действие программы происходит в окне размером 480×360 пикселей с центром координат в середине сцены. Для программирования сценариев используется метод «потянуть и отпустить» (drag-and-drop). Это означает, что перетаскивая блоки в область скриптов, вы задаете определенные команды для исполнения каких-то процессов.

По функциональным возможностям блоки делятся на 8 групп, и их принадлежность к этим группам обозначается цветом. Синий цвет блоков отвечает за движение, сиреневый за внешность спрайта, розовый за звук, зеленый – это перо, он отвечает за «черепашью графику», желтый отвечает за управление конструкциями, голубой соответствует сенсорам, светло-зеленый отвечает за арифметико-логические операции и, наконец, оранжевый отвечает за какие-то другие задачи для конкретного объекта.

Блоки бывают трёх видов: блоки стека, блоки заголовков и блоки ссылок. Первые можно копировать и перемещать как один общий блок. Блоки заголовков отвечают за связь между сообщениями от клавиатуры и мыши, а также за передачу спрайтов и объектно-ориентированное программирование. Блоки ссылок отвечают за заполнение внутренних полей других блоков. Конечно, у Scratch отсутствует масса функций реального языка программирования, но те, что имеются, достаточны для создания довольно сложных роботов и игр.

Программирование робота в Scratch

Рассмотрим принцип программирования и работы со средой Scratch на примере простого самодельного робота-машинки.

В основе робота находится плата Марсоход или ScratchBoard. Она должна посылать на компьютер значения некоторых датчиков (четыре аналоговых датчика A,B,C,D, датчик света, датчик звука). Из компьютера на плату могут подаваться команды одному двигателю: «вкл»/«выкл», направление и мощность от 0 до 100.

Исходный код для программирования скачивается с официального сайта среды: https://scratch.mit.edu. Программа управления мотором в среде Scratch может выглядеть примерно так:

Скрипты языка Scratch могут задавать подключенному через ScratchBoard мотору мощность. К примеру, если мощность равна нулю, то первый мотор может работать, а второй нет. Если мощность 50, то могут работать оба мотора. Если мощность установлена 100, то может работать второй мотор, но не первый. Включаются они по команде «мотор вкл», а выключаются по команде «мотор откл».

Вся машинка в сборе выглядит следующим образом: два мотора на платформе на гусенечном ходу, плата «Марсоход», оптические датчики-глаза, модуль Bluetooth (в данном примере используется версия LMX9838). Чтобы она ездила и следовала по линии, можно своими руками сделать карту.

Видео машинки, программируемой в Scratch:

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

Вернуться к новостям

Наши преимущества

Помощь, а не продажа
Мы помогаем, а не продаём «любой ценой». У нас дружелюбный сервис и гибкие условия.
Полезные консультации
У нас не только магазин, а ещё есть мастерская и школа робототехники, поэтому много опыта.
Бесплатная доставка
При заказе на сумму больше 8 000 рублей в Москве и Питере доставка всех товаров бесплатная.
Доставка в день заказа
Если сделать заказ до 14:00, то можно получить его в тот же день. Только в Питере пока.
Только качественные товары
У нас продаются только качественные товары. Нет продуктов очень низкого качества, пусть и дешёвых.
Качественное послепродажное обслуживание
На все товары действует гарантия. Если что, то мы качественно отремонтируем.