Программирование mindstorms ev3. Курс программирования робота EV3 в среде Lego Mindstorms EV3

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

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

По сравнению с NXT было добавлено 2 новых блока:

  • Начало - в NXT начало программы было единым и задавалось сразу при открытии программы.
  • Прерывание цикла - в NXT такого блока просто не было. Если требовалось реализовать похожий функционал, то приходилось использовать переменные.
Общий список блоков управления операторами выглядит так:
  • Начало
  • Ожидание
  • Переключатель
  • Прерывание цикла


Блок "Начало"

Возможно, вы обратили внимание на то, что первый блок всех EV3 программ - блок с зеленой стрелкой. Этот блок - "Начало". Без него не обойдется ни одна программа - именно с него и начинается выполнение команд. Если перед последовательностью блоков не поставить "Начало", то такая программа выполняться не будет.
Например, по программе, представленной ниже, робот будет кружится вокруг оси (будет выполняться верхняя последовательность действий), но не будет проигрывать аудио файлы и зажигать подсветку кнопок (нижняя последовательность без блока "Начало" не активна):

EV3 поддерживает многозадачность, т.е. программа может содержать больше одной последовательности команд. Причем эти последовательности могут иметь свой собственный блок "Начало" или выходить из одного "Начала":


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

Замечу, что зеленая стрелка на блоке - это не декоративный элемент. Если блок подключен к компьютеру (неважно как: через usb, wi-fi или bluetooth), то нажатие на стрелку запустит данную последовательность на выполнение.

Блок "Ожидание"

Этот блок тоже является одним из самых используемых. На нем программа "зависает" - последующие блоки программы не выполняются - и ждет определенное количество времени или определенного значения датчика.
У "Ожидание" большое число режимов, которое может испугать:


Но, на самом деле, все довольно просто. Все режимы можно разделить на категории:
  • по времени - блок ждет указанное количество секунд, прежде чем начнет выполнять следующие блоки
  • по показанию датчика:
    • сравнение - блок ожидает конкретное показание датчика, указанное в блоке
    • изменить - блок ожидает, когда показание датчика изменится на указанную величину, по сравнению с начальным значением. Причем, можно выбрать не только размер величины, но и ее направление - убывание значения, его увеличение или в любую сторону.
Рассмотрим примеры программ с каждым режимом блока.
В первой программе изменяется подсветка кнопок. Одну секунду подсветка будет гореть зеленым, затем 1 секунду красным и после этого переключится на стандартный режим - мигающий зеленый:

Вторая программа представляет из себя начало классического решения в соревновании "Кегельринг": робот кружится вокруг своей оси до тех пор, пока не увидит перед собой банку:

Следующая программа включает мотор А, и после того, как он сделает 5 оборотов, выключает его:

Работа этого блока с bluetooth ничем не отличается от работы с любым сенсором. Например, следующая программа ожидает сообщения "HI" и после этого зажигает подсветку зеленым и проигрывает звуковой файл:

Блок "Цикл"

Это особый блок - внутрь его можно вставлять другие блоки. Блоки, находящиеся внутри, будут повторяться. Режимы блока "Цикл" задают способ, который определяет, когда цикл должен завершиться. Большинство этих режимов мы уже знаем по предыдущему блоку ожидания, однако добавилось несколько новых:

  • Неограниченный - такой цикл будет выполняться, пока не будет принудительно завершена программа
  • Подсчет - цикл будет повторяться заданное число раз
  • Логическое значение - цикл будет повторяться, пока заданное значение не будет истиной
  • Время - цикл будет повторяться заданное время
  • Показание датчика:
    • сравнение - цикл будет повторяться, пока датчик не примет заданное значение
    • изменить - цикл будет повторяться, пока показание датчика не изменится на указанную величину, по сравнению с начальным значением.
Над блоком написано имя цикла - 01, 02, .... Это имя может использоваться в блоке прерывания цикла, который будет описан позднее.
Рассмотрим примеры. По этой программе робот будет ехать прямо и поворачивать, до тех пор, пока программу не остановят (используется бесконечный цикл):

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

Цикл со счетчиком позволяет проиграть ноту 10 раз:

С режимом логического значения придется использовать еще не изученные блоки опроса датчиков. Данная программа заставляет робота ехать вперед до тех пор, пока он не увидит предмет на расстоянии, меньше 20 см (первый блок цикла) или не наткнется на препятствие датчиком касания (второй блок цикла). Результат логической операции "ИЛИ" дает третий блок цикла:


Блок "Переключатель"

Аналогичный блок есть и в NXT, он позволяет в зависимости от значения переменной или показания датчика выполнять разные последовательности действий.
После выполнения данной последовательности действий, программа выполняет блоки, идущие за "Переключателем".
Режим данного блока определяет, значение какого датчика или переменной будет использоваться. Используются все те же режимы, что и блок "Цикл": можно использовать любой датчик (цвета, гироскопический, инфракрасный, ультразвуковой, вращения мотора и другие), числовое или текстовое значение, сообщение bluetooth.
Например, по данной программе робот сначала будет вращаться вокруг своей оси 5 оборотов мотора, а затем, в зависимости от показаний датчика гироскопа, ехать вперед или назад. Если угол, определяемый гироскопом, будет меньше 90 градусов, тогда робот поедет вперед. Если же угол меньше 90 градусов - тогда робот поедет назад.

Следующая программа представляет собой реализацию простейшего релейного регулятора для движения по черной линии:

В обоих предыдущих примерах блок "Переключатель" содержал только 2 варианта развития событий. Но на самом деле, данный блок может иметь и больше вариантов. Например, если робот будет определять цвет предмета, то он может выбирать из куда большего числа вариантов:


В этой программе робот определяет красный, синий, зеленый и отсутствие цвета. Он будет называть цвета, а также для красного и зеленых цветов включать подсветку кнопок, а по синему цвету поедет вперед. Можно добавить оставшиеся цвета, которые может определить датчик - черный, желтый, белый, коричневый - с помощью маленькой кнопки "+", расположенной у верхнего варианта (она обведена красным).
При большом количестве вариантов (как в примере выше) блок "Переключатель" становится довольно громоздким и работать с ним не удобно. В этом случае блок можно переключить в "плоский режим":

Кнопка, переключающая режимы "плоский / подробный", обведена красным.

Блок "Прерывание цикла"

Этот блок новый, в NXT подобного блока не было. Он позволяет выходить из цикла - оставшиеся блоки цикла выполняться не будут, и программа перейдет к блокам после цикла. В "шапке" блока задается имя цикла, который должен быть завершен.
Например, цикл в программе должен повториться 5 раз, но если расстояние до предмета станет больше 50 сантиметров, то произойдет досрочный выход из цикла и робот проиграет звуковой тон:

Особенностью данного блока является то, что он не обязательно должен находится внутри прерываемого цикла. Например, следующая программа выводит число повторений цикла до тех пор, пока яркость отраженного света больше 50. Но если в процессе выполнения программы будет нажат датчик касания, то цикл прекратится и программа остановится:

