Программирование небесного путешественника

МАСТЕР-КЛАСС
Сегодня Вы сможете самостоятельно создать код, который научит вашего ребенка азам программирования без лишней и скучной теории
О чем мастер-класс?
Если Вы из числа родителей, которые увлекаются современными технологиями и любят проводить время со своим ребёнком, то этот кейс для вас! Сегодня Вы сможете самостоятельно создать код, который научит вашего ребенка азам программирования без лишней и скучной теории. Результатом станет пилотируемый полёт дрона, способный доставить немало удовольствия, как детям, так и взрослым!



Для кого этот мастер-класс?
Этот мастер-класс – для родителей и детей, которым так интересно заниматься вместе! Запрограммируйте с вашим ребенком дрон, способный выполнять определённый алгоритм действий. Плюсов в этом как минимум два: изучите базовые шаги программирования и найдете новые совместные интересы с ребёнком
Для работы над мастер-классом понадобится:
Дрон DJI Telo.
1 шт.

Ноутбук или ПК
1 шт.


Аккумулятор
1 шт.

Итак, приступим к программированию!



Акцентные
Для данного мастер-класса советуем использовать дрон DJI Tello. Перед началом необходимо провести подготовительные мероприятия – установить и настроить программное обеспечение на ноутбук или ПК.

1. Скачать с официального сайта разработчика и установить бесплатный редактор Scratch 2.0 по ссылке. Необходимо учесть, что программирование квадрокоптеров возможно только в версии 2.0, последняя версия работать не будет.
2. Скачать и установить программную среду Node.js. Именно с её помощью программный код Scratch будет передаваться на исполнение квадрокоптеру. Следует учитывать, что здесь также нужно скачивать не самую последнюю версию, а 8.11.1
По ссылкам для 64-разрядных ОС, или для систем х86.
Скачать с сайта производителя квадрокоптеров набор файлов для взаимодействия между Scratch и Node по ссылке.
Эти файлы желательно разместить в каталоге C:\Tello или ином с простым коротким путём, так как этот путь придётся каждый раз набирать в консоли
Теперь приступим непосредственно к программированию



Далее каждое действие будет подробно расписано
Запустите на своих ноутбуках редактор Scratch 2.0. Выберите в разделе «скрипты» вкладку «другие блоки». Как видите, сейчас в ней пусто
1
Акцентные
2
Выберите в меню сверху «файл», изучите имеющиеся вкладки. Нас интересует вкладка «Импортировать экспериментальное расширение HTTP». Что бы оно появилось - зажмите клавишу «Shift» на клавиатуре и ещё раз выберите меню «файл» - как видите, появилась наша «секретная» вкладка - нажмите на неё
Перейдите в папку C:\Tello, (нужно будет указать путь к папке, в которую вы установили связующий файл между программой Scratch и квадрокоптером DJI Tello), откройте файл Tello.s2e
3
Акцентные
4
Как видите, во вкладке «другие блоки» появились блоки для управления квадрокоптером
Акцентные
Все блоки подписаны на английском, но в них нетрудно разобраться.


