Конструируем роботов на Lego Mindstorms Education EV3. Ханойская башня [Виктор Викторович Тарапата] (pdf) читать онлайн

-  Конструируем роботов на Lego Mindstorms Education EV3. Ханойская башня  (а.с. Робофишки) 47.58 Мб, 88с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Виктор Викторович Тарапата

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

LEGO

®

MINDSTORMS
Education EV3

Ханойская
башня

®

В. В. Тарапата
А.А.В.А.
Красных
Валуев
А. А. Салахова

КОНСТРУИРУЕМ
РОБОТОВ

на

LEGO

MINDSTORMS
Education EV3

Ханойская
башня
2-е издание,
электронное

Лаборатория знаний
Москва
2022

УДК 373.167
ББК 32.97
Т19

С е р и я о с н о в а н а в 2016 г.
Ведущие редакторы серии Т. Г. Хохлова, Ю. А. Серова
Тарапата В. В.
Т19
Конструируем роботов на LEGO○ MINDSTORMS○
Education EV3. Ханойская башня / В. В. Тарапата, А. В. Красных, А. А. Салахова. — 2-е изд., электрон. —
М. : Лаборатория знаний, 2022. — 88 с. — (РОБОФИШКИ). — Систем. требования: Adobe Reader XI ; экран 10". —
Загл. с титул. экрана. — Текст : электронный.
ISBN 978-5-00101-971-8
R

R

Стать гениальным изобретателем легко! Серия книг «РОБОФИШКИ» поможет вам создавать роботов, учиться и играть
вместе с ними.
С помощью деталей конструктора LEGO○ MINDSTORMS○
Education EV3 вы сможете собрать робот-манипулятор, решающий головоломку «Ханойская башня» с тремя дисками.
Для технического творчества в школе и дома, а также
на занятиях в робототехнических кружках.
УДК 373.167
ББК 32.97
R

R

Деривативное издание на основе печатного аналога: Конструируем роботов на LEGO○ MINDSTORMS○ Education EV3. Ханойская башня / В. В. Тарапата, А. В. Красных, А. А. Салахова. —
М. : Лаборатория знаний, 2018. — 81 с. : ил., [4] с. цв. вкл. —
(РОБОФИШКИ). — ISBN 978-5-00101-158-3.
R

R

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных
техническими средствами защиты авторских прав, правообладатель вправе требовать от
нарушителя возмещения убытков или выплаты компенсации

ISBN 978-5-00101-971-8

© Лаборатория знаний, 2018

Здравствуйте!

Издание, которое вы держите сейчас в руках, — это не просто описание
и практическое руководство по выполнению конкретного увлекательного проекта по робототехнике. И то, что в результате вы самостоятельно
сумеете собрать своими руками настоящее работающее устройство, —
это, конечно, победа и успех!
Но главное — вы поймёте, что такие ценные качества характера,
как терпение, аккуратность, настойчивость и творческая мысль, проявленные при работе над проектом, останутся с вами навсегда, помогут
уверенно создавать своё будущее, стать реально успешным человеком,
независимо от того, с какой профессией свяжете жизнь.
Создавать будущее — сложная и ответственная задача. Каждый день
становится открытием, если он приносит новые знания, которые затем
могут быть превращены в проекты. Особенно это важно для тех, кто
выбрал дорогу инженера и технического специалиста. Знания — это
база, которая становится основой для свершений.
Однако технический прогресс зависит не только от знаний, но и от
смелости создавать новое. Всё, что нас окружает сегодня, придумано
инженерами. Их любопытство, желание узнавать неизведанное и конструировать то, чего никто до них не делал, и создают окружающий
мир. Именно от таких людей зависит, каким будет наш завтрашний
день. Только идеи, основанные на творческом подходе, прочных знаниях и постоянном стремлении к новаторству, заставляют мир двигаться
вперёд.
И сегодня, выполнив этот проект и перейдя к следующим, вы сделаете очередной шаг по этой дороге.
Команда Программы «Робототехника:
Инженерно-технические кадры инновационной России»
Фонда Олега Дерипаска «Вольное дело»

3

Дорогой друг!

Как видно, ты уже совсем не новичок в LEGO, раз добрался до набора
LEGO® MINDSTORMS® Education EV3 и, конечно, быстро собрал всё,
что там предлагалось!
Что же делать теперь? Набор дорогой, выбрасывать жалко, а у младшего братика (если он есть) пока другие игрушки. Не расстраивайся!
Мы тебе поможем.
Из этого набора можно собрать ещё много интересных и полезных
вещей. Хотел бы ты собрать робота для решения одной из древнейших
головоломок, которая и по сей день остаётся любимой и занимательной? Может быть, именно твой робот обойдёт монахов, решающих задачу «Ханойская башня»?
Задумайся над этим!

Внимание!
Ты можешь собрать свои достижения
в робототехнике в электронное портфолио!
Фотографируй или фиксируй на видео результаты своей работы, чтобы потом представить их для участия в творческих конкурсах. Результаты конкурсов и олимпиад
засчитываются при поступлении в профессиональные учебные заведения.

4

Фактически за какой-то час работы
ты сумеешь пройти многовековой
путь изобретателей прошлого! Почему в настоящее время такое стало возможно? Можно ли изобрести
что-нибудь новое, не зная, какие машины и механизмы существовали в
прошлом? Как интереснее работать —
одному или вместе с другом?

Тайна Ханойской башни

Независимо от возраста многие любят решать головоломки. Одной из
самых любимых и занимательных головоломок считается «Ханойская
башня», имеющая к тому же захватывающую легенду. Самое интересное
в её легенде то, что там нет Ханоя. Эту игру в 1883 году представил
миру Франсуа Эдуард Анатоль Люка (1842–1891), математик и предприниматель. Он стал продавать игрушку, которую сопроводил аннотацией в виде рассказа путешественника — некоего профессора Клауса
из университета Ли-Су-Стьян (Li-Sou-Stian), посетившего индуистский
монастырь в далёком городе Бенарес. Вскоре первая дополнительная
головоломка была разгадана — покупатели поняли, что имя профессора
(Claus) было анаграммой собственного имени Франсуа Люка (Lucas).
Вернёмся к игре. По легенде, сопровождающей головоломку, в начале времён могущественный индуистский бог Брахма, олицетворяющий
творческое начало, решил наказать провинившихся монахов Великого
храма Бенареса, в котором находился бронзовый диск, отмечавший середину мира. В ярости бог воздвиг на диске три алмазных стержня и на
один из них возложил 64 диска из чистого золота — от самого большого
у основания стержня до крошечного на его конце. Священнослужители

Рис. 1. Игрушка «Ханойские башни»
из дерева (источник: google.com)

Рис. 2. Портрет Франсуа Люка
(источник: ru.Wikipedia.org)

5

должны перенести все диски на другой стержень с единственным условием: больший диск не должен никогда лежать на меньшем. Когда все
64 диска будут перенесены, наступит конец света! И монахи стараются
изо дня в день, не покладая рук…
Странная ситуация: после окончания игры произойдёт конец света,
а монахи стараются приблизить этот момент. Дело в том, что в легенде подразумевается конец этого света, то есть мира, в котором
есть страдания, боль и несправедливость. Когда игра закончится, все
попадут в мир бесконечной радости и счастья. То есть наказание монахов заключается как раз в том, что конец света не может случиться раньше, чем они перенесут диски. Всего они должны совершить
18 446 744 073 709 551 615 перемещений, что отодвигает их цель на
сотни миллиардов лет, даже если они будут работать без сна, отдыха
и очень быстро. Город для действия легенды был выбран далеко не
случайно. Бенарес (он же Варанаси) в индуистской космологии является центром Земли. Для буддистов он имеет такое же значение, как
Ватикан — для католиков. В этом городе, главном и оттого великом,
всегда пребывали наиболее мудрые и учёные последователи Брахмы.
Как ты можешь знать, многие великие открытия и достижения в математике и смежных областях были сделаны в Индии. Например, там
появились шахматы и десятичная система счисления.
Легенда за годы обрастала новыми подробностями, меняла место
действия, количество дисков, изменялись другие детали сюжета. Подробнее узнать о легенде и авторе игры ты можешь в книге С. М. Окулова и А. В. Лялина «Ханойские башни».
Классический вариант игры предусматривает три стержня и различающиеся по размеру кольца. Рекурсивный алгоритм для решения го-

Рис. 3. Вид на современный Бенарес (источник: pixabay.com)

6

