Программа для прохождения лабиринта Ev3
На данном уроке мы рассмотрим, как пользоваться собственными блоками Ev3 при программировании Ev3.
Напишем программу для Ev3 для прохождения лабиринта. Когда в программе много раз повторяется одна и также последовательность команд, то удобно использовать собственные блоки. Это делает программу очень наглядной и удобной для изменения. Каждый блок отвечает за свой смысловой набор действий,, который можно обособить и выделить. А далее из этих собственных блоков конструируется программа, согласно логике задания. Рассмотрим, как написать программу для Ev3 для прохождения лабиринта с помощью собственных блоков.Напишем блокидвижение вперед до стены.
Выделяя эти части программы и выбирая в меню Инструменты раздел Конструктор моего блока, создадим три блока: vpered, parvo, levo. Подробно как создавать свои блоки в Ev3.Составим программу из собственных блоков Ev3 для прохождения такого лабиринта.Робот должен двигаться со старта вперед до левой стенки, потом повернуться направо и двигаться до стенки, потом повернуться направо и двигаться до стенки, налево и до стенки, и налево и до стенки до финиша.
Реализуем этот лагоритм с помощью собственных блоков Ev3 , которые мы создали.
Как видим программа достаточно лаконичная. Представьте, какая была бы большая программа без использования собственных блоков.Аналогично мы можем составить программу для прохождения лабиринта любой сложности.
Полезно почитать по теме прохождение лабиринта ev3
Собственные блоки ev3
Циклические алгоритмы ev3
Источник статьи: http://itrobo.ru/robototehnika/lego/programma-dlja-prohozhdenija-labirinta-e.html
EV3 программирование
Программирование EV3 происходит сразу после того как вы создали своего робота. Нужно научить робота EV3 выполнять различные команды.
Запрограммировать робота с микрокомпьютером EV3 можно несколькими различными способами:
- Первый и самый простой способ – это при помощи интерфейса микроконтроллера EV3;
- Среда программирования EV3 позволяет при помощи визуального программирования создавать достаточно сложные программы:
- При помощи других языков программирования.
Программирование на микроконтроллере EV3
Самым простым является программирование при помощи самого интерфейса микрокомпьютера EV3.
Микропроцессор EV3 поставляется с уже установленным на нем программным обеспечением.
После включения модуля EV3 можно увидеть экран с четырьмя основными закладками.
Для программирования модуля требуется перейти в третью закладку при помощи кнопок управления. Затем открыть окно приложения Brick Program. Сразу отображаются два блока – это блок «Начало» и блок «Цикл».
В этом окне можно создавать простые программы при помощи двух типов блоков. Всего в палитре существует одиннадцать блоков ожидания и шесть блоков действия.
Среда программирования EV3
Производители Lego EV3 позаботились о том, чтобы обеспечить владельцев робототехнических конструкторов Lego Mindstorms EV3 бесплатным программным обеспечением. Скачать программное обеспечение EV3 для различных устройств можно с официального сайта Lego.
Также в ПО существуют задания по программированию, которые позволяют быстро научиться программировать роботов EV3. Программное обеспечение является пиктографическим. Оно обеспечивает простое и интуитивно понятное визуальное программирование.
Существенным недостатком является то, что при написании сложных и разветвленных программ, это ПО достаточно сильно грузит систему. При этом слабые компьютеры сильно тормозят. Поэтому желательно иметь компьютеры с хорошими характеристиками. На сайте опубликованы минимально допустимые характеристики компьютеров.
EV3 является целой платформой, которую можно использовать в игровых и образовательных целях. При помощи платформы Lego Mindstorms EV3 можно обучать основам робототехники, программирования, изучать различные алгоритмы. При этом не нужно иметь знаний схемотехники и различных протоколов.
Программирование EV3 Basic
Одним из текстовых языков программирования Lego EV3 является EV3 Basic. Текстовый язык позволяет развить навыки текстового программирования и является плавным переходом к более сложному программированию. По сложности этот язык не очень отличается от среды программирования Lego EV3. Скачать загрузчик Microsoft Small Basic можно с официального сайта Microsoft.
Основными достоинствами EV3 Basic являются:
- Простота установки;
- EV3 Basic является свободным программным обеспечением
- Microsoft Small Basic специально разрабатывался для того, чтобы обучать программированию;
- Не нужно перепрошивать микрокомпьютер EV3;
- Поддерживает русский язык;
- Имеет встроенную справку;
- Имеет понятный интерфейс;
- Есть множество примеров;
- Поддерживает все возможности среды программирования Lego EV3.
Программирование EV3 на RobotC
Среда программирования RobotC специально разработана для образовательной робототехники. Этот язык может использоваться и новичками, и опытными программистами и является кросс-платформенным. Есть базовый и расширенный режим программирования.
В среде программирования присутствует C-подобный язык и язык RobotC. Язык RobotC – это переходный язык от визуального программирования к текстовым блокам. Для использования RobotC требуется перепрошивка микроконтроллера EV3. Использовать RobotC можно со многими робототехническими платформами. Это такие платформы как :
- VEX IQ;
- VEX CORTEX (EDR);
- VEX PIC (Legacy Support);
- LEGO MINDSTORMS EV3;
- LEGO MINDSTORMS NXT;
- TETRIX;
- RCX (поддержка прежних версий);
- UNO Arduino / MEGA 1280, MEGA 2560;
Среда программирования RobotC похожа на среду программирования Visual Studio и имеет интерфейс на английском языке. RobotC является платным с десятидневным бесплатным периодом.
После окончания бесплатного периода нужно приобретать лицензию. Стоимость годовой лицензии:
- На один компьютер 49 долларов;
- На шесть рабочих мест 149 долларов;
- На тридцать рабочих мест 299 долларов.
- Кроме этого предлагаются бессрочные лицензии.
Операционная система для RobotC должна быть из семейства Microsoft Windows. При помощи среды программирования RobotC можно создавать эффективные программы с использованием сложных математических выражений.
Программирование EV3 на Python
Одним из наиболее популярных языков программирования в мире является Python. Он имеет небольшое синтаксическое ядро и объемную стандартную библиотеку функций. В операционной системе Linuх язык программирования Python установлен. При желании можно установить нужный вам текстовый редактор.
На микрокомпьютере EV3 установлена операционная система Linux. Для того, чтобы программировать EV3 на Python нужно установить Linux ev3dev на модуль EV3.
Скачать образ можно по адресу с официального сайта https://www.ev3dev.org/downloads.
Затем нужно установить образ на карту памяти microCD. Желательно, чтобы класс карты был не менее десяти. Объем карты памяти от двух до тридцати двух гигабайт. Можно также использовать карту памяти microSDHC.
После этого карту с образом можно вставлять в микрокомпьютер EV3 и включать его. Подсветка кнопок будет мигать оранжевым цветом. Это означает что происходит загрузка операционной системы. После загрузки на экране блока EV3 будет видно меню программы.
Затем нужно настроить соединение с компьютером и можно приступать к работе. Настройки соединения с компьютером нужно описывать отдельно так как они достаточно сложные. Для написания программ нужен еще редактор кода.
В качестве одного из вариантов можно установить редактор кода PyCharm Edu. Есть бесплатная версия с наличием подсказок, проверкой кода и подсвечиванием синтаксиса. Созданный в программе файл можно передать в блок EV3 при помощи программы PuTTY. Эта программа помогает установить SSH соединение операционной системы Windows с микроконтроллером EV3.
Скачать программу PuTTY можнос официального сайта. Есть 32 битная и 64 битная версии программы.
Программирование EV3 при помощи Scratch
Scratch является графической средой программирования. Программировать EV3 при помощи Scratch можно если установить нужное программное обеспечение и настроить его. Программное обеспечение можно установить на любые операционные системы. Для примера выберем операционную систему Windows.
Как и в случае с программированием на Python, потребуется карта памяти с такими же параметрами. Карту памяти нужно отформатировать в файловой системе FAT32. На компьютер надо установить виртуальную Java-машину под названием leJOS.
Эта Java-машина специально адаптирована для Lego Mindstorms EV3 и ее можно скачать с официального сайта https://sourceforge.net/projects/ev3.lejos.p/files.
Затем устанавливаем виртуальную машину на компьютер со всеми компонентами.
После этого устанавливаем образ на карту памяти. В дальнейшем при включении микрокомпьютера EV3 с картой памяти будет загружаться leJOS EV3. Без карты памяти будет происходить загрузка стандартного программного обеспечения Lego EV3.
Также на компьютере должна быть установлена свежая версия Adobe AIR. Затем можно установить редактор Scratch.
Он также может быть скачан с официального сайта https://scratch.mit.edu/download.
Установка редактора не занимает много времени.
Следующим шагом является установка ev3-scratch-helper-app. Это приложение служит для связи редактора Scratch и микроконтроллера EV3. Также в редакторе можно в настойках установить русский язык и нужно добавить блоки EV3 в редактор Scratch. После добавления блоков можно приступать к написанию программ.
В статье приведены не все возможные варианты программирования EV3, а только наиболее простые и не требующие каких-либо специальных знаний. Каждый вариант имеет свои достоинства и недостатки. Остается только выбрать что больше всего подходит в каждом конкретном случае.
Подключение LEGO EV3 к Scratch 3.0
Источник статьи: http://legoteacher.ru/robototexnika-dlya-nachinayushhix/ev3-programmirovanie.html
LEGO MINDSTORMS Education EV3 + MicroPython: программируем детский конструктор взрослым языком
Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динамики. Лабораторные стенды из кубиков LEGO и утилиты по регистрации и обработке данных делают опыты еще интереснее и нагляднее и помогают детям лучше понять физику. Например, школьники могут собрать данные о температуре плавления и с помощью приложения систематизировать их и представить в виде графика. Но это только начало: сегодня мы расскажем, как дополнить этот набор средой программирования MicroPython и использовать его для обучения робототехнике.
Учим программированию с помощью EV3
Современные школьники хотят видеть красочный результат. Да, им скучно, если программа выводит в консоль числа, и они хотят рассматривать цветные графики, диаграммы и создавать настоящих роботов, движущихся и выполняющих команды. Обычный код тоже кажется детям слишком сложным, поэтому обучение лучше начинать с чего-нибудь полегче.
Базовая среда программирования EV3 создана на основе графического языка LabVIEW и позволяет задавать алгоритмы для робота визуально: команды представлены в виде блоков, которые можно перетаскивать и соединять.
Такой способ хорошо работает, когда нужно показать, как строятся алгоритмы, но он не подходит для программ с большим количеством блоков. При усложнении сценариев необходимо переходить на программирование с помощью кода, но детям трудно сделать этот шаг.
Здесь есть несколько хитростей, одна из которых — показать, что код выполняет те же задачи, что и блоки. В среде EV3 это можно сделать благодаря интеграции с MicroPython: дети создают одну и ту же программу в базовой среде программирования с помощью блоков и на языке Python в Visual Studio Code от Microsoft. Они видят, что оба способа работают одинаково, но кодом решать сложные задачи удобнее.
Переходим на MicroPython
Среда EV3 построена на базе процессора ARM9, и разработчики специально оставили архитектуру открытой. Это решение позволило накатывать альтернативные прошивки, одной из которых стал образ для работы с MicroPython. Он позволяет использовать Python для программирования EV3, что делает работу с набором еще ближе к задачам из реальной жизни.
Чтобы начать работать, нужно скачать образ EV3 MicroPython на любую microSD-карту, установить ее в микрокомпьютер EV3 и включить его. Затем нужно установить бесплатное расширение для Visual Studio. И можно приступить к работе.
Программируем первого робота на MycroPython
На нашем сайте есть несколько уроков для освоения базовых понятий робототехники. Модели на EV3 знакомят детей с азами, которые используются в самоуправляемых автомобилях, заводских роботах-сборщиках, станках с ЧПУ.
Мы возьмем для примера чертежную машину, которую можно научить рисовать узоры и геометрические фигуры. Данный кейс является упрощенным вариантом взрослых роботов-сварщиков или фрезеровщиков и показывает, как можно использовать EV3 совместно с MicroPython для обучения школьников. А еще чертежная машина может разметить отверстия в печатной плате для папы, но это уже другой уровень, требующий математических расчетов.
Для работы нам понадобятся:
- базовый набор LEGO MINDSTORMS Education EV3;
- большой лист клетчатой бумаги;
- цветные маркеры.
Сборка самого робота есть в инструкции, а мы рассмотрим пример программирования.
Сначала инициализируем библиотеку модулей EV3:
Настраиваем платформу, которая вращает ручку как мотор в порте B. Задаем передаточное отношение двухступенчатой зубчатой передачи с количеством зубьев 20-12-28 соответственно.
Настраиваем подъемный механизм для ручки как мотор в порте C:
Настраиваем гироскоп, измеряющий угол наклона ручки, в порте 2:
Настраиваем цветовой датчик в порте 3. Датчик используется, чтобы определять белую бумагу под чертежной машиной:
Настраиваем датчик касания в порте 4. Робот начинает рисовать, когда датчик нажат:
Определяем функции, которые поднимают и опускают ручку:
Определяем функцию для поворота ручки на заданный угол или до определенного угла:
Если целевой угол больше, чем текущий угол гироскопического датчика, продолжаем движение по часовой стрелке с положительной скоростью:
Если целевой угол меньше, чем текущий гироскопического датчика, то двигаемся против часовой стрелки:
Останавливаем вращающуюся платформу, когда целевой угол будет достигнут:
Устанавливаем начальное положение ручки в верхнем положении:
Теперь идет основная часть программы — бесконечный цикл. Сначала EV3 ожидает, когда датчик цвета обнаружит белую бумагу или синюю стартовую клетку, а датчик касания будет нажат. Затем он рисует узор, возвращается в исходное положение и повторяет все заново.
Когда устройство не готово, светодиоды на контроллере принимают красный цвет, и на ЖК-экране отображается изображение «палец вниз»:
Дожидаемся, когда датчик цвета считает синий или белый цвет, устанавливаем цвет светодиодов зеленым, отображаем на ЖК-экране изображение «палец вверх» и сообщаем, что устройство готово к работе:
Дожидаемся нажатия датчика касания, присваиваем гироскопическому датчику значение угла 0 и начинаем рисовать:
Поднимаем держатель ручки и возвращаем его в исходное положение:
Вот такая несложная программа у нас получилась. И теперь запускаем ее и смотрим на робота-чертежника в деле.
Что дают такие примеры
EV3 — это инструмент для профориентации в рамках профессий STEM и точка входа в инженерные специальности. Так как на нем можно решать практические задачи, дети получают опыт технических разработок и создания промышленных роботов, учатся моделировать реальные ситуации, понимать программы и анализировать алгоритмы, осваивают базовые конструкции программирования.
Поддержка MicroPython делает платформу EV3 подходящей для обучения в старших классах. Ученики могут попробовать себя в роли программистов на одном из самых популярных современных языков, познакомиться с профессиями, связанными с программированием и инженерным проектированием. Наборы EV3 показывают, что писать код — это не страшно, готовят к серьезным инженерным задачам и помогают сделать первый шаг к освоению технических специальностей. А для тех, кто работает в школе и связан с образованием, у нас подготовлены программы занятий и учебные материалы. В них детально расписано, какие навыки формируются при выполнении тех или иных задач, и как полученные навыки соотносятся со стандартами обучения.
Источник статьи: http://habr.com/ru/company/legoeducation/blog/474562/