ISBN 978-5-00101-419-5 Тем, кто освоил LEGO и хочет двигаться дальше, открывая для себя безграничные возможности робототехники, мы предлагаем познакомиться с новой платформой, которая называется «ScratchDuino». <...> Из этой книги, представляющей собой практическое руководство, вы узнаете об особенностях программирования в среде разработки Scratch, о том, как устроены роботы, научитесь собирать их и управлять ими. <...> Он открывает двери, за которыми находится увлекательное и притягивающее пространство реальной робототехники. <...> И тогда, уверенно освоив пространство ScratchDuino и перейдя последовательно к следующим мирам реальной робототехники, вы сделаете очередной шаг по этой дороге. <...> Команда Программы «Робототехника: инженерно-технические кадры инновационной России» Фонда Олега Дерипаска «Вольное Дело» От авторов Вы открываете книгу, которая называется «Конструируем роботов на ScratchDuino». <...> Он разработан российской компанией ЗАО «ТЫРНЕТ» и содержит готовую робоплатформу — специальную плату на колесах, в которую вставляется управляющий компьютер. <...> К платформе остается только подключить нужные датчики (реагирующие на свет, касание и т.д.), и она готова к работе. <...> Первые работы вы будете делать вместе с нами — каждый шаг подробно объясняется в книге, а затем вас ждет работа над самостоятельными творческими проектами нашей серии «РОБОФИШКИ». <...> Вы, конечно, слышали слово «робот» и знаете, что роботом называют техническое устройство, которое может заменить человека во время выполнения сложных, утомительных или опасных работ. <...> Само слово «робот» придумал чешский писатель Карел Чапек, он образовал его от чешского слова robota, что значит «подневольный труд». <...> Полностью автономный робот может: • перемещаться и работать длительное время без вмешательства человека; • собирать информацию об окружающей среде; • приспосабливаться к изменению обстановки, изменяя алгоритм своей работы. <...> Слово «робототехника» (от англ. robotics) впервые использовал <...>
Конструируем_роботов_на_ScratchDuino._Первые_шаги_(1).pdf
УДК 621.86/.87
ББК 32.816
В48
С е р и я о с н о в а н а в 2016 г.
Ведущие редакторы серии Т. Г. Хохлова, Ю. А. Серова
Винницкий Ю. А.
В48 Конструируем роботов на ScratchDuino . Первые шаги /
○R
Ю. А. Винницкий, К. Ю. Поляков.— 4-е изд., электрон.—
М. : Лаборатория знаний, 2024. —119 с. —(РОБОФИШКИ).—Систем.
требования: Adobe Reader XI ; экран 10". —
Загл. с титул. экрана. —Текст : электронный.
ISBN 978-5-93208-730-5
Тем, кто освоил LEGO и хочет двигаться дальше, открывая
для себя безграничные возможности робототехники,
мы предлагаем познакомиться с новой платформой, которая
называется «ScratchDuino». Из этой книги, представляющей
собой практическое руководство, вы узнаете об особенностях
программирования в среде разработки Scratch, о том, как
устроены роботы, научитесь собирать их и управлять ими. В итоге
вы сможете придумывать собственные проекты, с помощью
которых проверите, на что способны собранные вами роботы.
Для юных исследователей и программистов, а также всех
тех, кто увлечен конструированием роботов.
УДК 621.86/.87
ББК 32.816
Деривативное издание на основе печатного аналога: Конструируем
роботов на ScratchDuino
○R
. Первые шаги / Ю. А. Винницкий,
К. Ю. Поляков.— 2-е изд. —М. : Лаборатория знаний, 2018. —
116 с. : ил. —(РОБОФИШКИ).—ISBN 978-5-00101-086-9.
В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных
техническими средствами защиты авторских прав, правообладатель
вправе требовать от нарушителя возмещения убытков или выплаты компенсации
ISBN 978-5-93208-730-5
© Лаборатория знаний, 2016
Стр.3
Оглавление
Здравствуйте! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
От авторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Благодарности .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 6
Глава 1. Роботы и робототехника . . . . . . . . . . . . . . . . . . . 7
Зачем нужны роботы?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Что такое робототехника? . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Из чего состоит робот? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Какой язык понимают роботы? . . . . . . . . . . . . . . . . . . . . . . . 11
Глава 2. Программирование в среде Scratch . . . . . . . . . . . . 12
Что такое Scratch? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Как написать программу? .
Что такое циклы? .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 13
. 14
Что такое переменные? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Что такое ветвления? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Как комбинировать блоки? .
. 19
Глава 3. Робоплатформа ScratchDuino . . . . . . . . . . . . . . . 21
Знакомимся с робоплатформой. . . . . . . . . . . . . . . . . . . . . . . 22
Изучаем стандартный комплект робота. . . . . . . . . . . . . . . . . . 25
Собираем и подключаем робота .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 27
Запускаем среду управления роботом. . . . . . . . . . . . . . . . . . . 28
Глава 4. Управление роботами . . . . . . . . . . . . . . . . . . . . 31
Что такое управление? .
. 31
Как выполняются команды?. . . . . . . . . . . . . . . . . . . . . . . . . 32
Как управлять робоплатформой? .
.
.
.
.
.
.
.
.
Что такое разомкнутые системы управления? .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 32
. 34
Стр.115
Управляем движением робота с клавиатуры. . . . . . . . . . . . . . . 35
Управляем движением робота по прямой .
Что такое погрешность? .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 37
. 39
Управляем движением робота с поворотами. . . . . . . . . . . . . . . 41
Проверь себя! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Глава 5. Обратная связь . . . . . . . . . . . . . . . . . . . . . . . 45
Что такое обратная связь? . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Как связать датчик с компьютером? . . . . . . . . . . . . . . . . . . . . 47
Что такое датчик касания? . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Что такое датчик освещенности? . . . . . . . . . . . . . . . . . . . . . . 48
Что такое датчик линии? . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Что такое «инфракрасный глаз»? .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 48
Как крепятся датчики? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Как калибруются датчики? .
. 51
Используем датчик освещенности . . . . . . . . . . . . . . . . . . . . . 51
Калибровка датчиков освещенности . . . . . . . . . . . . . . . . 52
Движение робота в зависимости от освещенности . . . . . . . 53
Поворот робота к свету .
.
.
.
.
.
.
Перетягивание светового каната .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 55
. 58
Используем датчик касания . . . . . . . . . . . . . . . . . . . . . . . . . 59
Обнаружение препятствия . . . . . . . . . . . . . . . . . . . . . . 59
Стучимся в дверь . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Используем датчик линии . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Обнаружение белого листа . . . . . . . . . . . . . . . . . . . . . . 63
«Ох, доска качается, а я не упаду» .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 64
Движение вдоль линии на двух датчиках . . . . . . . . . . . . . 65
Обнаружение и прохождение перекрестка . . . . . . . . . . . . 66
Поворот на перекрестке . . . . . . . . . . . . . . . . . . . . . . . . 67
Используем датчик «инфракрасный глаз» . . . . . . . . . . . . . . . . 70
Пугливый робот. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Проверь себя! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Глава 6. Автономный робот. . . . . . . . . . . . . . . . . . . . . . 76
Что такое автономность? . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Стр.116
Как программировать Arduino?. . . . . . . . . . . . . . . . . . . . . . . 77
Знакомимся с Arduino IDE .
Управляем моторами .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 77
. 80
Включение и выключение моторов. . . . . . . . . . . . . . . . . 81
Исследование текста программы . . . . . . . . . . . . . . . . . . 86
Изменение направления вращения моторов . . . . . . . . . . . 88
Изменение программы движения. . . . . . . . . . . . . . . . . . 90
Изучение поворотов . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Изменяем скорость робота . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Импульсное управление .
.
.
.
.
.
.
.
Запуск программы кнопкой .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Движение с уменьшенной скоростью .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Кнопки для запуска и остановки программы. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 92
. 93
Используем датчики. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Калибровка датчиков .
. 95
. 97
. 99
Проверь себя! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
ПРИЛОЖЕНИЕ 1. Загрузка с флеш-накопителя . . . . . . . . . . 101
ПРИЛОЖЕНИЕ 2. Восстановление прошивки ScratchDuino .
. 103
ПРИЛОЖЕНИЕ 3. Установка Arduino IDE. . . . . . . . . . . . . . 106
ПРИЛОЖЕНИЕ 4. Установка и запуск ArduBlock .
.
.
.
.
.
.
.
. 108
Стр.117