ловоломки с тремя стержнями и n
дисками таков.
Кстати! Знакомая всем с детства и встре1. Перенести башню из n-1 дисков
чаемая фактически в каждой газете или
на второй стержень.
журнале головоломка — кроссворд — была
2. Перенести самый большой, n-й,
изобретена в 1913 году Артуром Винном.
диск на третий стержень.
3. Перенести башню из n-1 дисков
на третий стержень.
Минимальное количество ходов для решения составит 2n – 1, где n —
это число дисков. В информатике задачу «Ханойская башня» часто
рассматривают на уроках программирования при изучении рекурсии.
Раз речь зашла о программировании, значит, процесс можно автоматизировать. Ж. Арсак в книге «Программирование игр и головоломок» опубликовал рассказ «Ханойские башни. Печальный конец
Паскаля-младшего». В нём главный герой утверждает, что легенда
о задаче «Ханойская башня» реальна. В письме к своему бывшему
преподавателю он описывает своё путешествие в Индию в составе туристической группы. К нему как к программисту обратились с просьбой прийти в храм священнослужители Брахмы. Паскаль-младший
удивился и сказал, что его обманывают, ведь каждому известно, что
головоломку придумал преподаватель Люка из Университета СентЛуи. Священнослужители же поведали, что произошло великое заблуждение в мире и действительно монахи храма Брахмы переносят
диски с одного алмазного стержня на другой, а Люка всего лишь
обнародовал историю, рассказанную ему путешественником. Особую
тревогу у служителей Брахмы вызывало время, требуемое для решения головоломки. Настоятель храма поведал, что монахи привлекали
также учёного из США, который анализировал задачу и пытался написать программу для робота-манипулятора. Но робот проводил операции медленнее, чем натренированные монахи, отточившие навыки
до совершенства. Затем монахи изменили задачу и стали перемещать
диски, используя четыре стержня, что должно было ускорить процесс.
Однако монахам сложно было запомнить нужную последовательность
перемещения, и процесс значительно замедлялся. Поэтому настоятель
обратился к Паскалю-младшему с просьбой о создании робота-манипулятора для решения задачи уже с четырьмя стержнями. На вопрос,
будет ли считаться трудом монахов работа манипулятора, настоятель
лишь улыбнулся и ответил, что робота создают люди и люди же пишут программу. И Паскаль-младший действительно написал программу и собрал манипулятор, решавший головоломку «Ханойская башня» с четырьмя стержнями.
А сможешь ли ты создать робот-манипулятор и написать к нему
программу, инженер? Вперёд!

7
Powered by TCPDF (www.tcpdf.org)

Обозначения
Оборудование:
• Базовый набор LEGO MINDSTORMS
®

®

Education EV3.
• Компьютер

(минимальные

системные

требования): Windows XP, Vista, Windows 8 (за исключением METRO), Windows 10 (32/64 бит), оперативная память не менее 1 Гб, процессор — 1,6 ГГц
(или быстрее), разрешение экрана —
1024 u 600, свободное место на диске —
5 Гб.
• Программное обеспечение LEGO® MINDSTORMS® Education EV3 (LME-EV3).

8

В тексте тебе встретятся обозначения, которые мы сейчас поясним на
примерах.
1. Балка 7-модульная, или балка
№ 7 — это балка с семью отверстиями.
2. 3-модульный штифт — штифт,
длина которого равна длине балки
№ 3.
3. Ось 5-модульная, или ось № 5 —
ось, длина которой равна длине балки № 5.

Этап 1. Устройство
робота-манипулятора

Рассмотри модель робота-манипулятора, собранную на основе набора
LEGO® MINDSTORMS® Education EV3.
Попробуй выделить в ней рабочие детали — «клешню», которой он
делает захват предмета; рычаг, позволяющий опускать и поднимать
«клешню»; поворотный механизм, обеспечивающий вращение манипулятора; датчик касания в нижней части для калибровки угла поворота;
датчик касания в верхней части рычага для калибровки высоты захвата-«клешни».
Обрати внимание, на вклейке в таблице даны все детали, которые
потребуются тебе для сборки. Эта таблица поможет быстро найти то,
что необходимо, и не ошибиться при конструировании.
Вот так выглядит робот-манипулятор, которого тебе предстоит собрать.

9

Этап 2. Сборка
робота-манипулятора

ШАГ 1. СБОРКА ОСНОВАНИЯ МАНИПУЛЯТОРА И РЕДУКТОРА
ПРИВОДА ПОВОРОТА СТРЕЛЫ

°

• угловая балка, 3 u 7-модульная, серая, 2х;
• угловая балка, 3 u 5-модульная, белая, 2х;
• угловая балка, 2 u 4-модульная, красная,
2х;
• ось, 6-модульная, чёрная, 2х;
• ось с головкой, 8-модульная, тёмно-серая, 1х;
• труба, 2-модульная, серая, 3х;
• стрелка, 3-модульная, белая, 1х;
• соединительный штифт с фрикционной
муфтой, 2-модульный, чёрный, 6х;
• соединительный штифт с фрикционной
муфтой/осью, 2-модульный, синий, 6х;
• соединительный штифт с фрикционной
муфтой, 3-модульный, синий, 8х;
• соединительный

штифт

со

втулкой,

3-модульный, красный, 10х;
• двойной соединительный штифт, 3 u 3модульный, серый, 2х;
• угловой соединительный штифт, 3 u 3модульный, серый, 2х;

Детали для сборки:

• большой мотор, 1х;

• рама, 5 u 7-модульная, серая, 2х;

• двойное коническое зубчатое колесо,

• балка, 3-модульная, зелёная, 1х;

12 зубьев, чёрное, 1х;

• балка, 5-модульная, серая, 1х;

• двойное коническое зубчатое колесо,

• балка, 9-модульная, серая, 3х;
• балка, 15-модульная, белая, 2х;

• датчик касания, 1х;

• двойная угловая балка, 3 u 7-модульная,

• кабель, 25 см, 2х;

белая, 1х;

10

36 зубьев, чёрное, 1х;

°

• модуль EV3, 1х.

1. Возьми две белые балки № 15 и
вставь в их первые и тринадцатые модули по одному красному
штифту со втулкой.

2. С нижней стороны балок вставь
четыре чёрных штифта: два —
в седьмые модули, два — в пятнадцатые модули.

3. Теперь возьми модуль EV3 и поверни его буквенными разъёмами
к себе. Возьми одну белую балку
в сборе со штифтами и надень
её в крепление под буквенными
разъёмами так, как показано на
рисунке.

4. Вставь вторую белую балку под
числовыми разъёмами блока EV3
аналогично предыдущей балке.

11

5. Теперь возьми две белые угловые
балки 3 u 5 и расположи их так,
чтобы короткие части балок смотрели друг на друга, а длинные
части находились слева от коротких. Вставь в длинные части балок в первый и третий модули по
одному угловому соединительному штифту 3 u 3 так, чтобы угловые части штифтов находились
снаружи.
6. Далее возьми готовые детали и
вставь угловые штифты в белые
балки № 15 в десятые модули так,
чтобы третьи модули коротких
сторон угловых балок совместились с креплениями сбоку блока
EV3.

7. Возьми два синих 3-модульных
штифта и вставь их длинными
концами в крайние модули коротких сторон угловых балок, закрепив их в боковых модулях блока
EV3.

12

8. На свободные концы синих штифтов надень по одной 2-модульной
серой трубе.

9. Теперь возьми две серые угловые
балки 3 u 7 и вставь в их крайние
крестовые модули по одному синему 2-модульному штифту.

10. Снизу в четвёртые и седьмые модули длинных сторон серых угловых балок вставь по одному красному 2-модульному штифту.

11. Возьми две серые балки № 9 и
надень их на свободные концы
синих и красных штифтов шестыми и девятыми модулями.

13

12. Теперь соедини собранную конструкцию с блоком EV3, надев
серые балки № 9 на красный и
чёрный штифты, как показано на
рисунке.

13. Возьми большой мотор и поверни
его так, чтобы привод располагался справа, а разъём — слева.

14. Далее возьми Н-образный штифт
и вставь его в крепление под
разъёмом.

15. Возьми чёрную ось № 6 и вставь
её в привод большого мотора насквозь.

14

16. С противоположной стороны привода большого мотора на свободный конец чёрной оси надень
двойное коническое колесо на
12 зубьев.

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

18. На свободный конец синего штифта надень зелёную балку № 3 третьим модулем, а с противоположной стороны — серую балку № 5
третьим модулем.

19. Теперь возьми ещё один синий
3-модульный штифт и вставь его
коротким концом во второй модуль зелёной балки № 3.

15
Powered by TCPDF (www.tcpdf.org)

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

21. Возьми чёрную ось № 6 и вставь
её в крестовой модуль крепления
датчика касания насквозь через
крепление большого мотора, но
не до конца.

22. Далее возьми белую двойную
угловую балку 3 u 7 и поверни её
так, чтобы угловая часть располагалась слева вверху. Возьми тёмно-серую ось № 8 с головкой и
снизу вставь её в шестой модуль
длинной стороны.

16

23. Теперь возьми белую 3-модульную стрелку и надень её на тёмно-серую ось № 8 до конца.