Открылась Книжная полка Городского методического Центра по образовательной робототехнике. В данном разделе каждый из вас может ознакомиться с новыми книгами.

Использование LEGO-роботов в инженерных проектах школьников. Отраслевой подход

В методическом пособии представлены проекты школьников, которые были реализованы на научно-образовательных школах «Лифт в будущее» Некоммерческого партнёрства содействия развитию интеллектуального и творческого потенциала молодёжи. Ученики вместе с экспертами и представителями российских инновационных компаний разрабатывали решения, направленные на модернизацию существующих в регионах России производств и на внедрение новых технологий. Осуществляя обучение школьника в той или иной отрасли, авторы формируют осознанный подход к выбору специальности и стремятся к тому, чтобы будущие технологические лидеры нашли применение своим идеям в России. Такой инженерно-отраслевой принцип позволит развить существующие подходы в преподавании робототехники в школе и даст новое направление в развитии проектной деятельности учащихся.
Издание рассчитано на учителей средней и старшей школы, а также будет полезно школьникам основной школы при проведении проектной деятельности.


Белиовская Л.Г. Узнайте, как программировать на LabVIEW. – Изд-во ДМК, 2013. – 140 с.

АННОТАЦИЯ К КНИГЕ

Учебник по программированию на LabVIEW написан специально для изучения этой среды в курсе школьного предмета «Информатика». Эта книга может быть рекомендована для изучения темы «Алгоритмизация и объектно-ориентированное программирование» учащимся 6–9-х классов общего образования в школе в рамках Федерального государственного образовательного стандарта. Книга может быть использована для работы в общеобразовательных классах и классах естественно-математического и информационно-технологического профиля. Содержание книги поясняется рисунками, примерами и упражнениями. Предложены проверочные работы по трем темам. Материал пособия был апробирован в 6 классе. Рекомендуется затрачивать по 2 часа на прохождение каждого из уроков. Проверочные работы рассчитаны каждая на 1 урок. После каждой проверочной работы желательно проводить работу над ошибками с обсуждением ответов на вопросы. Ориентировочно курс рассчитан на 28 часов.
Оглавление и отрывки из глав

Руководство преподавателя по ROBOTC® для LEGO® MINDSTORMS®

Филиппов С.А. Робототехника для детей и родителей. – 3-е издание

Уже много лет мы читаем в книгах и газетах, слышим по радио и из телевизора, что скоро нас будут окружать умные, добрые и интересные роботы. Однако в реальной жизни роботов все нет и нет. Лишь несколько лет назад знаменитая датская компания Lego сделала роскошный подарок любителям мехатроники, роботов и других кибернетических игр и игрушек: выпустила робототехнический конструктор Lego Mindstorms NXT, который с успехом используется как дома, так и в учебе.
Эта книга одна из первых на русском языке поможет не только самому строить и программировать разнообразных роботов из Lego, но и научить этому других школьников, студентов. В ней рассматриваются основы конструирования, программирования на языках NXT-G, Robolab и RobotC, а также элементы теории автоматического управления.
В третьем издании добавлены описания усовершенствованых конструкций роботов, а также рассмотрены новые задачи: прохождение лабиринта, роботы-манипуляторы, инверсная линия и др. По-прежнему большое внимание уделено алгоритмам управления: от П- и ПД-регулятора для движения по линии до ПИД-регулятора для балансирующего робота-сигвея.
Предназначена для преподавателей кружков робототехники школ и вузов, для широкого круга читателей.
Купить можно в интернет-магазине http://technocontext.ru/catalog/13/ , а также здесь: http://wroboto.ru/oborydovanie/about/books/books_3.html
С содержанием книги вы можете ознакомиться


Книга «Программируем NXT в Lab VIEW 2009». Издательство «ДМК Пресс»

В книге представлены уроки изучения популярного инженерного языка программирования LabVIEW 2009 в школе в соответствии со школьной программой по информатике, и
подробно рассмотрен процесс создания оконных приложений в среде LabVIEW.
2009 Education Edition с использованием NXT.
Книга поступила в продажу в конце апреля 2010.

Первый шаг в робототехнику. Практикум для 5–6 классов

Практикум является частью учебно-методического комплекта для средней школы, в который также входит рабочая тетрадь для 5–6 классов. Цель практикума – дать школьникам современное представление о прикладной науке, занимающейся разработкой автоматизированных технических систем, – робототехнике. Его можно использовать как для занятий в классе, так и для самостоятельной подготовки.
Учебные занятия с использованием данного практикума способствуют развитию конструкторских, инженерных и общенаучных навыков, помогают по-другому посмотреть на вопросы, связанные с изучением естественных наук, информационных технологий и математики, обеспечивают вовлечение учащихся в научно-техническое творчество.
Практикум содержит описание актуальных социальных, научных и технических задач и проблем, решение которых еще предстоит найти будущим поколениям, и позволяет учащимся почувствовать себя исследователями, конструкторами и изобретателями технических устройств.
Заглянуть внутрь

Книга «Уроки ЛЕГО-конструирования в школе». – М.: Издательство БИНОМ, 2011.

Методическое пособие содержит описание методики, позволяющей встроить в учебный процесс технологии конструирования с использованием ИКТ, ознакомить учителей с особенностями ЛЕГО-конструирования и с возможностями ЛЕГО-конструирования и свариантами проектирования ЛЕГО-моделей для школьников разного возраста. Книга содержит материалы по обеспечению методической поддержки конкурсов для учащихся, нормативному обеспечению подготовки и проведения соревнований по ЛЕГО-конструированию.
Книга предназначается для учителей-предметиков, учителей начальных классов, педагогов дополнительного образования, методистов; содержит материалы по обеспечению методической поддержки конкурсов для учащихся, нормативному обеспечению подготовки и проведения соревнований по ЛЕГО-конструированию.


Заглянуть внутрь (несколько страниц в формате PDF)

Юревич Е. П. Основы робототехники. – 3-е изд.

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

Робототехника охватывает практически все сферы человеческой деятельности: промышленность, транспорт, сельское хозяйство, здравоохранение, быт, исследование и освоение океана и космоса, выполнение работ в других экстремальных условиях, научные исследования. В книге отражены все этапы развития робототехники от возникновения первых <<Механических людей>> до перспектив создания роботов разумных, постепенно приближающиеся по своим возможностям к человеку. Рассмотрено устройство роботов и других средств робототехники, способы и системы управления, принципы проектирования и применения.

Книга соответствует государственному стандарту по дисциплине «Основы робототехники» и предназначено для студентов профильных направлений. Также представляет интерес для широкого круга читателей. + СД.

В книгу вложен компакт-диск, который содержит динамические иллюстрации с комментариями автора.

Клаузен, Петер. Компьютеры и роботы. – М.: Мир книги, 2006.

