Lego mindstorms шины данных

Lego mindstorms шины данныхLego mindstorms шины данныхLego mindstorms шины данныхLego mindstorms шины данныхLego mindstorms шины данных

Наше третье занятие мы посвятим изучению вычислительных возможностей модуля EV3 и разберем примеры практических решений задач на вычисление траектории движения. Снова запускаем среду программирования Lego mindstorms EV3, загружаем наш проект lessons.ev3 и добавляем в проект новую программу — lesson-3-4. Добавлять новую программу в проект мы научились с вами на предыдущем уроке.

3.1. Красная палитра – операции с данными

Программные блоки, необходимые для выполнения различных операций над числовыми, логическими или текстовыми данными, сосредоточены в красной палитре среды программирования Lego mindstorms EV3. Красная палитра содержит 10 программных блоков. В отличие от зеленой палитры — с программными блоками красной палитры мы будем знакомиться постепенно, по мере продвижения по курсу программирования и возникновения необходимости в новых программных конструкциях.

Lego mindstorms шины данных

3.2. Числовые значения. Блок «Константа», блок «Переменная»

Среда программирования Lego mindstorms EV3 позволяет нам обрабатывать в своих программах пять различных типов данных:«Текст», «Числовое значение», «Логическое значение», «Числовой массив», «Логический массив». В сегодняшнем уроке мы научимся оперировать с числовыми данными. Тип данных «Числовое значение» позволяет нам выполнять различные математические операции над числами. Числа в программе могут быть как положительными, так и отрицательными, быть целыми значениями или содержать десятичную дробь. Примеры: -15; 3,145; 8; -247,34.

Перед тем, как начать обрабатывать различные типы данных в наших программах, нам надо научиться их создавать и хранить. Для этих целей среда программирования Lego mindstorms EV3 предоставляет два вида программных блоков: «Переменная» и «Константа». Эти блоки позволяют создать в памяти робота специальные ячейки, позволяющие записывать, извлекать и редактировать различные типы данных. Программный блок «Константа» (Рис. 2) позволяет создавать ячейку памяти для хранения одного из пяти типов данных (Рис. 2 поз. 1). Требуемое значение записывается в ячейку на этапе создания программы (Рис. 2 поз. 2) и остается неизменным во время выполнения всей программы. Для получения значения, записанного в блок «Константа» используется «Вывод» (Рис. 2 поз. 3). Подробнее с извлечением данных из программных блоков мы познакомимся ниже при решении практической задачи Урока №3.

Lego mindstorms шины данных

В отличие от программного блока «Константа» — в блоке «Переменная» присутствуют два режима «Считывание» и «Записать» (Рис. 3 поз. 1). Перед первым использованием необходимо задать имя переменной, выбрав параметр блока «Добавить переменную» (Рис. 3 поз. 2). Имя переменной может содержать только заглавные и строчные буквы латинского алфавита, цифры, а также символы _ и . Задать значение переменной можно, записав или передав число в параметр «Значение» (Рис. 3 поз. 3).

Lego mindstorms шины данных

3.3. Блок математика, блок округление

Для выполнения математических вычислений служит программный блок «Математика». Он позволяет выполнить выбранную математическую операцию (Рис. 4 поз. 1) над двумя числами, заданными параметрами «a» и «b». В режимах «Абсолютная величина» и «Квадратный корень» для вычисления доступен только один параметр «a».

Lego mindstorms шины данных

Отдельно следует остановиться на режиме «Дополнения». В этом режиме количество параметров для расчета увеличивается до четырех: «a», «b», «c» и «d». В параметр «Уравнение» (Рис. 5 поз. 1) можно вписать любую произвольную формулу, производящую вычисления с этими параметрами.

Lego mindstorms шины данных

Иногда возникает необходимость произвести округление результата вычисления. Например: при отладке программы, можно выводить на экран модуля EV3 округленные промежуточные расчеты, чтобы легче было визуально контролировать ход выполнения программы. Для этого предназначен программный блок «Округление» (Рис. 6). Режимы «До ближайшего», «Округлить к большему» и «Округлить к меньшему» производят округление до целого значения. В режиме «Отбросить дробную часть» можно задать количество остающихся знаков дробной части после запятой.