24. Поверх стрелки надень на ось серую 2-модульную трубу.

25. Возьми собранный узел с большим мотором и надень подготовленную деталь так, чтобы второй
модуль короткой стороны белой
угловой балки совпал со штифтом под разъёмом большого мотора, а первый и второй модули
длинной стороны попали на чёрный и синий штифты. При этом
обрати внимание на тёмно-серую
ось — её конец должен войти
в пятый модуль серой балки № 5.

17

26. Теперь поверни собранную конструкцию на бок так, чтобы разъём большого мотора находился
слева, а датчик касания располагался ближе к тебе.

27. Надень на свободный конец тёмно-серой оси двойное коническое
зубчатое колесо на 36 зубьев. При
этом обрати внимание на белую
стрелку: она должна быть расположена параллельно белой балке,
находящейся под ней.

28. Далее возьми две серые рамки
5 u 7 и соедини их длинными сторонами с помощью Н-образного
штифта, вставленного во вторые
и четвёртые модули.

18

29. Теперь возьми два красных соединительных 3-модульных штифта
и вставь их изнутри в короткие
стороны серых рамок в третьи
модули.

30. Возьми серую балку № 9 и вставь
длинными концами по одному синему 3-модульному штифту в её
первый, второй, восьмой и девятый модули.

31. Надень собранную балку синими
штифтами на собранные вместе
серые рамки напротив красных
штифтов в коротких сторонах.

32. Далее поверни большой мотор
разъёмом к себе и вставь в крепления, расположенные возле
разъёма, по одному синему 2-модульному штифту во вторые модули крепления.

19

33. На свободные концы синих штифтов надень красные угловые балки
2 u 4 крестовыми модулями так,
чтобы короткие стороны этих балок смотрели в разные стороны.

34. Возьми два чёрных штифта и
вставь их по одному в короткие
стороны красных балок: слева во
второй модуль, а справа в первый.

35. Теперь возьми собранные вместе
серые рамки, совмести их внутренними синими штифтами со
свободными модулями коротких
сторон красных балок и вставь
их до упора, при этом чёрные
штифты должны быть вставлены
в третий и седьмой модули серой балки № 9, расположенной на
рамках.
36. Возьми собранный узел поворота
и для удобства вставь в разъёмы
большого мотора и датчика касания по одному кабелю по 25 см.

20

37. Теперь возьми ранее собранную
конструкцию с блоком EV3 и
расположи её так, чтобы блок находился слева и буквенные разъёмы смотрели на тебя. Совмести
между собой серые трубы, расположенные на правом боку блока
EV3, и синие штифты, расположенные на узле поворота манипулятора, и вставь штифты в трубы
до упора.
38. Вставь свободный штекер на проводе от большого мотора в разъём С блока EV3.

39. Вставь свободный штекер на проводе от датчика касания в разъём
№ 1 блока EV3.

21

ШАГ 2. СБОРКА ПОВОРОТНОГО ОСНОВАНИЯ СТРЕЛЫ

Детали для сборки:
• рама, 5 u 11-модульная, серая, 1х;
• балка, 7-модульная, серая, 2х;
• балка, 11-модульная, серая, 4х;
• угловая балка, 3 u 5-модульная, серая,
2х;
• соединительный штифт с фрикционной
муфтой, 2-модульный, чёрный, 16х;
• соединительный штифт с фрикционной
муфтой, 3-модульный, синий, 7х;
• двойной

соединительный

штифт,

3 u 3-модульный, серый, 2х;
• двойной соединительный штифт, 3-модульный, серый, 2х;
• поперечный блок, 3 u 2-модульный, серый, 1х;
• поворотный стол (вращающаяся верхушка, 28 зубьев, чёрная + вращающееся днище, 28 зубьев, серое), 1х;
• угловой блок 1, 0q, чёрный, 1х.

1. Соберём поворотное основание
для стрелы манипулятора. Возьми серую балку № 11 и вставь
по одному чёрному штифту в её
второй, четвёртый, восьмой и десятый модули.

2. Вставь двойной соединительный
3-модульный штифт в шестой
модуль с противоположной стороны от чёрных штифтов. (Важно!
Поверни установленную деталь
отверстием вверх, так как через
него будет продета серая ось.)

22

3. Далее возьми два серых Н-образных штифта и вставь их со стороны серого штифта в первый и
третий, девятый и одиннадцатый
модули.

4. Теперь возьми два синих 3-модульных штифта и вставь их короткими концами в пятый и седьмой модули балки со стороны
серых штифтов.

5. Разверни собранную деталь. Возьми две половины поворотного
стола и соедини их между собой.
Надень собранный поворотный
стол серыми модулями (днищем)
на свободные концы синих штифтов до упора.
6. Далее возьми серую балку № 11
и надень её на свободные концы
серых и синих штифтов до упора.

7. Возьми четыре чёрных штифта и
вставь их в серую балку № 11 во
второй, четвертый, восьмой и десятый модули.

23
Powered by TCPDF (www.tcpdf.org)

8. Теперь возьми ещё две серые балки № 11 и надень их с обеих сторон на свободные чёрные штифты
до упора.

9. Поверни конструкцию, собранную на Шаге 1, так, чтобы чёрное
двойное коническое колесо располагалось справа, а блок EV3 —
слева. Возьми собранное поворотное основание и надень его на серую ось сквозь поворотный стол.

10. Зафиксируй поворотное основание двумя красными 3-модульными штифтами, находящимися
в торцах серых рамок, продев их
насквозь в третий и девятый модули серой балки № 11.

11. Теперь возьми четыре чёрных
штифта и вставь их спереди в серую балку № 11 поворотного основания в третий, пятый, седьмой
и девятый модули.

24

12. Теперь возьми серую рамку 5u11
и надень её снизу вторым и десятым модулями на свободные концы синих штифтов, а сверху на
свободные концы чёрных штифтов.

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

14. Возьми чёрный угловой блок 1
и вставь его в отверстие чёрного
поворотного стола. Надень его до
упора на конец серой оси внутри
поворотного стола.

15. Возьми три синих 3-модульных
штифта и вставь их в чёрные модули поворотного стола короткими концами, а в модуль углового
блока 1 длинной стороной.

25

16. На свободные концы синих штифтов надень серую балку № 7 четвёртым и шестым модулями.

17. Далее возьми двойной соединительный 3-модульный штифт и
вставь его в седьмой модуль серой балки № 7.

18. Возьми два синих 3-модульных
штифта и вставь их короткими
концами в первый и третий модули серой балки № 7.

19. Теперь возьми серый двойной поперечный блок 3u 2 и надень его
на свободные концы синих штифтов так, чтобы крестовой модуль
находился снизу.

26

20. Теперь возьми серую балку № 7
и надень её на свободные концы трёх синих и одного серого
штифта первым, третьим, пятым
и седьмым модулями.

21. Далее расположи поворотное основание так, как показано на
рисунке. Возьми один чёрный
штифт и вставь его в седьмой модуль серой балки № 7.

22. На свободные концы двух синих
и одного чёрного штифтов надень
серую угловую балку 3 u 5 длинной стороной так, чтобы короткая
сторона смотрела вверх.

23. С обратной стороны в серую балку № 7 вставь три чёрных штифта во второй, четвёртый и шестой
модули.

27

24. На свободные концы чёрных
штифтов надень длинной стороной серую угловую балку 3 u 5
так, чтобы короткая сторона смотрела вверх.

ШАГ 3. СБОРКА ПРИВОДА СТРЕЛЫ МАНИПУЛЯТОРА

Детали для сборки:
• балка, 9-модульная, серая, 2х;
• балка, 13-модульная, серая, 2х;
• угловая балка, 3 u 7-модульная, серая, 2х;
• угловая балка, 4 u 6-модульная, чёрная, 2х;
• угловая балка, 2 u 4-модульная, красная,
2х;
• ось, 2-модульная, красная, 2х;
• ось, 3-модульная, серая, 5х;
• ось, 7-модульная, серая, 1х;
• ось, 10-модульная, чёрная, 1х;
• поперечный блок, 3-модульный, тёмно-серый, 2х;
• двойной поперечный блок, 3-модульный, чёрный, 1х;
• угловой блок 2, 180q, чёрный, 2х;
• втулка/удлинитель

оси,

2-модульная,

красная, 2х;
• зубчатое колесо, 8 зубьев, тёмно-серое,
2х;
• соединительный штифт с фрикционной
муфтой, 2-модульный, чёрный, 6х;
• соединительный штифт с фрикционной
муфтой, 3-модульный, синий, 2х;
• соединительный штифт с фрикционной
муфтой/осью, 2-модульный, синий, 4х;
• большой мотор, 1х.

28

1. Возьми большой мотор и вставь в
его привод чёрную ось № 10 насквозь.