Хотите узнать много нового и интересного, весело провести время и найти ответы на интересующие вопросы? Добро пожаловать в удивительный мир РОБОТОВ. Почему чешский писатель Карел Чапек назвал искуccтвенных рабов-рабочих роботами? Зачем роботов отправляют в космос? Всё о том, как устроены компьютеры и роботы, как их применяют, где они работают и какими они будут завтра.Термину «робот» в нынешнем году исполняется 85 лет. Это широко использующееся сейчас слово впервые применил чешский писатель Карел Чапек в пьесе R.U.R. (Rossum"s Universal Robots) для описания человекоподобных механизмов, выполняющих рутинную работу.


Макаров И.М., Топчеев Ю.И. РОБОТОТЕХНИКА. История и перспективы. – М.: Наука, Издательство МАИ, 2003.
Авторы книги – Игорь Михайлович Макаров и Юрий Иванович Топчеев – популярно рассказывают о той роли, которую сыграли роботы в истории развития цивилизации: от роботов Средневековья до новых типов роботов для применения в космосе.
Книга имеется в издательстве «Наука».

РОБОТОТЕХНИКА

Для детей 7-11 лет

ПОЧЕМУ РОБОТОТЕХНИКА?

Тотальная автоматизация и развитие искусственного интеллекта приведут к тому что многие профессии, в будущем будут не нужны. Везде, где машина может заменить человека - она его заменит. Самыми востребованными специалистами станут те, кто будут создавать и программировать эти машины. Дайте своему ребенку возможность попробовать себя в этой роли уже сейчас!

ЗАЧЕМ УЧИТЬСЯ
В КРАШПРО?

РАЗВИВАЕМ КОМПЕТЕНЦИИ

Творческое мышление

Проектное мышление м умение работать в команде

Развитие логики и мелкой моторики

Развитие математического мышления

Умение создавать автономных и управляемых роботов

Программирование в среде Scratch

Сначала мы позвали самых крутых IT Специалистов, практиков, разработчиков. Потом, нашли опытных методистов, детских психологов и педагогов. Соединили знания первых с компетентностью вторых и получили образовательные курсы, аналогов которым нет на рынке!

Наргиз Асадова

Директор Школы профессий будущего "CRUSH PRO"

7-9 лет 9-11 лет

«Робототехника WeDo»

Занятия проходят 1 раз в неделю по 1,5 часа.
Каждый учебный год разделен на 3 модуля.

ПЕРВЫЙ ГОД ОБУЧЕНИЯ

Модуль 1
10 занятий по 1,5 часа

  • Изучая животный мир, понимаем принципы работы таких механизмов как подъемный кран (жираф), вертолет (стрекоза), погрузчик (пеликан) и других.
  • Собираем робот лягушки, аллигатора, обезьяны, льва и других животных. Программируем, настраиваем голосовое управление, изучаем базовые детали и узлы: шестеренки, шкивы и зубчатую передачу
Модуль 2
10 занятий по 1,5 часа
  • Строим модели самолета, подъемного крана, вертолета, манипулятора и других машин. Изучаем принцип работы механизмов, физику, используем уравнения и формулы для программирования.
  • Создаем систему управления роботами
Модуль 2
12 занятий по 1,5 часа
  • Строим катапульту, дроид, круглых роботов, космолет и другие сложные машины
  • Создаем станцию связи, космическую станцию, изучаем роботов, работающих в космос

ВТОРОЙ ГОД ОБУЧЕНИЯ

Занятие 1: Лифт-подъемный механизм. Знакомство с программой.

Занятие 2: Стрекоза. Обсуждение вопросов связанных с насекомыми.

Занятие 3: Лягушка. Обсуждение принципов работы датчиков. Изучение лягушки и построение модели. Построение модели лягушки из блоков LEGO WeDo. Использование датчиков для запуска программы. Использование условного оператора в задаче программирования. Использование цикла в программе.
Занятие 4: Пеликан. Обсуждение разновидностей птиц, мест их обитания и строение.


Занятие 5: Аллигатор. Изучение систем шкивов и ремней (ременных передач).

Занятие 6: Лев. Изучение процесса передачи движения и преобразования энергии в модели. Ознакомление с работой коронного зубчатого колеса в этой модели. Изучение льва, его строения, места обитания. Создание и испытание движущейся модели льва. Усложнение поведения путем добавления управление голосом и программирования воспроизведения звуков синхронно с движениями льва. Понимание того, как при помощи зубчатых колёс можно изменить направление движения. Понимание и использование числового способа задания звуков и продолжительности работы мотора.
Занятие 7: Лягушка. Знакомство с системой шкивов и ремней (ременных передач), работающих в модели. Анализ влияния смены ремня на направление и скорость движения. Построение, программирование и испытание модели «Лягушка». Изучение процесса передачи движения и преобразования энергии в модели. Изучение кулачкового механизма, работающего в модели. Понимание основных принципов проведения испытаний и их обсуждение.
Занятие 8: Жираф. Изучение рычажного механизма. Создание и испытание модели жирафа из блоков LEGO WeDo. Программирование соответствующего звукового сопровождения. Усложнение поведения за счет установки на модель датчика наклона. Построение и изучение сложного механизма. Изучение строения, местообитание жирафа. Занятие 9: Обезьяна. Изучение рычажного механизма и влияние конфигурации кулачкового механизма на ритм барабанной дроби. Создание и испытание модели барабанящей обезьянки. Модификация конструкции модели путём изменения кулачкового механизма с целью изменения ритма движений рычагов. Программирование соответствующего звукового сопровождения, чтобы поведение модели стало более эффектным.
Занятие 10: Промежуточный тест. (теория, конструирование, практика)
Занятие 11: Самолет. Построение модели самолёта, испытание её движения и уровня мощности мотора. Усовершенствование модели самолёта путём программирования звуков, зависящих от показаний датчика наклона. Понимание и использование принципа управления звуком и мощностью мотора при помощи датчика наклона. Изучение процесса передачи движения и преобразования энергии в модели.
Занятие 12: Нефтяная вышка. Понимание концепции и обсуждения свойств энергетических ресурсов на примере нефти масло. Обсуждение роли двигателя внутреннего сгорания в промышленном развитии. Построение модели насоса из блоков LEGO WeDo. Использование датчика расстояния для построения системы управления. Использование кривошипного механизма для сборки насоса. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Создание программы в соответствии с алгоритмом, который добавляет и вычитает из фиксированного значения. Практическое использование операций сложения и вычитания до 10.
Занятие 13: Ветряк. Обсуждение типов возобновляемых источников энергии и способов их использования пример ветровой турбины. Определение концепции скорости. Строительство модели ветряной мельницы из блоков LEGO WeDo. Обсуждение работы механизмов и их различных типов и их практических. Программирование структуры в соответствии с алгоритмом, который учитывает вращение винта мельницы. Использование показаний датчика расстояния для запуска математической операции. Использование добавления в задаче программирования. Использование деления при расчете передаточных чисел.
Занятие 14: Пожарная машина. Обсуждение вопросов, связанных с явлением сжигания.

Занятие 15: Вилочный погрузчик. Знание о конструкции и работе штабелера. Обсуждение роли развития робототехники в промышленности и логистике. Строительство штабелера с блоками LEGO WeDo. Использование червячного механизма для сборки накопителя. Использование датчика наклона для создания системы управления укладчиком. Использование датчика наклона для программирования системы управления укладчиком. Использование условного оператора в задаче программирования
Занятие 16: Лифт. Понимание концепции простых машин на примере рычага и шкива .
Понимание приложений простых машин в строительстве на других построениях. Понимание механизма работы лифта. Создание модели лифта с блоками LEGO WeDo. Использование двигателя и шкива для создания модели лебедки лифта. Использование компьютерной клавиатуры для программирования системы управления. Измерение и сравнение измерений времени с секундомером.
Занятие 17: Вертолет. Обсуждение источника вертолетного носителя. Сравнение конструкции и эксплуатации самолета и вертолета. Строительство вертолетной модели от блоков LEGO WeDo. Использование вала для сборки вертолетного привода. Использование датчика наклона для создания системы управления вертолетом. Использование механизма для создания вертолетного привода. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Использование условных инструкций и программных циклов. Использование многопоточной программы.
Занятие 18: Манипулятор. Понимание влияния развития робототехники на деятельность человека. Обсуждение принципов выбора строительных решений для специфики конкретных задач. Создание модели манипулятора из блоков LEGO WeDo. Использование датчика наклона для создания системы управления манипуляторами. Использование червячного механизма для создания захвата манипулятора. Использование датчика наклона для программирования системы управления манипуляторами. Использование многофункциональной программы. Использование математических операций (деление). Измерение и сравнение измерений времени с секундомером.
Занятие 19: Кран. Обсуждение принципов работы простых машин. Знание конструкции и принципов работы крана. Построение модели крана из блоков LEGO WeDo. Использование зубчатого зацепления для сборки вращающейся крановой башни. Использование датчика наклона для создания системы управления краном. Использование датчика наклона для программирования системы управления краном. Использование условного оператора в задаче программирования.
Занятие 20: Промежуточный тест(теория, конструирование, практика)
Занятие 21: Соревнования. Проверка на знания механизмов после прохождения всех 3 блоков. Проверка на использование блоков программирования. Проверка скорости конструирования. Проверка на правильность конструкции.
Занятие 22: Дройд. Понимание концепции и обсуждения свойств сигнализации, охранных систем. Обсуждение роли датчиков в жизни человека. Построение модели друида из блоков LEGO WeDo. Использование датчика расстояния для построения охранной системы. Использование сложного углового механизма для работы охранной системы. Программирование структуры в соответствии с алгоритмом, который делает зависимость работы моторов и звуков от датчика расстояния.
Занятие 23: Катапульта. Изучение рычажного механизма. Создание и испытание модели космической катапульты. Модификация конструкции модели путём изменения кулачкового механизма. Построение модели катапульты из блоков LEGO WeDo. Использование ремня для удержания. Использование датчика наклона для создания системы управления.
Занятие 24: Шагоход. Программирование структуры в соответствии с алгоритмом, который делает зависимость работы моторов и звуков от датчика расстояния. Построение модели шагохода из блоков LEGO WeDo. Использование датчика расстояния для построения системы управления. Использование червячного механизма для сборки шагохода.
Занятие 25: Спутники. Изучение работы спутников земли. Построение и изучение работы спутников земли. Использование датчика расстояния для построения системы управления. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния.
Занятие 26: Галактическая игра. Обсуждение принципов работы простых машин. Изучение конструкции и принципов работы конвейера. Построение модели крана из блоков LEGO WeDo. Использование шинного зацепления для сборки вращающегося конвейера. Использование датчика наклона для создания системы управления скоростью и направлению вращения мотора. Использование условного оператора в задаче программирования.
Занятие 27: Знание о конструкции и работе многоколесного робота-марсохода. Обсуждение роли развития робототехники в освоении других планет. Строительство марсохода из блоков LEGO WeDo. Использование червячного механизма для движения переднеприводного робота. Использование кубиков для движения робота как боковые колеса. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Конструирование модели. Написание для нее программы. Изучение соревнований.
Занятие 28: Круглые роботы. Знание о конструкции и работе круглого робота-лунохода. Обсуждение роли развития робототехники в освоении других планет. Строительство лунохода из блоков LEGO WeDo. Использование червячного механизма для движения конструкции всего робота. Использование кубиков для движения робота как боковые колеса.
Занятие 29: Космолет. Обсуждение работы космолетов и ракет. Сравнение конструкций ракеты и космолета. Строительство космолета из блоков LEGO WeDo. Использование сложного механизма в построении космолета. Использование датчика наклона для создания системы управления космолетом. Программирование соответствующего звукового сопровождения, чтобы поведение модели стало более эффектным. Программирование структуры в соответствии с алгоритмом. Использование условных инструкций и программных циклов
Занятие 30: Станция связи. Планирование и сборка станции связи. Практическое использование изученных передач. Использование знаний о датчиков и моторов, для построение автоматизированной станции связи. Развитие навыков группового взаимодействия.
Занятие 31: Космическая станция. Закрепление полученных знаний в ходе блока обучения. Построение выбранного роботизированного механизма из блоков Lego Wedo. Использование датчиков для управления. Использование изученных механизмов для сборки роботов для космоса, доработка. Практическое использование функций в скрипте, использование
Занятие 32: Итоговый тест.

Занятие 1: Робофутбол.
Занятие 2: Робофутбол.
Занятие 3: Робофутбол.
Управление роботом, полоса препятствий, мини заезд.
Занятие 4: Робофутбол.
Внутренние соревнования.
Занятие 5: Перетягивание каната
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 6: Перетягивание каната
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 7: Перетягивание каната
Занятие 8: Перетягивание каната
Внутренние соревнования.
Занятие 9: Шагающие роботы
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 10: Шагающие роботы
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 11: Шагающие роботы
Программирование, запуск программы.
Занятие 12: Шагающие роботы
Внутренние соревнования.
Занятие 13: Теннис роботов
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 14: Теннис роботов
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 15: Теннис роботов
Программирование, запуск программы.
Занятие 16: Теннис роботов
Внутренние соревнования.
Занятие 17: Кегельринг
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 18: Кегельринг
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 19: Кегельринг
Программирование, запуск программы.
Занятие 20: Кегельринг
Внутренние соревнования.
Занятие 21: Сумо
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 22: Сумо
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 23: Сумо
Программирование, запуск программы.
Занятие 24: Сумо
Внутренние соревнования.
Занятие 25: Траектория
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 26: Траектория
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 27: Траектория
Программирование, запуск программы.
Занятие 28: Траектория
Внутренние соревнования.
Занятие 29-31: Творческая номинация. Создание проекта
Занятие 32: Итоговый тест.

Занятие 1: Вводное занятие. Знакомство с конструктором. Конструирование модели подъемник. Изучат работу мотора. Познакомятся с ПО и запрограммируют подъемник на движение.
Занятие 2: Автоматические двери. Дети сконструируют автоматические двери. Продолжат работать с большим мотором;
Продолжат изучать интерфейс ПО (блоки: начало, большой мотор, ожидание, цикл);
Занятие 3: Робот гимнаст. Продолжат знакомиться с набором Lego EV3; Собирут модель «Робот-гимнаст»; Познакомиться с разными режимами большого мотора;
Продолжат изучать интерфейс ПО (блоки: начало, большой мотор, ожидание).
Занятие 4: Робот-пятиминутка. Продолжат знакомиться с набором Lego EV3;
Соберут модель «Робот-пятиминутка»; Продолжат работать с большим мотором;
Продолжат изучать интерфейс ПО (блоки: начало, рулевое направление, ожидание, цикл);
Занятие 5: Мойщик пола. Продолжат знакомиться с набором Lego EV3; Соберут модель «Мойщик пола»; Продолжат работать с большими моторами; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 6: Приводной бот. Узнают о понижающей передаче. Продолжат знакомиться с набором Lego EV3; Соберут модель «Приводной бот»; Продолжат работать с большими моторами; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 7: Скоростной бот. Узнают о повышающей передаче. Продолжат знакомиться с набором Lego EV3; Соберут модель «Скоростной бот»; Продолжат работать с большими моторами; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 8:Цветок. Продолжат знакомиться с набором Lego EV3; Соберут модель «Цветок»; Познакомиться с понятием «коническая зубчатая передача». Продолжать изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 9: Ворота
Занятие 10: Промежуточный тест (теория, конструирование и программирование).

Занятие 11: Робот – погрузчик. Продолжат знакомиться с набором Lego EV3; Соберут модель «Ворота»; Продолжат работать со средним мотором; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 12: Приводная платформа. Продолжат знакомиться с набором Lego EV3;
Соберут модель «Приводная платформа EV3»; Продолжат работать с большими моторами; Продолжать изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 13: Ультразвуковой датчик. Продолжат знакомиться с набором Lego EV3;
Соберут свою модель робота; Продолжат работать с ультразвуковым датчиком;
Продолжать изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 14: Датчик цвета. Продолжат знакомиться с набором Lego EV3;
Соберут свою модель робота; Познакомятся с работой датчика цвета; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 15: Датчик цвета. Продолжат знакомиться с набором Lego EV3; Соберут свою модель робота; Познакомятся с работой датчика цвета;
Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 16: Гироскопический датчик. Продолжат знакомиться с набором Lego EV3;
Соберут свою модель робота. Познакомятся с работой датчика цвета; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 17: Танцующий робот. Продолжат знакомиться с набором Lego EV3;
Соберут свою модель робота; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель); Придумают свою программу.
Занятие 18: Щенок. Повторят знания о датчиках;
Соберут свою модель робота; Познакомятся с работой датчика цвета;
Занятие 19: Робофутбол. Познакомятся с регламентом соревнований;
Выявят сложные моменты в процессе подготовки; Создадут собственного робота; Научатся работать в программе Lego Commander;
З анятие 20: Промежуточный тест (теория, конструирование и программирование).
Занятие 21: Шагающий робот. Изучат механизм для создания шагающего робота. Повторят знания о датчиках;
Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 22: Шагающий робот. Продолжат изучение механизма для создания шагающего робота. Повторят знания о датчиках;
Соберут модель робота «муха»; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 23: Рисовальщик. Повторят знания о траектории; Соберут модель робота;
Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 24: Декор яиц. Повторят знания о траектории;
Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель); Запрограммируют робота для декора яиц.
Занятие 25: Сортировщик цветов (мини) .
Занятие 26: Перемещатель. Повторят знания о датчике цвета; Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель, знакомство с блоками математики и переменных);
Занятие 27: Контейнер для шаров. Повторят знания о датчике цвета;
Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель, знакомство с блоками математики и переменных);
Занятие 28:Контейнер для шаров. Повторят знания о датчике цвета;
Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель, знакомство с блоками математики и переменных);
Занятие 29-30: Дети пишут свой проект. Придумывают модель робота и пишут для него программу.