Читайте также: Шины магнум 185 75 16с

Lego mindstorms шины данных

3.4. Примеры выполнения вычислений в программе

Настало время применить полученные знания на практике.

Задача №4: необходимо написать программу прямолинейного движения для проезда роботом расстояния в 1 метр.

За один полный оборот мотора робот проезжает расстояние, равное длине окружности колеса. Это расстояние можно найти, умножив число Пи (=3,14159) на диаметр колеса. Диаметр колеса из образовательного набора Lego mindstorms EV3 равен 56 мм, а — из домашнего набора Lego mindstorms EV3 равен 43,2 мм. Если переведем расстояние в 1 метр в миллиметры (1000 мм) и разделим на расстояние, которое робот проходит за один оборот мотора, то узнаем: сколько оборотов мотора необходимо для проезда всего заданного расстояния.

Lego mindstorms шины данных

Приступим к созданию программы:

  1. Используя программный блок «Константа», заведем в программу постоянное число Пи, равное примерно 3,14159.Lego mindstorms шины данных
  2. Используя программный блок «Переменная», создадим в программе переменную D и занесем в нее значение диаметра колеса в зависимости от используемого конструктора (если вы использовали другие колеса, то самостоятельно измерьте диаметр и внесите значение в программный блок).Lego mindstorms шины данных
  3. Используя программный блок «Математика», умножим значение блока «Константа» на значение переменной D. Для передачи значения из переменной D в программный блок «Математика» используем второй программный блок «Переменная» в режиме «Считывание»! (Для передачи значений между программными блоками используются шины данных. Чтобы установить шину данных, необходимо «потянуть» выходной параметр одного программного блока и «присоединить» его к входному параметру другого программного блока)Lego mindstorms шины данных
  4. Используя программный блок «Математика», разделим значение пути (1000 мм) на значение, полученное в шаге 3.Lego mindstorms шины данных
  5. Полученное в шаге 4 значение. округлив до двух знаков после запятой, выведем на экран модуля EV3.Lego mindstorms шины данных
  6. Полученное в шаге 4 значение подадим в параметр «Обороты» блока «Рулевое управление».Lego mindstorms шины данных

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

Задача №5: необходимо написать программу, рассчитывающую значение параметра «Градусы» для разворота нашего робота (Урок №2, Задача №1)

Данная задача имеет сходство с предыдущей — нам только требуется найти расстояние, которое должны проехать колеса нашего робота. Для того, чтобы наш робот развернулся на 180 градусов — необходимо, чтобы правое и левое колеса, проехав определенный путь по окружности, поменялись местами. Как видим из Рис. 8 — каждое колесо при этом проедет ровно половину окружности с диаметром, равным расстоянию между центрами колес (красная линия на Рис. 8). Подходящей линейкой померяем расстояние между центрами колес. Для робота, собранного по инструкции small-robot-45544, это расстояние равно 120 мм. Следовательно, умножив это значение на число Пи (3,14159) и разделив на 2, мы найдем расстояние, которое должно проехать каждое из колес нашего робота. Как найти соответствующее этому расстоянию число оборотов мотора — мы разобрали в Задаче 4 данного урока. Для того, чтобы перевести полученное число оборотов в градусы — вспомним соотношение: 1 оборот мотора = 360 градусов. Следовательно, если мы, воспользовавшись программным блоком «Математика», умножим полученное значение оборотов на 360 и подадим результат в параметр «Градусы» программного блока «Независимое управление моторами» (Урок №2 Рис.7 поз. 2), то решим требуемую задачу.

Читайте также: Камеры для шин низкого давления

Lego mindstorms шины данных

Попробуйте написать программу для решения задачи №5 самостоятельно, не подглядывая в решение!

Видео:LEGO MINDSTORMS EV3 урок 12 Шины данныхСкачать

LEGO MINDSTORMS EV3 урок 12 Шины данных