2. Поверни мотор так, чтобы привод
находился слева, а крепление —
под разъёмом справа вверху. Возьми чёрный двойной 3-модульный
поперечный блок и вложи его
первым модулем между креплениями мотора напротив второго
модуля. Продень через крестовые
модули на моторе и поперечном
блоке серую ось № 7.
3. Далее в третий модуль чёрного поперечного блока вставь насквозь серую ось № 3.

4. Возьми две красные втулки-удлинители и надень их на концы
серой оси № 3 с обеих сторон до
упора.

29

5. В свободные модули красных втулок вставь по одной серой оси
№ 3.

6. Теперь возьми два синих 3-модульных штифта и вставь их короткими концами в первые модули крепления мотора.

7. Далее возьми две серые балки
№ 9 и надень их с обеих сторон
на свободные концы чёрной, серой осей и синего штифта, как
показано на рисунке.

8. Возьми два синих 2-модульных
штифта и вставь их по одному
справа в седьмой, а слева в третий модули.

30

9. Возьми две чёрные угловые балки
4 u 6 и надень их длинными сторонами справа первым, вторым
и третьим модулями, а слева четвёртым, пятым и шестым модулями так, чтобы короткие стороны
балок находились вверху.

10. Возьми два тёмно-серых 3-модульных поперечных блока и надень
их на свободные концы серой оси
так, чтобы круглые модули находились ближе к редуктору.

11. Возьми два чёрных штифта и
вставь их с обеих сторон в серые
балки № 9 во вторые модули рядом с приводом большого мотора,
а в третьи модули вставь по одному синему 2-модульному штифту.

12. Возьми две серые угловые балки 3u 7 и положи их рядом друг
с другом так, чтобы короткие стороны смотрели в разные стороны.
Возьми четыре чёрных штифта и
вставь их в балки, как показано
на рисунке.

31
Powered by TCPDF (www.tcpdf.org)

13. В крестовые модули длинных
сторон вставь по одной серой оси
№ 3.

14. Возьми две красные угловые балки 2u4 и надень их короткими
сторонами на свободные концы
чёрных штифтов так, чтобы длинные стороны этих балок смотрели
внутрь.

15. Возьми одну серую угловую балку 3u7 в сборе с красной угловой балкой и осью и надень её
короткой стороной слева на свободные чёрный, синий штифты и
на свободный конец чёрной оси
так, чтобы длинная сторона балки
смотрела вниз наружу.

16. Возьми серую балку № 13 и первым модулем надень её на свободный конец серой оси в крестовом
модуле серой угловой балки.

32

17. Сверху на свободный конец серой
оси надень угловой блок 2.

18. Возьми ещё один угловой блок 2
и вставь в его крестовые модули
по одной красной оси № 2.

19. Возьми собранную деталь и одним концом красной оси вставь
её в крестовой модуль длинной
стороны угловой красной балки
2u4.

20. Теперь возьми вторую серую
угловую балку в сборе с красной
угловой балкой и осью и надень
на свободный конец серой оси
№ 3 ещё одну серую балку № 13
первым модулем.

33

21. Собранную конструкцию надень
короткой стороной справа на синий и чёрный штифты первым и
вторым модулями, третьим модулем на свободный конец чёрной
оси так, чтобы ось в первом модуле длинной стороны попала в
крестообразный модуль углового
блока 2.

22. Возьми два зубчатых колеса на
8 зубьев и надень их на свободные концы чёрной оси в приводе
большого мотора.

Теперь отложи собранный привод стрелы, он нам понадобится позже.
А пока продолжи собирать стрелу манипулятора.
ШАГ 4. СБОРКА СТРЕЛЫ МАНИПУЛЯТОРА

34

Детали для сборки:
• балка с поперечным отверстием, 2-модульная, чёрная, 1х;
• балка, 13-модульная, серая, 6х;
• балка, 15-модульная, белая, 2х;
• двойная угловая балка, 3u7-модульная,
белая, 1х;
• угловая балка, 2u4-модульная, красная,
2х;
• ось, 3-модульная, серая, 2х;
• ось, 5-модульная, серая, 1х;
• ось 10-модульная, чёрная, 1х;
• двойной соединительный штифт, 3u3-модульный, серый, 1х;
• вилка поперечного блока, 2u2-модульная, чёрная, 1х;
• балка 1/2 , 4-модульная, чёрная, 2х;
• соединительный штифт с фрикционной
муфтой, 2-модульный, чёрный, 10х;
• соединительный штифт с фрикционной
муфтой, 3-модульный, синий, 5х;
• зубчатое колесо, 40 зубьев, серое, 2х;
• датчик касания, 1х.

1. Возьми две чёрные 4-модульные
балки 1/2 и сложи их вместе. Через первый модуль обеих балок
продень насквозь серую ось № 5.

2. В третий модуль вставь коротким концом синий 3-модульный
штифт.

35

3. На свободные концы серой оси
и синего штифта надень красную
угловую балку 2u4 так, чтобы короткая часть балки располагалась
справа.

4. Возьми чёрный штифт и вставь
его во второй модуль длинной
стороны красной угловой балки.

5. Переверни деталь чёрной балкой 1/2 к себе и вставь коротким
концом в её третий модуль синий
3-модульный штифт.

6. На концы серой оси и синего
штифта надень длинной стороной
красную угловую балку 2u4 так,
чтобы короткая сторона находилась слева.

7. Вставь чёрный штифт во второй
модуль длинной стороны угловой
красной балки.

36

8. Далее на свободные концы штифтов и оси надень серую балку
№ 13 вторым, третьим и четвёртым модулями.

9. Возьми белую двойную угловую
балку 3u7 и вставь во второй и
седьмой модули её длинной стороны длинными концами по одному синему 3-модульному штифту.

10. На крайний модуль короткой стороны белой угловой балки 3u7
надень вилку поперечного блока
и закрепи её, продев в крайние
модули серую ось № 3 насквозь.

11. Возьми две серые балки № 13
и надень их с обеих сторон на
свободные концы синих штифтов
в белой угловой балке шестыми
и одиннадцатыми модулями.

12. Далее в восьмой и тринадцатый
модули серой балки № 13 вставь
два чёрных штифта.

37

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

15. Сверху надень ещё одну серую
балку № 13: первым и шестым
модулями — на свободные концы
чёрных штифтов в серой балке
№ 13, а десятым, одиннадцатым и
двенадцатым модулями — на свободные концы серой оси и синего и чёрного штифтов в красной
балке.
16. Теперь возьми собранный на
Шаге 3 привод стрелы манипулятора и поверни его так, чтобы
разъём большого мотора располагался справа. Далее возьми собранную часть стрелы и вложи её
между серыми угловыми балками
3u7, предварительно вытащив
чёрную ось № 10, так, чтобы короткие части красных балок находились внизу у привода мотора.

38

17. Продень чёрную ось № 10 так,
чтобы она прошла через первый
модуль серой балки и остальных
деталей насквозь.

18. На свободные концы этой оси с
каждой стороны надень по одному серому зубчатому колесу на
40 зубьев. Они должны войти в
зацепление с серыми зубчатыми
колёсами на 8 зубьев.

19. Теперь собери верхнюю часть
стрелы. Для этого возьми две белые балки № 15 и вставь по два
чёрных штифта в их восьмые
и двенадцатые модули.

20. Далее возьми эти балки и установи свободными концами штифтов
в серые балки № 13 изнутри в девятые и тринадцатые модули.

39
Powered by TCPDF (www.tcpdf.org)

21. Вставь Н-образный соединительный штифт 3u3 во второй и четвёртый модули изнутри серой
балки № 13, расположенной ближе к тебе.

22. Теперь сложи собранную конструкцию, чтобы белая угловая
балка оказалась между двумя белыми балками № 15. Затем сверху на свободные концы серого
штифта надень датчик касания
так, чтобы разъём находился слева, а кнопка — напротив чёрной
вилки.
23. Соберём крепление верхней части
стрелы манипулятора. Для этого возьми чёрную 2-модульную
балку с поперечным отверстием
и вставь в неё насквозь серую ось
№ 3, а также — длинным концом —
синий 3-модульный штифт.
24. Возьми собранную деталь и вставь
её свободными концами синего штифта и серой оси в распор
между белыми балками в девятый
и десятый модули.

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

40

ШАГ 5. СБОРКА ЗАХВАТА МАНИПУЛЯТОРА

°

• червячное колесо, серое, 1х;

Детали для сборки:
• балка, 3-модульная, зелёная, 2х;

• трёхгранная балка 1/2 , 3u5-модульная,

• балка, 3-модульная, жёлтая, 2х;

серая, 4х;

• балка, 5-модульная, серая, 2х;

• средний мотор, 1х.

