Set de base MINDSTORMS EV3

Créer une machine de tri

Concevez, construisez et programmez une machine capable d’identifier au moins trois couleurs afin de trier des éléments LEGO® selon des emplacements distincts.

Plus de 120 min.
Intermédiaire
Niveaux 9-12
1_Make_a_Sorting_Machine

Plan de cours

Préparer

  • Lisez cette documentation destinée aux enseignants.
  • Si nécessaire, prévoyez un cours préalable à l’aide du matériel de mise en route disponible dans le logiciel EV3 Lab ou l’application de programmation EV3. Cela permettra à vos élèves de se familiariser avec l’ensemble LEGO® MINDSTORMS® Education EV3.

Éveiller (30 min)

  • Utilisez les idées évoquées dans la section Lancer une discussion ci-dessous pour engager une discussion en lien avec ce projet.
  • Présentez le projet.
  • Répartissez les élèves en binômes.
  • Donnez à vos élèves le temps de rechercher des idées.

Explorer (30 min)

  • Demandez à vos élèves de créer plusieurs prototypes.
  • Encouragez-les à construire et à programmer.
  • Demandez à chaque binôme de construire et de tester deux solutions.
  • Fournissez à vos élèves des gobelets ou d’autres contenants pour recueillir les objets triés.

Expliquer (60 min)

  • Demandez à vos élèves de tester leurs solutions et de choisir la meilleure.
  • Vérifiez qu’ils sont en mesure de créer leurs propres bancs de test.
  • Accordez un peu de temps à chaque équipe pour finaliser leur projet et collecter des ressources pour documenter leur travail.

Développer (60 min)

  • Laissez le temps à vos élèves de créer leur rapport final.
  • Animez une session de partage au cours de laquelle chaque équipe présentera ses résultats.

Évaluer

  • Commentez les performances de chaque élève.
  • N’hésitez pas à utiliser les rubriques d’évaluation fournies.

Lancer une discussion

Les machines de tri peuvent trier des objets en fonction de différentes propriétés, comme la taille, le poids, la qualité ou la couleur. Elles utilisent divers capteurs pour mesurer ces propriétés, puis trier chaque objet dans la bonne catégorie.

Engage-Sorting-Machine-Cover

Encouragez la réflexion interactive.

Demandez à vos élèves de réfléchir à ces questions :

  • Quelles couleurs allez-vous trier ?
  • Quelle est la taille des éléments que vous allez trier ?
  • Quel type de mécanisme motorisé peut déplacer ces éléments ?
  • Comment la machine peut-elle repérer les différents emplacements ?
  • Quelles caractéristiques permettront à la machine d’exécuter des mouvements précis et reproductibles ?

Incitez vos élèves à documenter leurs idées initiales et à expliquer pourquoi ils ont choisi cette solution pour leur premier prototype. Demandez-leur de décrire comment ils comptent évaluer leurs idées tout au long du projet. Ainsi, lors de la phase de révision et d’adaptation, ils disposeront d’informations spécifiques pour évaluer leur solution et décider si elle est efficace.

Extensions

Extension Langue française

Option 1
Pour intégrer des notions d’arts du langage, demandez à vos élèves de :

  • Utiliser leur travail écrit, leurs croquis et/ou leurs photos pour récapituler leur processus de conception et créer un rapport final.
  • Enregistrer une vidéo qui détaille leur processus de conception, en commençant par leurs idées initiales et en finissant par le projet réalisé.
  • Créer une présentation sur leur programme.
  • Créer une présentation mettant leur projet en relation avec des applications réelles de systèmes similaires et décrivant de nouvelles inventions qui pourraient être imaginées grâce à ce qu’ils ont fabriqué.

Option 2
Dans le cadre de cette leçon, vos élèves ont créé une machine de tri. Dans les secteurs alimentaire et agricole, des machines de tri sont utilisées pour gérer la fabrication et la distribution des produits à grande échelle.
Pour intégrer des notions de langue française, demandez à vos élèves :

  • de décrire l’ampleur de leur industrie alimentaire ou agricole locale et régionale ;
  • de choisir un produit alimentaire ou agricole spécifique à une échelle bien précise, allant d’une petite entreprise/exploitation agricole à une production nationale ou mondiale, et de faire des recherches sur les questions de cybersécurité liées aux industries alimentaire et agricole (p. ex., comment garantir une production alimentaire sûre et fiable).

Extension Maths

