Базовый набор MINDSTORMS EV3

Сортировочная машина

Разработайте, соберите и запрограммируйте устройство, которое могло бы различать по меньшей мере три разных цвета деталей LEGO® и сортировать их по соответствующим отсекам.

Более 120 мин.
Средний уровень
Классы 9–11
1_Make_a_Sorting_Machine

План урока

Подготовка
— Ознакомьтесь с материалами для учителя.
— Если необходимо, разработайте план урока, используя материалы для начала работы из ПО «Лаборатория EV3» или Приложения для программирования EV3. Это поможет познакомить учащихся с конструкторами LEGO® MINDSTORMS® Education EV3.

Обсуждение (30 мин.)
— Используйте идеи, приведённые в разделе "Начало обсуждения", чтобы вовлечь учащихся в дискуссию по теме проекта.
— Объясните, в чём заключается цель данного проекта.
— Разделите класс на пары.
— Дайте учащимся немного времени, чтобы придумать несколько идей.

Объяснение (30 мин.)
— Дайте учащимся задание придумать несколько прототипов.
— Предложите им найти новые конструкторские и программные решения.
— Попросите каждую пару учащихся собрать и испытать два решения.
— Выдайте учащимся стаканчики или другие ёмкости для сортируемых предметов.

Объяснение (60 мин.)
— Попросите учащихся протестировать свои решения и выбрать лучшее из них.
— Убедитесь, что они могут подготовить свои таблицы результатов испытаний.
— Дайте каждой команде немного времени, чтобы завершить свой проект; затем соберите материалы, в которых они зафиксировали результаты своей работы.

Дополнение (60 мин.)
— Дайте учащимся немного времени, чтобы подготовить итоговые отчёты.
— Проведите обсуждение, в ходе которого каждая группа расскажет о результатах своей работы.

Оценка
— Дайте оценку работе каждого учащегося.
— Для упрощения этой задачи вы можете использовать раздел оценки.

Начало обсуждения

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

Engage-Sorting-Machine-Cover

Поощряйте активное обсуждение идей.

Предложите учащимся ответить на следующие вопросы.

  • Детали каких цветов вы будете сортировать?
  • Детали каких размеров вы будете сортировать?
  • Какой приводной механизм может перемещать такие детали?
  • Как робот будет отличать расположение ёмкостей для различных деталей?
  • Какая конструкция обеспечивает точность и повторяемость движений механизма?

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

Дополнительно

Развитие языковых навыков

Вариант 1
Для развития языковых навыков попросите учащихся:

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

Вариант 2
На этом уроке учащиеся собрали сортировочную машину. Предприятия пищевой промышленности и сельского хозяйства используют сортировочные машины для производства и распределения больших объемов продукции.
Для развития языковых навыков попросите учащихся:

  • описать масштаб деятельности местных или региональных предприятий пищевой промышленности и сельского хозяйства;
  • выбрать какой-либо определённый пищевой или сельскохозяйственный продукт, производящийся в определённом масштабе (мелкими предприятиями/фермерскими хозяйствами или производителями мирового уровня), и изучить вопросы кибербезопасности в пищевой промышленности и сельском хозяйстве.

Развитие математических навыков

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

  • подобрать несколько различных предметов (камней, фруктов, браслетов), которые можно сортировать по какому-либо признаку, и подготовить таблицу, содержащую информацию о видимых качественных и количественных различиях между этими предметами;
  • определить, какие из таких видимых признаков (например, вес, цвет, размер, дефекты) являются «желательными» и «нежелательными» критериями сортировки для каждой отдельной категории предметов;
  • предложить и по возможности реализовать в собранных ими роботах новый принцип сортировки и программный алгоритм, позволяющие сортировать предметы по дополнительным признакам, таким как размер или вес.

Советы по сборке

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

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

  • Отметьте позиции, куда робот должен положить детали.
  • Используйте стаканчики или другие ёмкости для хранения сортируемых предметов.
  • Подготовьте таблицы результатов испытаний, чтобы записывать в них результаты своих наблюдений.
  • Оцените точность работы своего механизма, сравнив ожидаемые и фактические результаты.
  • Проведите испытания по меньшей мере три раза.

Пример решения
Далее приведён пример решения, соответствующего критериям Технического задания.

sorting-machine-solution-bi-cover
Sorting-Machine-Solution-Cover

Советы по программированию

Пример программы, созданной в EV3 MicroPython

#!/usr/bin/env pybricks-micropython

from pybricks import ev3brick as brick
from pybricks.ev3devices import Motor, TouchSensor, ColorSensor
from pybricks.parameters import (Port, Button, Color, ImageFile,
                                 SoundFile)
from pybricks.tools import wait

# The Color Squares are red, green, blue, or yellow.
POSSIBLE_COLORS = (Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW)

# Configure the belt motor with default settings.  This motor drives
# the conveyor belt.
belt_motor = Motor(Port.D)

# Configure the feed motor with default settings.  This motor ejects
# the Color Squares.
feed_motor = Motor(Port.A)

# Set up the Touch Sensor.  It is used to detect when the belt motor
# has moved the sorter module all the way to the left.
touch_sensor = TouchSensor(Port.S1)

# Set up the Color Sensor.  It is used to detect the color of the Color
# Squares.
color_sensor = ColorSensor(Port.S3)