Занятие 31: Дети доделывают проект, вносят коррективы. Защищают проекты перед родителями.

Занятие 32: Итоговый тест.

Занятие 1: Лифт-подъемный механизм . Знакомство с программой.
Изучение основных механизмов в конструкциях. Основы программирования. Сборка механизмов из блоков LEGO WeDo. Использование двигателя и шкива для создания модели лебедки лифта.
Занятие 2: Стрекоза. Обсуждение вопросов связанных с насекомыми.
Построение модели робо-стрекозы. Применение механизмов зубчатой передачи для движения робота. Использование мотора как двигателя механизма. Практическое применение зубчатой придачи, использование различных шестеренок. Знакомство с циклом, блоками программирования моторов.
Занятие 3: Лягушка. Обсуждение принципов работы датчиков. Изучение лягушки и построение модели. Построение модели лягушки из блоков LEGO WeDo. Использование датчиков для запуска программы. Использование условного оператора в задаче программирования. Использование цикла в программе.
Занятие 4: Пеликан. Обсуждение разновидностей птиц, мест их обитания и строение.
Строительство модели птицы из блоков LEGO WeDo. Использование циклов и режима ожидания.
Изучение работы повышенной зубчатой передачи. Совместное использование ременной и зубчатой передачи. Изучение систем шкивов и ремней (ременных передач) и механизма замедления, работающих в модели.
Занятие 5: Аллигатор. Изучение систем шкивов и ремней (ременных передач).
Изучение жизни животных. Создание и программирование моделей с целью демонстрации знаний и умения работать с цифровыми инструментами и технологическими схемами. Построение модели аллигатора из блоков LEGO WeDo и ее испытание. Усложнение поведения за счет установки на модель датчика расстояния и синхронизации звука с движением модели.
Занятие 6: Лев. Изучение процесса передачи движения и преобразования энергии в модели. Ознакомление с работой коронного зубчатого колеса в этой модели. Изучение льва, его строения, место обитания. Создание и испытание движущейся модели льва. Усложнение поведения путем добавления управление голосом и
программирования воспроизведения звуков синхронно с движениями льва. Понимание того, как при помощи зубчатых колёс можно изменить направление
движения. Понимание и использование числового способа задания звуков и
продолжительности работы мотора.
Занятие 7: Лягушка. Знакомство с системой шкивов и ремней (ременных передач), работающих в модели. Анализ влияния смены ремня на направление и скорость движения. Построение, программирование и испытание модели «Лягушка». Изучение процесса передачи движения и преобразования энергии в модели. Изучение кулачкового механизма, работающего в модели. Понимание основных принципов проведения испытаний и их обсуждение.
Занятие 8: Жираф. Изучение рычажного механизма. Создание и испытание модели жирафа из блоков LEGO WeDo. Программирование соответствующего звукового сопровождения. Усложнение поведения за счет установки на модель датчика наклона.
Построение и изучение сложного механизма. Изучение строения, местообитание жирафа.
Занятие 9: Обезьяна. Изучение рычажного механизма и влияние конфигурации кулачкового механизма на ритм барабанной дроби. Создание и испытание модели барабанящей обезьянки. Модификация конструкции модели путём изменения кулачкового механизма с целью изменения ритма движений рычагов. Программирование соответствующего звукового сопровождения, чтобы поведение модели стало более эффектным.
Занятие 10: Промежуточный тест. (теория, конструирование, практика)
Занятие 11: Самолет.
Построение модели самолёта, испытание её движения и уровня мощности мотора. Усовершенствование модели самолёта путём программирования звуков, зависящих от показаний датчика наклона. Понимание и использование принципа управления звуком и мощностью мотора при помощи датчика наклона. Изучение процесса передачи движения и преобразования энергии в модели.
Занятие 12: Нефтяная вышка. Понимание концепции и обсуждения свойств энергетических ресурсов на примере нефти масло. Обсуждение роли двигателя внутреннего сгорания в промышленном развитии. Построение модели насоса из блоков LEGO WeDo. Использование датчика расстояния для построения системы управления.
Использование кривошипного механизма для сборки насоса. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Создание программы в соответствии с алгоритмом, который добавляет и вычитает из фиксированного значения. Практическое использование операций сложения и вычитания до 10.
Занятие 13: Ветряк. Обсуждение типов возобновляемых источников энергии и способов их использования пример ветровой турбины. Определение концепции скорости.
Строительство модели ветряной мельницы из блоков LEGO WeDo. Обсуждение работы механизмов и их различных типов и их практических. Программирование структуры в соответствии с алгоритмом, который учитывает вращение винта мельницы. Использование показаний датчика расстояния для запуска математической
операции. Использование добавления в задаче программирования. Использование деления при расчете передаточных чисел.
Занятие 14: Пожарная машина. Обсуждение вопросов, связанных с явлением сжигания.
Построение модели пожарного двигателя из блоков LEGO WeDo. Применение механизмов преобразования вращения к поступательному движению. Использование датчика наклона для изменения работы робота в зависимости от положение лестницы. Практическое применение свойств червячной передачи и зубчатого механизма. Использование датчика наклона для программирования системы управления автомобилем кочегар. Использование компьютерной клавиатуры для программирования системы управления автомобилем. Использование операций сложения и вычитания до 10 в задаче программирование.
Занятие 15: Вилочный погрузчик. Знание о конструкции и работе штабелера Обсуждение роли развития робототехники в промышленности и логистике. Строительство штабелера с блоками LEGO WeDo. Использование червячного механизма для сборки накопителя. Использование датчика наклона для создания системы управления укладчиком. Использование датчика наклона для программирования системы управления укладчиком. Использование условного оператора в задаче программирования
Занятие 16: Лифт. Понимание концепции простых машин на примере рычага и шкива.
Понимание приложений простых машин в строительстве на других построениях. Понимание механизма работы лифта. Создание модели лифта с блоками LEGO WeDo.
Использование двигателя и шкива для создания модели лебедки лифта. Использование компьютерной клавиатуры для программирования системы управления. Измерение и сравнение измерений времени с секундомером.
З анятие 17: Вертолет. Обсуждение источника вертолетного носителя. Сравнение конструкции и эксплуатации самолета и вертолета. Строительство вертолетной модели от блоков LEGO WeDo. Использование вала для сборки вертолетного привода. Использование датчика наклона для создания системы управления вертолетом. Использование механизма для создания вертолетного привода. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Использование условных инструкций и программных циклов. Использование многопоточной программы.
Занятие 18: Манипулятор. Понимание влияния развития робототехники на деятельность человека. Обсуждение принципов выбора строительных решений для специфики конкретных задач. Создание модели манипулятора из блоков LEGO WeDo. Использование датчика наклона для создания системы управления
манипуляторами. Использование червячного механизма для создания захвата манипулятора. Использование датчика наклона для программирования системы управления манипуляторами. Использование многофункциональной программы. Использование математических операций (деление). Измерение и сравнение измерений времени с секундомером.
Занятие 19: Кран. Обсуждение принципов работы простых машин. Знание конструкции и принципов работы крана. Построение модели крана из блоков LEGO WeDo. Использование зубчатого зацепления для сборки вращающейся крановой
башни. Использование датчика наклона для создания системы управления краном. Использование датчика наклона для программирования системы управления
краном. Использование условного оператора в задаче программирования.
Занятие 20: Промежуточный тест(теория, конструирование, практика)
Занятие 21: Соревнования.
Проверка на знание механизмов детей после прохождения всех 3 блоков. Проверка на использование блоков программирования. Проверка скорости конструирования. Проверка на правильность конструкции.
Занятие 22: Дройд. Понимание концепции и обсуждения свойств сигнализации, охранных систем. Обсуждение роли датчиков в жизни человека. Построение модели друида из блоков LEGO WeDo. Использование датчика расстояния для построения охранной системы. Использование сложного углового механизма для работы охранной
системы. Программирование структуры в соответствии с алгоритмом, который делает
зависимость работы моторов и звуков от датчика расстояния.
Занятие 23: Катапульта. Изучение рычажного механизма. Создание и испытание модели космической катапульты. Модификация конструкции модели путём изменения кулачкового механизма. Построение модели катапульты из блоков LEGO WeDo. Использование ремня для удержания. Использование датчика наклона для создания системы управления
Занятие 24: Шагоход. Программирование структуры в соответствии с алгоритмом, который делает зависимость работы моторов и звуков от датчика расстояния. Построение модели шагохода из блоков LEGO WeDo. Использование датчика расстояния для построения системы управления. Использование червячного механизма для сборки шагохода.
Занятие 25: Спутники. Изучение работы спутников земли. Построение и изучение работы спутников земли. Использование датчика расстояния для построения системы управления. Программирование структуры в соответствии с алгоритмом, который делает
зависимость скорости двигателя от значения дисплея датчика расстояния.
Занятие 26: Галактическая игра . Обсуждение принципов работы простых машин. Изучение конструкции и принципов работы конвейера. Построение модели крана из блоков LEGO WeDo. Использование шинного зацепления для сборки вращающегося конвейера. Использование датчика наклона для создания системы управления скоростью и направлению вращения мотора. Использование условного оператора в задаче программирования.
Занятие 27: Знание о конструкции и работе многоколесного робота-марсохода . Обсуждение роли развития робототехники в освоении других планет. Строительство марсохода из блоков LEGO WeDo. Использование червячного механизма для движения переднеприводного робота. Использование кубиков для движения робота как боковые колеса. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Конструирование модели. Написание для нее программы. Изучение соревнований.
Занятие 28: Круглые роботы. Знание о конструкции и работе круглого робота-лунохода. Обсуждение роли развития робототехники в освоении других планет. Строительство лунохода из блоков LEGO WeDo. Использование червячного механизма для движения конструкции всего робота. Использование кубиков для движения робота как боковые колеса.
Занятие 29: Космолет. Обсуждение работы космолетов и ракет. Сравнение конструкций ракеты и космолета. Строительство космолета из блоков LEGO WeDo. Использование сложного механизма в построении космолета. Использование датчика наклона для создания системы управления космолетом. Программирование соответствующего звукового сопровождения, чтобы поведение модели стало более эффектным. Программирование структуры в соответствии с алгоритмом. Использование условных инструкций и программных циклов
Занятие 30: Станция связи. Планирование и сборка станции связи. Практическое использование изученных передач. Использование знаний о датчиков и моторов, для построение автоматизированной станции связи. Развитие навыков группового взаимодействия.
Занятие 31: Космическая станция. Закрепление полученных знаний в ходе блока обучения. Построение выбранного роботизированного механизма из блоков Lego
Wedo. Использование датчиков для управления. Использование изученных механизмов для сборки роботов для космоса, доработка. Практическое использование функций в скрипте, использование
переменных. Практическое использование сложения и вычитания, умножения и деления. Обсуждение и планирование единой системы по освоению космоса. Создание программ в соответствии с алгоритмом и поставленными задачами
Занятие 32: Итоговый тест.