Dans le cadre de cette leçon, vos élèves ont construit un robot qui triait les objets en fonction de leur couleur. L’apprentissage automatique est une technique que les ingénieurs peuvent employer pour construire des machines capables de trier des objets en fonction de différences encore plus complexes que la couleur. Pour ce faire, les développeurs ont recours à un processus d’apprentissage automatique appelé « classification ».
Pour intégrer des notions de mathématiques et explorer le processus d’apprentissage automatique dit de « classification », demandez à vos élèves :

  • de recueillir un certain type d’objets triables (p. ex., pierres, sortes de fruits, bracelets), puis de compléter un tableau de données répertoriant les différences qualitatives et quantitatives observables entre ces objets ;
  • de définir, pour chaque catégorie d’objets, les différences observables (p. ex., poids, couleur, taille, imperfections) qui pourraient servir de critères de tri pour « retenir » ou « exclure » les objets ;
  • de proposer et éventuellement développer un nouveau modèle et un nouvel algorithme de programmation qui permettraient à leur robot de trier des objets sur la base d’autres caractéristiques, telles que la taille ou le poids.

Astuces de construction

Idées de construction
Demandez à vos élèves de construire quelques-uns des exemples fournis via les liens ci-dessous. Encouragez-les à observer comment ces systèmes fonctionnent et à réfléchir à la façon dont ils pourraient s’en inspirer pour résoudre le problème exposé.

Astuces de test
Incitez vos élèves à élaborer leurs propres configuration et procédure de test pour sélectionner la meilleure solution. Les astuces suivantes peuvent aider vos élèves à mettre leur test en place :

  • Marquez les emplacements pour indiquer où la machine doit placer les objets.
  • Utilisez des gobelets ou d’autres contenants pour recueillir les objets triés.
  • Créez des bancs de test pour enregistrer vos observations.
  • Évaluez la précision de votre machine en comparant les résultats attendus avec les résultats réels.
  • Répétez le test au moins trois fois.

Exemple de solution
Voici un exemple de solution répondant aux critères de la présentation du problème :

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

Astuces de codage

Exemple de programme 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)

Monde professionnel

Les élèves qui ont apprécié ce cours pourraient être intéressés par les secteurs professionnels suivants :

  • Agriculture et horticulture (technologies et machines agricoles)
  • Fabrication et ingénierie (technologie des machines)

Opportunités d’évaluation

Checklist d’observation de l’enseignant
Créez un barème adapté à vos besoins, par exemple :

  1. Objectif partiellement atteint
  2. Objectif atteint
  3. Objectif dépassé

Utilisez les critères suivants pour évaluer la progression de vos élèves :

  • Les élèves évaluent la conception de solutions concurrentes en fonction de critères prioritaires et de compromis.
  • Les élèves développent de manière autonome une solution opérationnelle et créative.
  • Les élèves communiquent clairement leurs idées.

Auto-évaluation
Une fois que vos élèves ont recueilli des données sur les performances, donnez-leur le temps de réfléchir à leurs solutions. N’hésitez pas à leur poser des questions comme :

  • Votre solution répond-elle aux critères de la présentation du problème ?
  • Pouvez-vous rendre les mouvements de votre machine plus précis ?
  • Comment les autres ont-ils résolu ce problème ?

Demandez à vos élèves de réfléchir et de documenter deux façons d’améliorer leurs solutions.

Commentaires des camarades
Encouragez vos élèves à s’évaluer entre eux en évaluant leur propre projet mais aussi ceux des autres. Ce processus d’évaluation permet aux élèves d’apprendre à formuler des commentaires constructifs, à développer leur esprit d’analyse et à utiliser des données objectives pour avancer des arguments.

Support pour l’enseignant

Les élèves doivent :

  • Utiliser le processus de conception pour résoudre un problème réel.

Ensemble de base LEGO® MINDSTORMS® Education EV3

Gobelets ou autres contenants pour recueillir les objets triés
Bande adhésive pour marquer les emplacements

Sujets abordés : robotique, ingénierie, conception, prototypage, algorithmique

Collège :

  • 3ème, technologie

Lycée général :

  • Seconde générale, enseignement d’exploration :
    • sciences de l’ingénieur
    • méthodes pratiques et scientifiques
    • informatique et création numérique
  • 1ère, toutes séries générales, option informatique et création numérique
  • Tle, toutes séries générales, option informatique et création numérique
  • Tle, série S, spécialité informatique et sciences du numérique

Lycée technique :

  • STI2D, spécialité systèmes d’information et numérique

Matériel pour les élèves

Téléchargez, consultez ou partagez la fiche de travail de l’élève sous la forme d’une page HTML ou d’un fichier PDF à imprimer.

LEGO, the LEGO logo, the Minifigure, DUPLO, the SPIKE logo, MINDSTORMS and the MINDSTORMS logo are trademarks and/or copyrights of the LEGO Group. ©2020 The LEGO Group. All rights reserved. Use of this site signifies your agreement to the terms of use.