• балка, 9-модульная, серая, 1х;
• двойная угловая балка, 3u7-модульная,
белая, 2х;
• ось, 2-модульная, красная, 1х;
• ось, 3-модульная, серая, 6х;
• ось, 6-модульная, чёрная, 1х;
• поперечный блок, 3-модульный, тёмно-серый, 4х;
• двойной поперечный блок, 3-модульный, чёрный, 2х;
• втулка, 1/2-модульная, жёлтая, 2х;
• втулка, 1-модульная, серая, 2х;
• соединительный штифт с фрикционной
муфтой, 2-модульный, чёрный, 2х;
• соединительный штифт с фрикционной
муфтой/осью, 2-модульный, синий, 2х;
• соединительный штифт с фрикционной
муфтой, 3-модульный, синий, 10х;
• соединительный штифт, 3-модульный,
бежевый, 2х;
• зубчатое колесо, 8 зубьев, тёмно-серое,
2х;
• зубчатое колесо, 24 зуба, тёмно-серое,
2х;

°

1. Возьми средний мотор и вставь
в его привод красную ось № 2.

41

2. На свободный конец оси надень
зубчатое колесо на 8 зубьев.

3. Теперь собери редуктор захвата.
Для этого возьми чёрную ось № 6
и надень на неё жёлтую 1/2-модульную втулку.

4. Сверху надень червячное колесо
и ещё одну жёлтую втулку.

5. Теперь возьми чёрный поперечный 3-модульный блок и вставь
в его крайние модули по одной
серой оси № 3.

6. Теперь возьми ещё один чёрный
поперечный блок и вставь в его
крайние модули по одной серой
оси, а сверху на свободные концы
осей надень по одной серой 1-модульной втулке.

42

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

8. Теперь возьми подготовленную
чёрную ось с червячным колесом
и втулками и продень её свободный конец через центральный модуль чёрного блока.

9. Возьми второй собранный чёрный блок и, продев в его средний
модуль свободный конец чёрной
оси, вставь в крайние модули
трёхгранных балок свободными
концами серых осей № 3.

10. Теперь возьми серое зубчатое колесо на 8 зубьев и, задвинув чёрную ось вровень с чёрным поперечным блоком, надень его на
противоположный свободный конец оси снаружи.

43

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

12. Теперь возьми два зубчатых колеса на 24 зуба и в их центральные
отверстия вставь по одной серой
оси № 3.

13. На свободные концы осей надень
крестовыми модулями по одному
тёмно-серому 3-модульному поперечному блоку.

14. Теперь возьми зубчатые колёса
в сборе с поперечными блоками
и надень их свободными концами
осей в средние модули трёхгранных балок так, чтобы зубчатые
колёса находились снизу, а тёмно-серые блоки — сверху и смотрели в разные стороны.

44

15. Зафиксируй собранные детали
ещё двумя трёхгранными балками
3u5, надев их крайними модулями сверху на свободные концы
серых осей.

16. Теперь, поворачивая зубчатое колесо на 8 зубьев, опусти тёмно-серые блоки вертикально вниз.
Возьми два синих 3-модульных
штифта и вставь их снаружи короткими концами в крайние модули тёмно-серых блоков на зубчатых колёсах.

17. Возьми два чёрных штифта и
вставь их в средние модули.

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

45

19. Возьми два синих 2-модульных
штифта и вставь их в первые модули зелёных балок.

20. Переверни собранную конструкцию и надень на концы синих
штифтов две белые угловые балки
3u7 первыми и третьими модулями коротких сторон так, чтобы
длинные стороны балок находились наверху.

21. Теперь возьми четыре синих 3-модульных штифта и вставь их по
два короткими концами в длинные стороны белых угловых балок изнутри во вторые и четвёртые модули.

46

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

23. Сверху на свободные концы синих штифтов надень по одной
серой балке № 5 вторыми и четвёртыми модулями.

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

47
Powered by TCPDF (www.tcpdf.org)

25. В крепления под приводом вложи
серую балку № 9 третьим и пятым
модулями. Снаружи зафиксируй
балку синими 3-модульными штифтами, вставив их длинные концы
в первый и третий модули крепления среднего мотора. А в шестой
и девятый модули серой балки
№ 9 вставь длинными концами
два бежевых 3-модульных штифта.
Они потребуются для крепления
мотора на стреле манипулятора.

26. Теперь возьми собранные привод
и захват манипулятора и вложи
свободный конец серой балки № 9
на среднем моторе между двумя
поперечными тёмно-серыми блоками так, чтобы зубчатые колёса
на среднем моторе и на редукторе
захвата вошли в зацепление.

27. Снаружи вставь два синих 3-модульных штифта длинными сторонами в один из тёмно-серых
поперечных блоков насквозь в
первый и второй модули серой
балки № 9.

48

28. Теперь соедини захват и стрелу манипулятора. Для этого раздвинь белые балки № 15 на стреле
и вставь между ними в крайние
модули изнутри свободные концы
бежевого штифта, находящегося в
крайнем модуле серой балки № 9
на захвате манипулятора. То же
самое проделай с серыми балками на стреле манипулятора и
вставь между ними концы бежевого штифта в четвёртом модуле
серой балки № 9.
ШАГ 6. СОЕДИНЕНИЕ ОСНОВАНИЯ СО СТРЕЛОЙ
МАНИПУЛЯТОРА И ПОДКЛЮЧЕНИЕ ПРОВОДОВ

Детали для сборки:
• соединительный

штифт

со

втулкой,

3-модульный, красный, 4х;
• кабель, 35 см, 2х;
• кабель, 50 см, 1х.

49

1. Для того чтобы соединить основание со стрелой манипулятора,
возьми четыре красных 3-модульных штифта и вставь их в чёрные угловые балки 4u6 на стреле
манипулятора во вторые и третьи
модули коротких сторон снаружи,
но не до конца.
2. Теперь совмести стрелу манипулятора с поворотным основанием
так, чтобы захват располагался со
стороны длинной части поворотной площадки, и задвинь штифты
до упора.

3. Теперь присоедини провода, но помни, что два провода 25 см ты
уже присоединил на раннем этапе сборки (один в порт № 1, а второй в порт С).
4. Теперь подключи привод захвата. Для этого возьми чёрный кабель
50 см и вставь один его конец в порт среднего мотора захвата,
а второй конец в порт А на блоке EV3.
5. Теперь возьми кабель 35 см и вставь один его конец в порт датчика
касания, расположенного на стреле манипулятора, а второй конец
в порт № 2 на блоке EV3.
6. Теперь возьми ещё один кабель
35 см и вставь один его конец
в порт большого мотора управления подъёмом стрелы, а второй
конец в порт В на блоке EV3.

Молодец! Ты собрал робот-манипулятор полностью!

50

Этап 3. Установка
программного обеспечения
на компьютере
1. Если ты приобрёл базовый набор
LEGO® MINDSTORMS® EducaВнимание!
tion EV3 (LME-EV3) с лицензией
на программное обеспечение LMEПри любых затруднениях с установкой
программного
обеспечения
обращайся
EV3, то действуй так, как напив
службу
технической
поддержки
компасано в информационном листке,
нии LEGO® Education по адресу http://
вложенном в набор.
Education.LEGO.com
2. Если такой лицензии у тебя нет,
зайди на сайт http://Education.
LEGO.com и перейди в раздел Загрузки o LEGO® MINDSTORMS®
Education EV3, где ты сможешь скачать установочный файл
LME-EV3.

51

Этап 4. Создание
программы для роботаманипулятора
Запуск программного обеспечения
1. Запусти программное обеспечение LME-EV3.
2. Выбери в открывшемся окне слева пункт меню Файл.
3. Выбери пункт Новый проект o Программа o Открыть.
Создание нового проекта в памяти EV3
Программируемый модуль EV3 позволяет хранить в своей памяти десятки проектов. Это очень удобно: если захотел вернуться к какому-то
проекту, не нужно искать его в компьютере.
1. Для начала сохрани свой проект
в памяти компьютера, чтобы избежать его потери. Для этого нажми меню Файл в левом верхнем
углу окна программы и выбери
в контекстном меню пункт Сохранить проект как…

52

2. В открывшемся окне выбери удобное расположение для всех файлов твоей программы, затем задай Имя файла: Hanoi (от англ. «Ханой») в нижней части окна и нажми Сохранить.

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

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

3. Осталось дать имя самой программе (в нашем проекте будет
несколько подпрограмм). Для
этого дважды кликни по имени
Program в левом верхнем углу
поля программы и задай новое
имя: Main (от англ. «Главный»),
далее нажми клавишу Enter.

53

ЛОГИКА ПРОГРАММЫ