Take off – взлёт.
Land - посадка.
Следующие блоки (fly up – вверх, fly down – вниз, fly left – налево, fly right – направо, fly forward – вперед, fly back – назад, rotate cw – поворот по часовой стрелки, rotate ccw – поворот против часовой стрелки, flip –кувырок или сальто) задают полёт или поворот в указанном направлении. Что бы задать движение в определенном направлении, стоит вытащить нужный блок и указать расстояние, на которую должен переместится дрон.
Расстояние указывается в сантиметрах, а для поворота используйте градусы
Перед началом работы обратите внимание на красный индикатор. Находится этот индикатор правее центра редактора – он показывает, что система пока не готова к работе. Что бы всё работало исправно, нужно соединить редактор Scratch со средой Node, которая будет пересылать команды нашему квадрокоптеру
5
Акцентные
6
В строке поиска набираем латинскими буквами «cmd» или кириллицей «командная строка» - и вызываем нашу командную строку
Далее, набираем команду cd c:\Tello. После того, как появится строка c:\Tello набираем команду «node tello.js», на экране должна появиться вот такая строка
7
Акцентные
Во вкладке «дополнительные блоки» индикатор должен поменять цвет с красного на зелёный – это означает, что почти всё готово, можно начинать писать программу для дрона
Акцентные
8
После того как мы всё подключили, мы готовы начинать творить.
Напишем первую, самую простую программу для нашего квадрокоптера, а точнее сразу две – основную и аварийную.
Основная программа будет выглядеть так:
1. Когда нажат зелёный флажок – взлететь (по этой команде квадрокоптер взлетает на высоту примерно 50 см.)
2. Подняться на 100 см вверх (напоминаем ещё раз, все измерения в этих блоках даны в сантиметрах).
3. Пролететь вперед на 100 см
4. Сделать флип (кувырок). Аргумент «f» у команды флип (flip) определяет, что кувырок будет сделан вперёд.
5. Приземлиться
Акцентные
Обратите внимание – между всеми командами вставлена команда «ждать» с параметром «5 секунд» или «7 секунд». Устройству нужно подумать перед каждой операцией, поэтому данная команда даёт дрону эту самую возможность и исключает шанс пропуска команд. Опытным путём мы узнали, что время ожидание должно быть в рамках 5-7 секунд
Акцентные
Справа имеется блок аварийной посадки, который требуется создавать всегда. Он очень прост – когда нажата клавиша «пробел» – приземлиться. Этот блок требуется на случай, если что-то пойдёт не так и нам нужно экстренно посадить дрон
Акцентные
Поздравляю! Вы написали свой первый алгоритм для автономного полёта дрона. Теперь попробуем запустить наш коптер для проверки выполнения программы.
Установим в него аккумулятор, включим и разместим на ровную поверхность. Известно, что квадрокоптер плохо летает в слабоосвещённых помещениях, а также над тёмным или зеркальным напольным покрытием. Это связано с тем, что квадрокоптер позиционируется по сигналу, отражённому от пола. Поэтому для полетов выбираются хорошо освещённые помещения со светлым матовым покрытием пола.
Акцентные
Что бы запустить дрон, нужно подключиться к нему по Wi-Fi
Акцентные
Если вы не знаете номер или «код» дрона, вы можете посмотреть его на корпусе квадрокоптера. Там будет написаны две буквы или две цифры – это последние два символа его имени в сети Wi-Fi.
Выбираем нужный и подключаемся. Как только вы увидите надпись «подключено», проверьте зелёный индикатор (см. выше) в программе Scratch, если всё в порядке - запускайте программу на исполнение, нажав на «флажок» в левой части экрана
Акцентные
Повторим алгоритм действий дрона:
- Квадрокоптер взлетел
- После паузы набрал высоту
- Пролетел вперед
- Выполнил флип
- Приземлился.
Если квадрокоптер пропускает какую-то команду – проверьте команду «ждать», возможно пауза слишком мала, он не успел провести позиционирование в пространстве и продумать своё дальнейшее действие. Вы можете указать максимальное значение ожидания 7 секунд (вместо 5) и запустить программу ещё раз
Акцентные
Простейшую программу испытали – попробуем написать алгоритм посложнее.
Задание:
- Квадрокоптер должен взлететь
- Подняться вверх на 100 см
- Далее пролететь вперёд на 200 см
- Повернуться влево на 90 градусов
- Пролететь вперёд на 100 см
- Повернуться влево на 90 градусов.
- …
- …
- …
Итак, ваш дрон должен прилететь в исходную точку, последовательно выполняя указанные шаги. Попробуйте за 5 минут написать такую программу
Не удалять! Скругляет углы у галереи
Продемонстрируйте всем желающим ваш код и полет дрона по алгоритму, заложенному в этот код. Придумайте другие сферы применения дрона при совместных занятиях с ребенком, в быту или где-то еще. Обсудите результаты мастер-класса и дальнейшие шаги. Примерный список вопросов для обсуждения Вы можете найти ниже, а также придумать собственные вопросы!



Вопросы для обсуждения:
Вам понравилось программировать и запускать дрон?

Приобрели бы вы такой образовательный комплект для пилотирования и программирования с детьми?

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

Готовы ли отправить своего ребенка но обучение в технический университет/центр дополнительного образования/технологичные кружки для обучения по инженерной специальности?




Контакты
Методист:
Костюченко Тамара Георгиевна
https://vk.com/id249141719