На втором занятии мы детальнее познакомимся со средой программирования и подробно изучим команды, задающие движение нашему роботу-тележке, собранному на первом занятии. Итак, давайте запустим среду программирования Lego mindstorms EV3, загрузим наш проект lessons.ev3, созданный ранее и добавим в проект новую программу - lesson-2-1. Программу можно добавить двумя способами:

  • Выбрать команду "Файл"-"Добавить программу" (Ctrl+N) .
  • Нажать "+" на вкладке программ.

Рис. 1

2.1. Палитры программирования и программные блоки

Давайте теперь обратим свой взгляд в нижний раздел среды программирования. Из материала первого занятия мы уже знаем, что здесь находятся команды для программирования робота. Разработчики применили оригинальный прием и, сгруппировав программные блоки, присвоили каждой группе свой цвет, назвав группы палитрами.

Зеленая палитра называется: "Действие" :

Рис. 2

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

2.2. Зеленая палитра - блоки действия

Первый программный блок зеленой палитры предназначен для управления средним мотором, второй блок - для управления большим мотором. Так как параметры этих блоков идентичны - рассмотрим настройку на примере блока - большой мотор.

Рис. 3

Для правильной настройки блока управления большим мотором мы должны:

  1. Выбрать порт, к которому подключен мотор (A, B, C или D) (Рис. 3 поз. 1)
  2. Выбрать режим работы мотора (Рис. 3 поз. 2)
  3. Настроить параметры выбранного режима (Рис. 3 поз. 3)