Сначала рассмотрим, каким образом будут расположены твой робот
и стержни. Так как манипулятор вращается по дуге, стержни должны
располагаться так, как показано на рисунке. На исходном стержне изначально находятся все три диска. Вспомогательный стерженьслужит
своеобразным перевалочным пунктом. На конечном стержне в результате должны собраться все диски. Начальное направление манипулятора
(ноль по оси Z) указано на рисунке стрелкой.
Наша программа будет состоять из набора различных подпрограмм.
Это нужно для сокращения её объёма и удобства решения головоломки.
Напомним, что мы решаем задачу для трёх дисков. Выделим основные действия, которые должен выполнять манипулятор в своём движении и с дисками головоломки:
• Снятие кольца (верхнего, среднего или нижнего) — открыть
«клешню», опуститься на заданную высоту (соответствующую
кольцу), закрыть «клешню», подняться обратно, — подпрограммы
Get1, Get2 и Get3 соответственно;
• Поворот манипулятора на 90 градусов по часовой стрелке —
подпрограмма CW; данная подпрограмма не будет использоваться
в основной программе, но может служить помощью для калибровки и дальнейших экспериментов с самим манипулятором;
• Поворот манипулятора на 90 градусов против часовой стрелки —
подпрограмма CounterCW;
• Возврат к начальному положению по оси Z (это вертикальная ось,
вокруг которой вращается манипулятор) — для этого мы должны
поворачивать нижний мотор до тех пор, пока стопор не нажмёт на
датчик касания, — подпрограмма ZeroZ;
• Бросок кольца — опуститься на заданную высоту, открыть и закрыть «клешню», подняться обратно — подпрограмма Drop.
Для сокращения объёма понадобятся вспомогательные подпрограммы:

Кстати! В данной программе будет несколько интересных алгоритмических конструкций и приёмов программирования.
Один из них — это использование подпрограмм для сокращения объёма основной
программы, а также использование такого
приёма, как «возврат к нулю (домой)» для
поворота манипулятора вокруг вертикальной оси и подъёма стрелы манипулятора.

54

• Поднятие «клешни» вверх — подпрограмма Up;
• Открытие «клешни» — подпрограмма Open;
• Закрытие «клешни» — подпрограмма Close.
Таким образом, решение задачи для трёх дисков сведётся к некоторой комбинации этих команд (подпрограмм). Поэтому сначала мы создадим все нужные подпрограммы, а затем «соберём» из них алгоритм
решения нашей головоломки.
СОСТАВЛЕНИЕ ПРОГРАММЫ ДЛЯ РОБОТА-МАНИПУЛЯТОРА

В открывшемся окне проекта начинай составлять программу для робота-манипулятора.
Подпрограмма 1. Open
1. В этой вспомогательной подпрограмме мы должны открыть «клешню» манипулятора. Для этого она должна быть предварительно закрыта. Её открытие заключается в повороте вала среднего мотора.
Поэтому добавь команду Средний мотор (зелёный блок).

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт B.

2. Настрой параметры этой команды:
• Мощность: –50;
• Обороты: 2,5.
3. Теперь, для того чтобы было удобно пользоваться этой настроенной
командой, мы создадим подпрограмму (да, состоящую всего лишь
из одной команды). Настроенная команда должна быть активна (голубая подсветка), для этого по ней нужно кликнуть мышью. После
этого в верхнем меню нужно выбрать Инструменты o Конструктор
Моего Блока.

55
Powered by TCPDF (www.tcpdf.org)

4. В открывшемся окне нужно добавить имя подпрограммы Open, а
также выбрать визуально понятную Иконку и по желанию добавить
Описание. После этого нажми на копку Завершить.

5. После этого в программе появится
новая настроенная команда Open.

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

56

дисков в головоломке или если
в подпрограмме была допущена
ошибка.
Пока что она нам не нужна, и её
можно удалить из основной программы Main.
Подпрограмма 2. Close
1. Перейди обратно в основную программу Main. Теперь мы создадим
похожую подпрограмму Close для
закрытия «клешни». Её отличие от
подпрограммы Open только в том,
что вал мотора должен вращаться
в обратную сторону. Добавь команду Средний мотор (зелёный блок).

Внимание!
Все остальные подпрограммы будут создаваться аналогичным образом в основной
программе Main.

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

2. Выбери меню Конструктор моего блока и настрой внешний вид
команды Close, например, как показано на рисунке. Затем нажми
кнопку Завершить.

57

3. Кликни дважды по команде Close,
чтобы перейти к её редактированию. Настрой параметры команды
Средний мотор:
• Мощность: 50;
• Обороты: 2,5.
Подпрограмма 3. Up

1. В этой подпрограмме мы должны
реализовать поднятие «клешни».
Для регулировки предельной высоты в конструкции нашего манипулятора предусмотрен датчик
касания. То есть вал большого
мотора, подключённого к порту A,
должен вращаться до тех пор, пока
не произойдёт нажатие на кнопку
датчика касания. Перейди в основную программу Main и добавь команду Цикл (оранжевый блок).

2. Сразу же создай подпрограмму и назови её Up. Настройки внешнего вида можно сделать, как на рисунке. Нажми кнопку Завершить.

58

3. Перейди к подпрограмме Up. В команде Цикл выбери опцию Датчик касания o Состояние.

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт № 2.

4. По умолчанию установлено состояние 1 (нажатие). Это означает,
что данный цикл завершится в тот момент, когда датчик касания
будет нажат. Внутрь цикла тебе нужно добавить команду поворота
вала мотора. Добавь команду Большой мотор (зелёный блок).

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт A.

5. Выбери опцию Включить, так как
мотор должен остановиться только тогда, когда завершится цикл.

6. Настрой параметры этой команды:
• Мощность: –15.

59

7. Однако датчик касания довольно чувствительный, поэтому вал мотора необходимо ещё немного докрутить. Поэтому после цикла добавь ещё одну команду Большой мотор (зелёный блок).

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт A.

8. Выбери опцию Включить на количество градусов.

9. Настрой параметры команды:
• Мощность: –5;
• Градусы: 20.

10. Чтобы конструкция успела немного зафиксироваться, поставим небольшую задержку. Далее добавь
команду Ожидание (оранжевый
блок).
11. В качестве времени ожидания задай значение 0,5 секунд.

60

12. Для точности необходимо сбросить показания энкодера1 мотора. Добавь команду Вращение мотора (жёлтый блок).

13. Выбери опцию Сброс.

Все вспомогательные подпрограммы готовы! Теперь приступим к написанию функциональных подпрограмм.
Подпрограмма 4. Get1
1. В этой подпрограмме мы должны настроить захват верхнего кольца со стержня. Для этого «клешня» манипулятора должна открыться, далее он опускается на заданную высоту, «клешня» закрывается, и манипулятор поднимается обратно. Перейди обратно
в основную программу Main. Добавь команду Open (бирюзовый
блок). 1

1

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

61

2. Войди в меню создания собственного блока. Назови новую подпрограмму Get1 и настрой её внешний вид, например, как на рисунке.
После чего нажми на кнопку Завершить.

3. Перейди в подпрограмму Get1. Добавь в неё команду Большой мотор (зелёный блок).

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт A.

62

4. Выбери опцию Включить на количество градусов.

5. Настрой параметры команды:
• Мощность: 10;
• Градусы: 145.

Внимание!
Значение параметра Градусы может быть
другим. Если твой манипулятор не останавливается напротив верхнего кольца,
подбери это значение экспериментально.

6. Далее добавь команду Close (бирюзовый блок).

7. После этого нужно поднять манипулятор наверх. Добавь команду
Up (бирюзовый блок).

Отлично! Подпрограмма готова. Далее создадим аналогичные подпрограммы Get2 и Get3.

63
Powered by TCPDF (www.tcpdf.org)

Подпрограмма 5. Get2

Внимание!
Значение параметра Градусы может быть
другим. Если твой манипулятор не останавливается напротив среднего кольца,
подбери это значение экспериментально.

1. Не будем здесь пошагово расписывать создание этой подпрограммы,
приведём уже готовый фрагмент.
Отличие от подпрограммы Get1
состоит только в параметре Градусы команды Большой мотор. Для
Get2 это значение равно 165.

Подпрограмма 6. Get3

Внимание!
Значение параметра Градусы может быть
другим. Если твой манипулятор не останавливается напротив среднего кольца,
подбери это значение экспериментально.

1. В данной подпрограмме необходимо захватить нижнее кольцо.
Значение параметра Градусы для
Get3 будет равно 195.

Подпрограмма 7. CW
1. В этой подпрограмме мы реализуем поворот манипулятора вокруг
вертикальной оси на 90 градусов по часовой стрелке. Для этого мы
должны запрограммировать поворот вала большого мотора, подключённого к порту C. Перейди в основную программу Main. Добавь
команду Большой мотор (зелёный блок).

Внимание!
Проверь, чтобы в верхнем правом окошке
значился порт C.

64

2. Вызови меню создания собственного блока и создай команду CW.
Оформить её внешний вид ты можешь, например, как на рисунке.
После чего нажми кнопку Завершить.

3. Открой подпрограмму CW. Для
команды Большой мотор выбери
опцию Включить на количество
градусов.

65

4. Настрой параметры этой команды:
• Мощность: 20;
• Градусы: 325.