# This is the main part of the program.  It is a loop that repeats
# endlessly.
#
# First, it moves the 2 motors to their correct starting positions.
# Second, it waits for you to scan and insert up to 8 Color Squares.
# Finally, it sorts them by color and ejects them in their correct
# positions.
#
# Then the process starts over, so you can scan and insert the next set
# of Color Squares.
while True:
    # Initialize the feed motor.  This is done by running the motor
    # forward until it stalls.  This means that it cannot move any
    # further.  From this end point, the motor rotates backward by 180
    # degrees.  This is the starting position.
    feed_motor.run_until_stalled(120)
    feed_motor.run_angle(450, -180)

    # Initialize the conveyor belt motor.  This is done by first
    # running the belt motor backward until the Touch Sensor is
    # pressed.  Then the motor stops and the angle is reset to "0."  
    # This means that when it rotates backward to "0" later on, it
    # returns to this starting position.
    belt_motor.run(-500)
    while not touch_sensor.pressed():
        pass
    belt_motor.stop()
    wait(1000)
    belt_motor.reset_angle(0)

    # Clear all the contents from the Display.
    brick.display.clear()

    # Scanning a Color Square stores the color in a list.  The list is
    # empty to start.  It will grow as colors are added to it.
    color_list = []

    # This loop scans the colors of the objects.  It repeats until 8
    # objects are scanned and placed in the chute.  This is done by
    # repeating the loop while the length of the list is less than 8.
    while len(color_list) < 8:
        # Display an arrow that points to the Color Sensor.
        brick.display.image(ImageFile.RIGHT)

        # Display how many Color Squares have been scanned so far.
        brick.display.text(len(color_list))

        # Wait until the Center Button is pressed or a Color Square is
        # scanned.
        while True:
            # Store "True" if the Center Button is pressed or "False"
            # if not.
            pressed = Button.CENTER in brick.buttons()
            # Store the color measured by the Color Sensor.
            color = color_sensor.color()
            # If the Center Button is pressed or one of the possible
            # colors is detected, break out of the loop.
            if pressed or color in POSSIBLE_COLORS:
                break

        if pressed:
            # If the button was pressed, end the loop early.  It will
            # no longer wait for any Color Squares to be scanned and
            # added to the chute.
            break
        else:
            # Otherwise, a color was scanned, so it is added (appended)
            # to the list.
            brick.sound.beep(1000, 100, 100)
            color_list.append(color)

            # It should not register the same color again if it is
            # still looking at the same Color Square.  So, before
            # continuing, wait until the sensor no longer sees the
            # Color Square.
            while color_sensor.color() in POSSIBLE_COLORS:
                pass
            brick.sound.beep(2000, 100, 100)

            # Display an arrow pointing down and wait 2 seconds to
            # allow some time to slide the Color Square into the
            # motorized chute.
            brick.display.image(ImageFile.BACKWARD)
            wait(2000)

    # Play a sound and display an image to indicate that scanning is
    # complete.
    brick.sound.file(SoundFile.READY)
    brick.display.image(ImageFile.EV3)

    # Now sort the bricks using the list of colors that have been
    # stored.  Do this by looping over each color in the list.
    for color in color_list:

        # Wait for 1 second between each sorting action.
        wait(1000)

        # Run the conveyor belt motor to the position that corresponds
        # to the stored color.
        if color == Color.BLUE:
            brick.sound.file(SoundFile.BLUE)
            belt_motor.run_target(500, 10)
        elif color == Color.GREEN:
            brick.sound.file(SoundFile.GREEN)
            belt_motor.run_target(500, 132)
        elif color == Color.YELLOW:
            brick.sound.file(SoundFile.YELLOW)
            belt_motor.run_target(500, 360)
        elif color == Color.RED:
            brick.sound.file(SoundFile.RED)
            belt_motor.run_target(500, 530)

        # Now that the conveyor belt is in the correct position, eject
        # the colored object.
        feed_motor.run_angle(1500, 90)
        feed_motor.run_angle(1500, -90)

Перспективы профессионального развития

Учащиеся, которым было интересно данное задание, могут попробовать себя в следующих сферах деятельности:

  • сельское хозяйство и растениеводство (аграрные технологии);
  • производство и инженерное дело (машиностроение).

Возможности для оценки

Журнал педагога
Разработайте критерии оценки, максимально соответствующие вашим задачам, например следующие.

 1. Задание выполнено не полностью.
 2. Задание выполнено полностью.
 3. Результаты превзошли ожидания.

Используйте следующие критерии для оценки успеваемости учащихся.

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

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

  • Ваше решение соответствует критериям технического задания?
  • Можно ли сделать движения вашей чертёжной машины более точными?
  • Какие способы решения этой задачи нашли другие команды?

Попросите учащихся придумать и задокументировать два варианта усовершенствования их решений.

Оценка одноклассников
Организуйте процесс оценки решения одноклассниками, в ходе которого каждая группа должна оценить свой собственный проект и проекты других групп. Это поможет развивать навыки высказывания конструктивного мнения, а также совершенствовать навыки анализа и умение использовать объективные данные для аргументации своей позиции.

В помощь преподавателю

Учащиеся смогут:
использовать процесс разработки для решения задач из реальной жизни.

Базовый набор LEGO® MINDSTORMS® Education EV3

Стаканчики или другие ёмкости для сортируемых предметов
Цветная изолента для отметки местоположения робота и стаканчиков

Математика: алгебра и начала математического анализа, геометрия:
• сформированность умений моделировать реальные ситуации, исследовать
построенные модели, интерпретировать полученный результат
• владение навыками использования готовых компьютерных программ при
решении задач

Информатика:
• владение навыками алгоритмического мышления и понимание необходимости формального описания алгоритмов
• владение умением понимать программы, знанием основных конструкций программирования; умением анализировать алгоритмы

Метапредметные результаты:
• умение продуктивно общаться и взаимодействовать в процессе совместной деятельности, учитывать позиции других участников деятельности, эффективно разрешать конфликты
• умение ясно, логично и точно излагать свою точку зрения, использовать адекватные языковые средства

Учебные материалы

Загрузите и просмотрите рабочий лист или разошлите его в формате HTML-страницы или PDF.