Чем же отличаются режимы? Режим: "Включить" включает мотор с заданным параметром "Мощность" и после этого управление передается следующему программному блоку программы. Мотор будет продолжать вращаться, пока не будет остановлен следующим блоком "Большой мотор" с режимом "Выключить" или следующий блок "Большой мотор" не будет содержать другие параметры выполнения. Режим "Включить на количество секунд" включает большой мотор с установленной мощностью на указанное количество секунд, и только по завершению времени мотор остановится, а управление в программе перейдет к следующему программному блоку. Аналогично поведет мотор себя в режимах "Включить на количество градусов" и "Включить на количество оборотов" : только после выполнения установленного вращения мотора, он остановится и управление в программе перейдет к следующему блоку.

Параметр мощность (на Рис. 3 мощность установлена в 75) может принимать значения от -100 до 100. Положительные значения мощности задают вращение мотора по часовой стрелке, отрицательные - против часовой. При значении мощности равном 0 мотор вращаться не будет, чем "выше" значение мощности, тем быстрее вращается мотор.

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

Отдельно следует сказать о параметре "Тормозить в конце" . Данный параметр, если установлен в значение "Тормозить" заставляет мотор тормозить после выполнения команды, а если установлен в значение "Двигаться накатом" , то мотор будет вращаться по инерции, пока сам не остановится.

