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

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



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

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


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

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


Для данного мастер-класса советуем использовать дрон DJI Tello.
Перед началом необходимо провести подготовительные мероприятия – установить и настроить программное обеспечение на ноутбуки или ПК
Скачать с официального сайта разработчика и установить бесплатный редактор Scratch 2.0 по ссылке.
Необходимо учесть, что программирование квадрокоптеров возможно только в версии 2.0, последняя версия работать не будет
Скачать и установить программную среду Node.js. Именно с её помощью программный код Scratch будет передаваться на исполнение квадрокоптеру. Следует учитывать, что здесь также нужно скачивать не самую последнюю версию, а 8.11.1

По ссылкам:
Скачать с сайта производителя квадрокоптеров набор файлов для взаимодействия между Scratch и Node по ссылке

Эти файлы желательно разместить в каталоге C:\Tello или ином с простым коротким путём, так как этот путь придётся каждый раз набирать в консоли
Теперь приступим непосредственно к программированию.


Далее каждое действие будет подробно расписано
Акцентные
1
Запустите на своих ноутбуках редактор Scratch 2.0. Выберите в разделе «скрипты» вкладку «другие блоки». Как видите, сейчас в ней пусто
Выберите в меню сверху «файл», изучите имеющиеся вкладки. Нас интересует вкладка «Импортировать экспериментальное расширение HTTP». Что бы оно появилось - зажмите клавишу «Shift» на клавиатуре и ещё раз выберите меню «файл» - как видите, появилась наша «секретная» вкладка - нажмите на неё
2
Перейдите в папку 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
Во вкладке «дополнительные блоки» индикатор должен поменять цвет с красного на зелёный – это означает то, что почти всё готово, можно начинать писать программу для дрона
После того как мы всё подключили, мы готовы начинать творить.


Напишем первую, самую простую программу для нашего квадрокоптера, а точнее сразу две – основную и аварийную
Основная программу будет выглядеть так:
1. Когда нажат зелёный флажок – взлететь (по этой команде квадрокоптер взлетает на высоту примерно 50 см.)
2. Подняться на 100 см вверх (напоминаем ещё раз, все измерения в этих блоках даны в сантиметрах).
3. Пролететь вперед на 100 см
4. Сделать флип (кувырок). Аргумент «f» у команды флип (flip) определяет, что кувырок будет сделан вперёд.
5. Приземлиться
Обратите внимание – между всеми командами вставлена команда «ждать» с аргументом «5 секунд» или «7 секунд». Устройству нужно подумать перед каждой операцией, поэтому данная команда даёт дрону эту самую возможность и исключает шанс пропуска команд. Опытным путём мы узнали, что время ожидание должно быть в рамках 5-7 секунд.

Рядом с основной программой имеется аварийная, которую требуется создавать всегда. Она очень проста – когда нажата клавиша «пробел» – приземлиться. Эта программа требуется на случай, если что-то пойдёт не так и мы сможем экстренно посадить дрон
Поздравляем! Вы написали свой первый алгоритм для автономного полёта дрона. Теперь попробуем запустить наш коптер для выполнения программы
Установим в него аккумулятор, включим и разместим на ровную поверхность. На занятиях по пилотированию вы уже узнали, что квадрокоптер плохо летает в слабоосвещённых помещениях, а также на тёмным или зеркальным напольным покрытием. Это связано с тем, что квадрокоптер позиционируется по сигналу отражённому от пола. Поэтому выбирает хорошо освещённые помещения со светлым матовым покрытием пола
Что бы запустить дрон, нам нужно подключимся к нему по Wi-Fi
Если вы не знаете номер или «код» дрона, вы можете посмотреть его на поверхности квадрокоптера. Там будет написаны две буквы или две цифры – это последние два символа его имени в сети Wi-Fi
Выбираем нужный и подключаемся. Как только вы увидите надпись «подключено» проверьте зелёный сигнал в программе Scratch, если всё в порядке - запускайте программу на исполнение.

Повторим наш с вами алгоритм действий дрона:
- Квадрокоптер взлетел
- После паузы набрал высоту
- Пролетел вперед
- Выполнил флип
- Приземлился

Если квадрокоптер пропускает какую-то команду – проверьте команду «ждать», возможно пауза слишком мала, он не успел провести позиционирование в пространстве и продумать своё дальнейшее действие. Вы можете указать максимальное значение на 7 секунд и запустить программу ещё раз
Простейшую программу испытали – попробуем написать алгоритм посложнее.

Задание:
- Квадрокоптер должен взлететь
- Подняться вверх на 100 см
- Далее пролететь вперёд на 200 см
- Повернуться влево на 90 градусов
- Пролететь вперёд на 100 см
- Повернуться влево на 90 градусов.
- …
- …
- …
И так ваш дрон должен последовательно прилететь в исходную точку. Вам даётся 5 минут на написание программы
Итоговый результат
Не удалять! Скругляет углы у галереи
Продемонстрируйте другим участникам мастер-класса ваш код. Придумайте другие сферы применения Вашего дрона, при совместных занятиях с ребенком, в быту или где-то еще. Обсудите с другими родителями результаты мастер-класса и дальнейшие шаги. Примерный список вопросов для обсуждения Вы можете найти ниже, а также придумать собственные вопросы!

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

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

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

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


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