LEGO MINDSTORMS Education EV3 + MicroPython: программируем детский конструктор взрослым языком

Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динамики. Лабораторные стенды из кубиков LEGO и утилиты по регистрации и обработке данных делают опыты еще интереснее и нагляднее и помогают детям лучше понять физику. Например, школьники могут собрать данные о температуре плавления и с помощью приложения систематизировать их и представить в виде графика. Но это только начало: сегодня мы расскажем, как дополнить этот набор средой программирования MicroPython и использовать его для обучения робототехнике.

Видео:Соревнование по робототехнике Инверсная линия 9 секунд LEGO® Education 45544 MINDSTORMS® EV3Скачать

Соревнование по робототехнике Инверсная линия 9 секунд LEGO® Education 45544 MINDSTORMS® EV3

Учим программированию с помощью EV3

Современные школьники хотят видеть красочный результат. Да, им скучно, если программа выводит в консоль числа, и они хотят рассматривать цветные графики, диаграммы и создавать настоящих роботов, движущихся и выполняющих команды. Обычный код тоже кажется детям слишком сложным, поэтому обучение лучше начинать с чего-нибудь полегче.

Базовая среда программирования EV3 создана на основе графического языка LabVIEW и позволяет задавать алгоритмы для робота визуально: команды представлены в виде блоков, которые можно перетаскивать и соединять.

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

Здесь есть несколько хитростей, одна из которых — показать, что код выполняет те же задачи, что и блоки. В среде EV3 это можно сделать благодаря интеграции с MicroPython: дети создают одну и ту же программу в базовой среде программирования с помощью блоков и на языке Python в Visual Studio Code от Microsoft. Они видят, что оба способа работают одинаково, но кодом решать сложные задачи удобнее.

Видео:Шины данных EV3Скачать

Шины данных EV3

Переходим на MicroPython

Среда EV3 построена на базе процессора ARM9, и разработчики специально оставили архитектуру открытой. Это решение позволило накатывать альтернативные прошивки, одной из которых стал образ для работы с MicroPython. Он позволяет использовать Python для программирования EV3, что делает работу с набором еще ближе к задачам из реальной жизни.

Чтобы начать работать, нужно скачать образ EV3 MicroPython на любую microSD-карту, установить ее в микрокомпьютер EV3 и включить его. Затем нужно установить бесплатное расширение для Visual Studio. И можно приступить к работе.

Видео:Discover LEGO MINDSTORMS EV3Скачать

Discover LEGO MINDSTORMS EV3

Программируем первого робота на MycroPython

На нашем сайте есть несколько уроков для освоения базовых понятий робототехники. Модели на EV3 знакомят детей с азами, которые используются в самоуправляемых автомобилях, заводских роботах-сборщиках, станках с ЧПУ.

Мы возьмем для примера чертежную машину, которую можно научить рисовать узоры и геометрические фигуры. Данный кейс является упрощенным вариантом взрослых роботов-сварщиков или фрезеровщиков и показывает, как можно использовать EV3 совместно с MicroPython для обучения школьников. А еще чертежная машина может разметить отверстия в печатной плате для папы, но это уже другой уровень, требующий математических расчетов.

Читайте также: Шины амтел нордмастер без шипов

Для работы нам понадобятся:

  • базовый набор LEGO MINDSTORMS Education EV3;
  • большой лист клетчатой бумаги;
  • цветные маркеры.

Сборка самого робота есть в инструкции, а мы рассмотрим пример программирования.

Сначала инициализируем библиотеку модулей EV3:

Настраиваем платформу, которая вращает ручку как мотор в порте B. Задаем передаточное отношение двухступенчатой зубчатой передачи с количеством зубьев 20-12-28 соответственно.

Настраиваем подъемный механизм для ручки как мотор в порте C:

Настраиваем гироскоп, измеряющий угол наклона ручки, в порте 2:

Настраиваем цветовой датчик в порте 3. Датчик используется, чтобы определять белую бумагу под чертежной машиной:

Настраиваем датчик касания в порте 4. Робот начинает рисовать, когда датчик нажат:

Определяем функции, которые поднимают и опускают ручку:

Определяем функцию для поворота ручки на заданный угол или до определенного угла:

Если целевой угол больше, чем текущий угол гироскопического датчика, продолжаем движение по часовой стрелке с положительной скоростью:

Если целевой угол меньше, чем текущий гироскопического датчика, то двигаемся против часовой стрелки:

Останавливаем вращающуюся платформу, когда целевой угол будет достигнут:

Устанавливаем начальное положение ручки в верхнем положении:

Теперь идет основная часть программы — бесконечный цикл. Сначала EV3 ожидает, когда датчик цвета обнаружит белую бумагу или синюю стартовую клетку, а датчик касания будет нажат. Затем он рисует узор, возвращается в исходное положение и повторяет все заново.

Когда устройство не готово, светодиоды на контроллере принимают красный цвет, и на ЖК-экране отображается изображение «палец вниз»:

Дожидаемся, когда датчик цвета считает синий или белый цвет, устанавливаем цвет светодиодов зеленым, отображаем на ЖК-экране изображение «палец вверх» и сообщаем, что устройство готово к работе:

Дожидаемся нажатия датчика касания, присваиваем гироскопическому датчику значение угла 0 и начинаем рисовать:

Поднимаем держатель ручки и возвращаем его в исходное положение:

Вот такая несложная программа у нас получилась. И теперь запускаем ее и смотрим на робота-чертежника в деле.

Видео:10 лучших сборок робота Lego Mindstorms EV3. Подарок 50 инструкции в описании.Скачать

10 лучших сборок робота Lego Mindstorms EV3. Подарок 50 инструкции в описании.

Что дают такие примеры

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

Поддержка MicroPython делает платформу EV3 подходящей для обучения в старших классах. Ученики могут попробовать себя в роли программистов на одном из самых популярных современных языков, познакомиться с профессиями, связанными с программированием и инженерным проектированием. Наборы EV3 показывают, что писать код — это не страшно, готовят к серьезным инженерным задачам и помогают сделать первый шаг к освоению технических специальностей. А для тех, кто работает в школе и связан с образованием, у нас подготовлены программы занятий и учебные материалы. В них детально расписано, какие навыки формируются при выполнении тех или иных задач, и как полученные навыки соотносятся со стандартами обучения.

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле
    • Правообладателям
    • Политика конфиденциальности


    📺 Видео

    LEGO MINDSTORMS Education EV3 [45544] - Робот сортировщикСкачать

    LEGO MINDSTORMS Education EV3 [45544] - Робот сортировщик

    Lego Mindstorms NXT 2.0 CommercialСкачать

    Lego Mindstorms NXT 2.0 Commercial

    LEGO MINDSTORMS Education EV3 [45544] - Робот манипуляторСкачать

    LEGO MINDSTORMS Education EV3 [45544] - Робот манипулятор

    LEGO Mindstorms EV3 (Введение и обзор датчиков)Скачать

    LEGO Mindstorms EV3 (Введение и обзор датчиков)

    Introducing LEGO MINDSTORMS 51515 Robot InventorСкачать

    Introducing LEGO MINDSTORMS 51515 Robot Inventor

    My Lego Mindstorms creations | NXT and EV3 Robot counterparts | #stemeducation #legoСкачать

    My Lego Mindstorms creations | NXT and EV3 Robot counterparts | #stemeducation #lego

    MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

    MCP2515, контроллер CAN шины с интерфейсом SPI

    NOUVEAU LEGO® MINDSTORMS® EV3Скачать

    NOUVEAU LEGO® MINDSTORMS® EV3

    LEGO® MINDSTORMS® Education EV3Скачать

    LEGO® MINDSTORMS® Education EV3

    EV3 Lego. Робототехника для начинающих. EV3 Lego MindstormsСкачать

    EV3 Lego. Робототехника для начинающих. EV3 Lego Mindstorms

    LEGO Mindstorms 51515 Review: meet Charlie the robotСкачать

    LEGO Mindstorms 51515 Review: meet Charlie the robot

    LEGO MINDSTORMS EV3 (official 2013 commercial)Скачать

    LEGO MINDSTORMS EV3 (official 2013 commercial)
Поделиться или сохранить к себе:
Технарь знаток