Следующие два программных блока "Рулевое управление" и реализуют управление парой больших моторов. По умолчанию левый большой мотор подключается к порту "В" , а правый - к порту "С" . Но вы можете в настройках блока поменять порты подключения в соответствии с требованиями вашей конструкции (Рис. 4 поз. 1 ).

Рис. 4

Параметр "Рулевое управление" (Рис. 4 поз. 2 ) может принимать значения от -100 до 100. Отрицательные значения параметра заставляют робота поворачивать налево, при значении равном 0 робот движется прямо, а положительные значения заставляют робота поворачивать направо. Стрелка над числовым параметром меняет свою ориентацию в зависимости от значения, подсказывая тем самым направление движения робота (Рис. 5 ).

Рис. 5

Программный блок "Независимое управление моторами" похож на программный блок "Рулевое управление" . Он также управляет двумя большими моторами, только вместо параметра "Рулевое управление" появляется возможность независимого управления мощностью каждого мотора. При равном значении параметра "Мощность" для левого и правого мотора робот будет двигаться прямолинейно. Если на один мотор подать отрицательное значение мощности (например -50), а на второй - положительное значение (например 50), то робот будет разворачиваться на месте (Рис. 6 ).

Рис. 6

Режимы работы этих блоков аналогичны режимам блока управления одним мотором, поэтому дополнительного описания не требуют...

2.3. Прямолинейное движение, повороты, разворот на месте остановка

Итак, теперь мы можем написать программу движения робота по какому-либо маршруту.

Задача 1: Проехать прямолинейно вперед на 4 оборота двигателя. Развернуться. Проехать на 720 градусов.

Решение (Рис. 7 ):

  1. Используя программный блок "Рулевое управление" проехать вперед на 4 оборота.
  2. Используя программный блок "Независимое управление моторами" развернуться на месте (значение градусов придется подобрать экспериментально).
  3. Используя программный блок "Рулевое управление" проехать вперед на 720 градусов.

Примечание: Почему при развороте пришлось подбирать значение градусов в блоке 2 ?. Разве не 360 градусов - искомая величина? Нет, если мы зададим значение параметра "Градусы" равным 360 , то тем самым заставим на искомую величину провернуться валы левого и правого моторов нашего робота. На какой угол провернется робот вокруг своей оси - зависит от размера (диаметра) колес и расстояния между ними. На Рис. 7 значение параметра "Градусы" равно 385 . Данное значение позволяет роботу, собранному по инструкции small-robot 45544 развернуться вокруг своей оси. Если у вас другой робот, то вам придется подобрать другое значение. Можно ли это значение найти математически? Можно, но об этом мы поговорим позднее.


Рис. 7

Задача 2: Установите на ровной поверхности какое-либо препятствие (банку, кубик, небольшую коробку), отметьте место старта вашего робота. Создайте в проекте новую программу: lesson-2-2, позволяющую роботу объехать вокруг препятствия и вернуться к месту старта.

Сколько программных блоков вы использовали? Поделитесь своим успехом в комментарии к уроку...

2.4. Экран, звук, индикатор состояния модуля

Программный блок "Экран" позволяет выводить текстовую или графическую информацию на жидкокристаллический экран блока EV3. Какое это может иметь практическое применение? Во-первых, на этапе программирования и отладки программы можно выводить на экран текущие показания датчиков во время работы робота. Во-вторых, можно выводить на экран название промежуточных этапов выполнения программы. Ну а в-третьих, с помощью графических изображений можно "оживить" экран робота, например с помощью мультипликации.

Рис. 8