Кстати! Кажется, что здесь закралась ошибка, ведь мы хотим повернуть манипулятор
на 90 градусов, а указали 325. Всё дело в
том, что в конструкции поворотного механизма использована понижающая передача, а значит, вал мотора должен вращаться
на большее количество градусов для того,
чтобы сам манипулятор повернулся на 90.

5. Чтобы зафиксировать модель в устойчивом положении, необходима
небольшая задержка. Добавь команду Ожидание (оранжевый блок).

6. В качестве параметра времени запиши 0,5 секунд.

7. Для точности поворотов необходимо сбросить показания энкодера
мотора. Добавь команду Вращение мотора (жёлтый блок).

Внимание!
Проверь, чтобы в верхнем правом окошке
значился порт C.

66

8. Выбери опцию Сброс.

Подпрограмма 8. CounterCW
В этой подпрограмме мы должны реализовать поворот манипулятора
вокруг вертикальной оси на 90 градусов против часовой стрелки. Мы
не будем приводить здесь пошаговое создание этой команды. Отличие
от предыдущей подпрограммы заключается только в параметре команды Большой мотор: Мощность будет равна –20.

Отлично! Осталось всего две подпрограммы, и мы готовы решить
нашу головоломку!
Подпрограмма 9. ZeroZ
1. В данной подпрограмме мы реализуем возврат манипулятора в
начальное положение по вертикальной оси. Для этого вал мотора, подключённого к порту C,
должен вращаться, пока не сработает датчик касания. Этот приём называют «вывод в нулевое
положение». Перейди к основной
программе Main. Добавь команду
Цикл (оранжевый блок).

67

2. Вызови меню создания собственного блока. Внешний вид команды
ZeroZ ты можешь оформить, например, как на рисунке. Затем нажми на кнопку Завершить.

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт № 1.

68

3. Перейди к подпрограмме ZeroZ.
В цикле выбери опцию Датчик
касания o Состояние.

4. По умолчанию цикл завершается при нажатии на датчик касания.
Это то, что нужно. Внутрь цикла добавь команду Большой мотор
(зелёный блок).

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт C.

5. Выбери опцию Включить.

69

6. Настрой параметры команды:
• Мощность: 30.

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт C.

7. Так как больше мотор вращать
незачем, его нужно остановить.
После окончания цикла добавь
команду Большой мотор (зелёный
блок).

8. Выбери опцию Выключить.

9. Чтобы манипулятор пришёл в устойчивое положение, сделаем небольшую задержку. Добавь команду Ожидание (оранжевый блок).

70

10. В качестве параметра времени задай 0,5 секунд.

11. Для точности дальнейших поворотов нужно сбросить показания энкодера мотора. Добавь команду Вращение мотора (жёлтый блок).

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт C.

12. Выбери опцию Сброс.

Подпрограмма 10. Drop
1. Эта подпрограмма отвечает за бросок кольца на стержень. Для этого
манипулятор должен опуститься на заданную высоту, открыть «клешню», вернуться в исходное положение по высоте и закрыть «клешню». Вернись к основной программе Main. Добавь команду Большой
мотор (зелёный блок).

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт A.

71
Powered by TCPDF (www.tcpdf.org)

2. Вызови команду создания собственного блока. Внешний вид команды Drop ты можешь оформить, например, как показано на рисунке.
Затем нажми на кнопку Завершить.

3. Перейди к подпрограмме Drop.
Для команды Большой мотор выбери опцию Включить на количество градусов.

72

4. Настрой параметры команды:
• Мощность: 10;
• Градусы: 120.

5. Далее добавь команду Open (бирюзовый блок).

6. Далее добавь команду Up (бирюзовый блок).

7. И последней добавь команду
Close (бирюзовый блок).

8. Для точности дальнейших перемещений необходимо сбросить показания энкодера мотора. Для этого добавь команду Вращение мотора (жёлтый блок).

Внимание!
Проверь, чтобы в правом верхнем окошке
значился порт A.

73

9. Выбери опцию Сброс.

Молодец! Ты создал рабочие инструменты — удобные подпрограммы.
Теперь осталось их скомбинировать в правильном порядке. Давай же
сделаем это!
Программа — решение головоломки «Ханойская башня»
1. Перейди к основной программе Main. Мы создали десять подпрограмм, которые должны были выстроиться в одну цепочку, как показано на рисунке.

2. Удалим все эти подпрограммы,
ведь нам нужно выстроить их в
правильной последовательности.
Выдели все подпрограммы (бирюзовые блоки) с помощью мыши и
нажми клавишу Delete.
3. Для начала нужно установить
манипулятор в нулевое положение по высоте и углу вращения
вокруг своей оси. Это последовательность команд Up и ZeroZ.

74

4. Теперь берём верхнее кольцо со стержня № 1 (Get1), поворачиваемся против часовой стрелки (CounterCW), бросаем кольцо на свободный стержень № 2 (Drop) и возвращаемся к началу (ZeroZ).

5. Далее берём среднее кольцо со стержня № 1 (Get2), дважды поворачиваемся против часовой стрелки (CounterCWu2), бросаем кольцо на свободный стержень № 3 (Drop) и возвращаемся в начало
(ZeroZ).

6. Теперь нужно взять кольцо со стержня № 2 и положить его сверху
на кольцо стержня № 3. Для этого поворачиваемся против часовой
стрелки (CounterCW), берём маленькое кольцо, лежащее в самом
нижнем положении (Get3), поворачиваемся против часовой стрелки
(CounterCW), бросаем кольцо на башню № 3 (Drop), возвращаемся
к началу (ZeroZ).

75

7. Теперь берём большое кольцо со стержня № 1 (Get3), поворачиваемся против часовой стрелки (CounterCW), бросаем кольцо на
стержень № 2 (Drop).

8. Поворачиваемся далее к стержню № 3 (CounterCW), берём малое
кольцо, которое лежит сейчас на уровне среднего (Get2), возвращаемся к началу (ZeroZ) и бросаем малое кольцо на стержень № 1
(Drop).

9. Теперь нужно взять среднее кольцо со стержня № 3 и бросить его
на стержень № 2 поверх большого кольца. Для этого дважды поворачиваемся против часовой стрелки (CounterCWu2), берём среднее кольцо, которое лежит в основании башни (Get3), для точности
возвращаемся к началу (ZeroZ) и затем поворачиваемся к стержню № 2 (CounterCW), на который бросаем среднее кольцо поверх
большого (Drop) и возвращаемся к началу (ZeroZ).

76

10. Остаётся взять последнее кольцо со стержня № 1 и бросить его
на стержень № 2: берём малое кольцо со стержня № 1, лежащее в
основании (Get3), поворачиваемся к стержню № 2 (CounterCW)
и бросаем это кольцо поверх предыдущих двух (Drop).

11. На этом головоломка решена, проиграем звук фанфар в честь этого! Добавь команду Звук (зелёный
блок).

12. Кликни мышью по правому верхнему окошку. В открывшемся
списке выбери Звуковые файлы
LEGO o Выражения o Fanfare.

13. Чтобы программа не заканчивалась моментально, добавь команду Ожидание (оранжевый блок)
и в качестве параметра времени
укажи, например, 10 секунд.
Поздравляем! Твоя программа готова к первому запуску! Совсем
скоро тайна Ханойской башни будет раскрыта!

77

Этап 5. Загрузка
программы
и её тестирование
ШАГ 1. ЗАГРУЗКА ПРОГРАММЫ
В ПРОГРАММИРУЕМЫЙ МОДУЛЬ

Загрузи свою программу.
1. Подключи программируемый модуль с помощью USB-кабеля к
компьютеру, соединив порты PC на модуле и USB на компьютере.
В окне программного обеспечения станет активен блок EV3.
2. Нажми кнопку Загрузить и запустить программу. Программа запишется в память программируемого модуля и сразу запустится.
ШАГ 2. ТЕСТИРОВАНИЕ

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

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

2. При выполнении каждого действия не должно происходить никаких
зажимов, холостого хода шестерней.
При возникновении критической ситуации аварийно останови процесс
выполнения программы нажатием на кнопку Отмена на программируемом блоке EV3 и устрани источник проблемы — он может заключаться
в неправильном начальном положении механических частей манипулятора или в программе.
3. Убедись, что вся программа выполняется корректно.

78

А теперь…

Тебе понадобится головоломка «Ханойская башня»!
Ты собрал манипулятор для решения головоломки, но для его работы нужна сама головоломка. Её можно купить, но можно поступить
умнее и технологичнее.
В современном мире большую популярность приобрели 3D-принтеры.
РОБОФИШКИ и ты не отстают! Мы подготовили для тебя 3D-модели
стержня (Tower) и колец трёх различных размеров (Circle), готовые к
распечатке на 3D-принтере.
Посмотри, как они выглядят после распечатки!