Программный блок "Экран" имеет четыре режима работы: режим "Текст" позволяет выводить текстовую строку на экран, режим "Фигуры" позволяет отображать на экране одну из четырех геометрических фигур (прямая, круг, прямоугольник, точка), режим "Изображение" может вывести на экран одно изображение. Изображение можно выбрать из богатой коллекции изображений или нарисовать свое, используя редактор изображений. Режим "Окно сброса настроек" сбрасывает экран модуля EV3 к стандартному информационному экрану, показываемому во время работы программы.

Рис. 9

Рассмотрим параметры программного блока "Экран" в режиме "Текст" (Рис. 9 поз.1) . Строка, предназначенная для вывода на экран, вводится в специальное поле (Рис. 9 поз. 2) . К сожалению, в поле ввода текста можно вводить только буквы латинского алфавита, цифры и знаки препинания. Если режим "Очистить экран" установлен в значение "Истина" , то экран перед выводом информации будет очищен. Поэтому, если вам требуется объединить текущий вывод с информацией уже находящейся на экране, то установите этот режим в значение "Ложь" . Режимы "X" и "Y" определяют точку на экране, с которой начинается вывод информации. Экран блока EV3 имеет 178 пикселей (точек) в ширину и 128 пикселей в высоту. Режим "X" может принимать значения от 0 до 177, режим "Y" может принимать значения от 0 до 127. Верхняя левая точка имеет координаты (0, 0), правая нижняя (177, 127)

Рис. 10

Во время настройки программного блока "Экран" можно включить режим предварительного просмотра (Рис. 9 поз. 3) и визуально оценить результат настроек вывода информации.

В режиме "Фигуры" (Рис. 11 поз. 1 ) настройки программного блока меняются в зависимости от типа фигуры. Так при отображении круга необходимо будет задать координаты "X" и "Y" центра окружности, а также значение "Радиуса" . Параметр "Заполнить" (Рис. 11 поз. 2) отвечает за то, что будет отображен либо контур фигуры, либо внутренняя область фигуры будет заполнена цветом, заданным в параметре "Цвет" (Рис. 11 поз. 3) .

Рис. 11

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

Рис. 12

Чтобы отобразить прямоугольник следует задать координаты "X" и "Y" левого верхнего угла прямоугольника, а также его "Ширину" и "Высоту" .

Рис. 13

Отобразить точку проще всего! Укажите лишь её координаты "X" и "Y".

Режим "Изображение" , наверное, самый интересный и самый используемый режим. Он позволяет выводить на экран изображения. Среда программирования содержит огромную библиотеку изображений, отсортированную по категориям. В дополнение к имеющимся изображениям вы всегда можете создать свой рисунок и, вставив его в проект, вывести на экран. ("Главное меню среды программирования" - "Инструменты" - "Редактор изображения") . Создавая своё изображение, вы можете также вывести на экран символы русского алфавита.

Рис. 14

Как вы видите - отображению информации на экране главного модуля EV3 среда программирования придает огромное значение. Давайте рассмотрим следующий важный программный блок "Звук" . С помощью этого блока мы можем выводить на встроенный динамик блока EV3 звуковые файлы, тона произвольной длительности и частоты, а также музыкальные ноты. Давайте рассмотрим настройки программного блока в режиме "Воспроизвести тон" (Рис. 15) . В этом режиме необходимо задать "Частоту" тона (Рис. 15 поз. 1) , "Продолжительность" звучания в секундах (Рис. 15 поз. 2) , а также громкость звучания (Рис. 15 поз. 3) .

Рис. 15

В режиме "Воспроизвести ноту" вам вместо частоты тона необходимо выбрать ноту на виртуальной клавиатуре, а также установить длительность звучания и громкость (Рис. 16) .

Рис. 16

В режиме "Воспроизвести файл" вы можете выбрать один из звуковых файлов из библиотеки (Рис. 17 поз. 1) , либо, подключив к компьютеру микрофон, с помощью Редактора звука ("Главное меню среды программирования" - "Инструменты" - "Редактор звука") записать собственный звуковой файл и включить его в проект.

Рис. 17

Давайте отдельно рассмотрим параметр "Тип воспроизведения" (Рис. 17 поз. 2) , общий для всех режимов программного блока "Звук" . Если данный параметр установлен в значение "Ожидать завершения" , то управление следующему программному блоку будет передано только после полного воспроизведения звука или звукового файла. В случае установки одного из двух следующих значений начнется воспроизведение звука и управление в программе перейдет к следующему программному блоку, только звук или звуковой файл будет воспроизведен один раз или будет повторяться, пока не его не остановит другой программный блок "Звук" .

Нам осталось познакомиться с последним программным блоком зеленой палитры - блоком . Вокруг кнопок управления модулем EV3 смонтирована цветовая индикация, которая может светиться одним из трех цветов: зеленым , оранжевым или красным . За включение - выключение цветовой индикации отвечает соответствующий режим (Рис. 18 поз. 1) . Параметр "Цвет" задает цветовое оформление индикации (Рис. 18 поз. 2) . Параметр "Импульсный" отвечает за включение - отключение режима мерцания цветовой индикации (Рис. 18 поз. 3) . Как можно использовать цветовую индикацию? Например, можно во время различных режимов работы робота использовать различные цветовые сигналы. Это поможет понять: так ли выполняется программа, как мы запланировали.

Рис. 18

Давайте используем полученные знания на практике и немного "раскрасим" нашу программу из Задачи 1.

Задача 3:

  1. Воспроизвести сигнал "Start"
  2. Включить зеленую немигающую цветовую индикацию
  3. "Forward"
  4. Проехать прямолинейно вперед на 4 оборота двигателя.
  5. Включить оранжевую мигающую цветовую индикацию
  6. Развернуться
  7. Включить зеленую мигающую цветовую индикацию
  8. Отобразить на экране изображение "Backward"
  9. Проехать на 720 градусов
  10. Воспроизвести сигнал "Stop"

Попробуйте решить задачу 3 самостоятельно, не подглядывая в решение! Удачи!

Вершиной творения компании Lego стал выпуск программируемых конструкторов LEGO Mindstorms Ev3. Игрушка предназначена для детей возрастом более десяти лет.

Сейчас mindstorms ev3 купить можно без особых проблем в специальных магазинах или в Интернете. Они легко программируются на выполнение определенных действий.

Установка среды программирования

Перед тем как начать писать команды для робота, нужно установить программное обеспечение.

Системные требования ПК для работы с lego mindstorms ev3:

  • ОС Windows XP, 7, 8 или MacOs (10.6-10.8);
  • 2Гб оперативки и 750 Мб на диске.

Устанавливая среду с помощью USB, выбираем версию для учителя или учащегося.

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

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

На экране размещено меню, в которое входят вкладки:

  • действие;
  • управление операторами;
  • датчик;
  • операции с данными;
  • мои блоки и др.

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

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

Здесь вы можете дать такие команды программе:

  • начать ожидать;
  • повторение цикла;
  • переключиться между блоками;
  • закончить цикл.

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

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

LEGO Education Mindstorms EV3: Программирование Роборуки (Robohand H25):