Ты можешь скачать их по ссылке http://pilotlz.ru/files/10606/
Остаётся найти действующий 3D-принтер и распечатать компоненты
головоломки! В твоей школе или ближайшем доме творчества наверняка есть 3D-принтеры — обратись к руководителям кружков 3D-моделирования, они не откажут тебе в помощи! А может быть, ты сам
являешься счастливым обладателем домашнего 3D-принтера? И ты всё
ещё не запустил печать?!

79
Powered by TCPDF (www.tcpdf.org)

До новых встреч!

Ты создал робота своими руками и, подобно Паскалю-младшему, обучил его решать одну из самых известных головоломок! Но впереди ещё
так много интересного! В серии книг «РОБОФИШКИ» ты можешь
познакомиться с другими замечательными проектами и стать настоящим изобретателем!

80

Содержание

Здравствуйте! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Дорогой друг! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Тайна Ханойской башни . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Этап 1. Устройство робота-манипулятора . . . . . . . . . . . . . . . . . 9
Этап 2. Сборка робота-манипулятора . . . . . . . . . . . . . . . . .
Шаг 1. Сборка основания манипулятора
и редуктора привода поворота стрелы . . . . . . . . . . .
Шаг 2. Сборка поворотного основания стрелы . . . . . . . . . .
Шаг 3. Сборка привода стрелы манипулятора . . . . . . . . . . .
Шаг 4. Сборка стрелы манипулятора . . . . . . . . . . . . . . . .
Шаг 5. Сборка захвата манипулятора . . . . . . . . . . . . . . . .
Шаг 6. Соединение основания со стрелой манипулятора
и подключение проводов . . . . . . . . . . . . . . . . . . .

. . 10
.
.
.
.
.

.
.
.
.
.

10
22
28
34
41

. . 49

Этап 3. Установка программного обеспечения на компьютере . . . . . 51
Этап 4. Создание программы для робота-манипулятора . . . . . . . . 52
Логика программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Составление программы для робота-манипулятора . . . . . . . . . . 55
Этап 5. Загрузка программы и её тестирование . . . . . . . . . . . . . 78
Шаг 1. Загрузка программы в программируемый модуль . . . . . . 78
Шаг 2. Тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
А теперь… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
До новых встреч! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

81

Колёса

Модуль EV3, 1x
Отмена

Зубчатое колесо,
40 зубьев, серое, 2x

Вверх

Влево

Вниз

Вправо
ОК

Двойное коническое зубчатое
колесо, 36 зубьев,
чёрное, 1x

Большой мотор, 2x
Двойное коническое зубчатое
колесо, 12 зубьев,
чёрное, 1x

Средний мотор, 1x

Зубчатое колесо, 24 зуба,
тёмно-серое, 2x

Зубчатое колесо, 8 зубьев,
тёмно-серое, 4x
Датчик касания, 2x
Червячное колесо, серое, 1x

Балки прямые
Балка с поперечным
отверстием, 2-модульная,
чёрная, 1x
Балка, 3-модульная,
зелёная, 3x

Балки угловые
Угловая балка, 2 u 4-модульная,
красная, 6x

Угловая балка,
3 u 5-модульная, белая, 2x

Балка, 3-модульная,
жёлтая, 2x
Балка, 5-модульная,
серая, 3x

Угловая балка,
3 u 5-модульная, серая, 2x

Балка, 7-модульная,
серая, 2x
Балка, 9-модульная,
серая, 6x

Двойная угловая балка,
3 u 7-модульная, белая, 4x

Балка, 11-модульная,
серая, 4x
Угловая балка,
3 u 7-модульная, серая, 4x
Балка, 13-модульная,
серая, 8x

Балка, 15-модульная,
белая, 4x

Балка 1/2 , 4-модульная,
чёрная, 2x

Угловая балка, 4 u 6-модульная,
чёрная, 2x

Трёхгранная балка 1/2 ,
3 u 5-модульная,
серая, 4x

Оси
Ось, 2-модульная,
красная, 3x

Штифты
Соединительный штифт
с фрикционной муфтой,
2-модульный, чёрный, 40x

Ось, 3-модульная,
серая, 13x
Ось, 5-модульная,
серая, 1x

Ось, 6-модульная,
чёрная, 3x

Соединительный штифт
с фрикционной муфтой/осью,
2-модульный, синий, 12x

Соединительный штифт
с фрикционной муфтой,
3-модульный, синий, 32x

Ось, 7-модульная,
серая, 1x

Ось с головкой,
8-модульная,
тёмно-серая, 1x

Ось, 10-модульная,
чёрная, 2x

Соединительный штифт
со втулкой, 3-модульный,
красный, 14x

Соединительный штифт,
3-модульный, бежевый,
2x

Угловой соединительный
штифт, 3 u 3-модульный,
серый, 2x

Втулки
Втулка/удлинитель оси,
2-модульная,
красная, 2x
Втулка, 1/2-модульная,
жёлтая, 2x
Втулка, 1-модульная,
серая, 2x

Двойной соединительный
штифт, 3 u 3-модульный,
серый, 7x

Блоки
Поперечный блок,
3-модульный,
тёмно-серый, 6x

Кабели
Кабель, 25 см, 2x
Кабель, 35 см, 2x
Кабель, 50 см, 1x

Поперечный блок,
3 u 2-модульный,
серый, 1x

Трубы
Двойной поперечный блок,
3-модульный, чёрный, 3x

Труба, 2-модульная,
серая, 3x

Угловой блок, 1, 0q,
чёрный, 1x
Вращающееся днище,
28 зубьев, серое, 1x
Угловой блок, 2, 180q,
чёрный, 2x
Вращающаяся верхушка,
28 зубьев, чёрная, 1x

Рамы
Рама, 5 u 7-модульная,
серая, 2x

Стрелка, 3-модульная,
белая, 1x

Вилка поперечного блока,
2 u 2-модульная, чёрная, 1x

Рама, 5 u 11-модульная,
серая, 1x

Минимальные системные требования определяются соответствующими требованиями программ Adobe Reader версии не ниже 11-й либо Adobe Digital Editions
версии не ниже 4.5 для платформ Windows, Mac OS, Android и iOS; экран 10"

Учебное электронное издание
Серия: «РОБОФИШКИ»
Тарапата Виктор Викторович
Красных Андрей Владимирович
Салахова Алёна Антоновна
КОНСТРУИРУЕМ РОБОТОВ НА LEGO○ MINDSTORMS○ EDUCATION EV3.
ХАНОЙСКАЯ БАШНЯ
Для детей среднего и старшего школьного возраста
R

R

Ведущий редактор М. С. Стригунова
Руководители проекта от издательства А. А. Елизаров, С. В. Гончаренко
Научный консультант канд. пед. наук Н. Н. Самылкина
Ведущий методист В. В. Тарапата
Художники В. Е. Шкерин, Я. В. Соловцова, И. Е. Марев, Ю. Н. Елисеев
Фотосъемка: И. А. Федянин
Технический редактор Т. Ю. Федорова
Корректор И. Н. Панкова
Компьютерная верстка: Е. Г. Ивлева
Подписано к использованию 09.06.21.
Формат 210×260 мм
Издательство «Лаборатория знаний»
125167, Москва, проезд Аэропорта, д. 3
Телефон: (499) 157-5272
e-mail: info@pilotLZ.ru, http://www.pilotLZ.ru

Издательство «ЛАБОРАТОРИЯ ЗНАНИЙ» представляет!
Книги по образовательной робототехнике:
Филиппов С. А. Уроки робототехники. Конструкция.
Движение. Управление: учебное пособие
Тарапата В. В., Самылкина Н.Н. Робототехника
в школе. Методика. Программы. Проекты
Винницкий Ю.А., Поляков К.Ю. Конструируем роботов
на ScratchDuino. Первые шаги
Бейктал Дж. Конструируем роботов на Arduino.
Первые шаги
Бейктал Дж. Дроны. Руководство для начинающих
Бейктал Дж. Конструируем роботов от А до Я.
Полное руководство для начинающих.

Серия проектов «РОБОФИШКИ»:

▶ «В поисках сокровищ»
▶ «Умный свет»
▶ «Крутое пике»
▶ «Волшебная палочка»
▶ «Тайный код Сэмюэла Морзе»
▶ «Умный замок»
▶ «Робочист спешит на помощь!»
▶ «Робот-шпион»
▶ «Мотобайк» и другие.

Новая серия «РОБОСПОРТ» в помощь настоящим и будущим участникам робототехнических
соревнований:

• «Робот-сумоист»
• «Танковый роботлон»
• «Робофутбол»
• «Робохоккей» и другие.
info@pilotLZ.ru
www.pilotLZ.ru
Мы в VK: http://vk.com/robolz
Мы в Twitter: http://twitter.com/pilotlz

Powered by TCPDF (www.tcpdf.org)