Set di base MINDSTORMS EV3

Crea una macchina selezionatrice

Progettare, costruire e programmare una macchina in grado di identificare almeno tre diversi colori degli elementi LEGO® e disporli in posizioni separate.

Oltre 120 min.
Intermedio
Dai 14 ai 18 anni
1_Make_a_Sorting_Machine

Piano di lezione

Preparazione

  • Leggi il materiale per l'insegnante.
  • Se lo ritieni necessario, pianifica una lezione utilizzando il materiale introduttivo presente nel software EV3 Lab o nell'app EV3 Programming per aiutare gli studenti a familiarizzare con LEGO® MINDSTORMS® Education EV3.

Coinvolgimento (30 min.)

  • Utilizza le idee suggerite nella sezione Avvia una discussione riportata di seguito per coinvolgere gli studenti in una discussione incentrata sul progetto.
  • Spiega il progetto.
  • Dividi la tua classe in team composti da due studenti.
  • Concedi agli studenti il tempo necessario per scambiarsi le idee.

Esplorazione (30 min.)

  • Chiedi agli studenti di creare vari prototipi.
  • Incoraggiali a esplorare sia la costruzione che la programmazione.
  • Chiedi ad ogni coppia di studenti di costruire e testare due soluzioni.
  • Consegna agli studenti alcuni contenitori per gli oggetti selezionati.

Spiegazione (60 min.)

  • Invita gli studenti a testare le proprie soluzioni e a scegliere la migliore.
  • Accertati che siano in grado di creare le proprie tabelle di test.
  • Concedi ad ogni team il tempo necessario per completare il proprio progetto e raccogliere risorse per documentare il lavoro svolto.

Elaborazione (60 min.)

  • Concedi agli studenti il tempo necessario per elaborare i report finali.
  • Avvia una sessione di condivisione in cui ogni team presenta i risultati ottenuti.

Valutazione

  • Fornisci un riscontro su ciò che ogni studente ha realizzato.
  • Per semplificare la procedura, puoi utilizzare le sezioni di valutazione fornite.

Avvia una discussione

Le macchine selezionatrici possono ordinare gli oggetti in base a varie proprietà, ad esempio dimensioni, peso, qualità o colore. Per misurare queste proprietà e quindi ordinare ogni oggetto e inserirlo nella categoria corretta utilizzano diversi sensori.

Engage-Sorting-Machine-Cover

Incoraggia un processo di brainstorming attivo.

Chiedi agli studenti di riflettere su queste domande:

  • Quali colori verranno selezionati?
  • Gli elementi di quali dimensioni verranno selezionati?
  • Quale tipo di meccanismo motorizzato può spostare questi elementi?
  • In che modo la macchina può rilevare le diverse posizioni?
  • Quali funzionalità di progettazione possono garantire che i movimenti della macchina siano accurati e ripetibili?

Incoraggia gli studenti a documentare le loro idee iniziali e a spiegare perché hanno scelto la soluzione che utilizzeranno per creare il loro primo prototipo. Invitali a descrivere la modalità di valutazione delle loro idee durante tutto il progetto. In questo modo, quando gli studenti eseguiranno la verifica e la revisione, disporranno di informazioni specifiche da utilizzare per valutare la soluzione e decidere se è stata o meno efficace.

Estensioni

Miglioramento delle capacità linguistiche

Opzione 1
Per promuovere lo sviluppo delle capacità linguistiche, invita gli studenti a:

  • Utilizzare testi scritti, disegni e/o foto per riepilogare il processo di progettazione e creare un report finale.
  • Creare un video che illustri il processo di progettazione dalle idee iniziali al progetto completato.
  • Creare una presentazione incentrata sul programma.
  • Creare una presentazione che colleghi il loro progetto ad applicazioni reali basate su sistemi simili e descriva le nuove invenzioni che potrebbero nascere da ciò che hanno creato.

Opzione 2
In questa lezione, gli studenti hanno creato una macchina selezionatrice. Le industrie alimentari e agricole utilizzano le selezionatrici per gestire la produzione e la distribuzione dei prodotti su larga scala.
Per promuovere lo sviluppo delle capacità linguistiche, invita gli studenti a:

  • Descrivere la portata delle loro industrie alimentari o agricole locali e regionali
  • Scegliere un prodotto alimentare o agricolo di una portata specifica che spazia dalle piccole imprese/aziende agricole alla produzione a livello nazionale o globale e ricercare questioni di sicurezza informatica correlate alle industrie alimentari e agricole (ad esempio, come garantire una produzione alimentare sicura e affidabile)

Miglioramento delle capacità matematiche

In questa lezione, gli studenti hanno costruito una macchina selezionatrice robotica che ordina gli oggetti in base al colore. Il Machine Learning è una tecnica che gli ingegneri possono utilizzare per costruire macchine che ordinano gli oggetti in base a differenze ancora più complesse del colore A tal fine, gli sviluppatori utilizzano un processo di apprendimento automatico denominato classificazione.
Per incorporare lo sviluppo delle competenze matematiche ed esplorare il processo di apprendimento automatico denominato classificazione, chiedi agli studenti di:

  • Raccogliere alcuni tipi di oggetti ordinabili (ad esempio, rocce, tipi di frutta, bracciali), quindi compilare una tabella di dati elencando le differenze qualitative e quantitative osservabili tra gli oggetti
  • Definire quali differenze osservabili porterebbero a criteri di ordinamento "desiderati" rispetto a quelli "non desiderati" (ad esempio, peso, colore, dimensione, imperfezioni) per ogni singola categoria di oggetti
  • Proporre ed eventualmente costruire un nuovo algoritmo di progettazione e programmazione di ordinamento per i propri robot che consentirebbe loro di ordinare per caratteristiche aggiuntive come dimensioni o peso

Suggerimenti per la costruzione

Idee per la costruzione
Offri agli studenti l'opportunità di costruire alcuni esempi consultando i link forniti di seguito. Incoraggiali a scoprire come funzionano questi sistemi e a riflettere su come potrebbero ispirare una soluzione per la descrizione del progetto.

Suggerimenti per i test
Incoraggia gli studenti a progettare la propria configurazione e procedura di test per selezionare la soluzione migliore. Questi suggerimenti possono aiutare gli studenti a configurare il proprio test:

  • Segna la posizione per indicare il punto in cui la macchina deve collocare gli oggetti.
  • Utilizza i contenitori per riporre gli oggetti selezionati.
  • Crea tabelle di test per prendere nota delle osservazioni.
  • Valuta la precisione della macchina confrontando i risultati previsti con quelli effettivi.
  • Ripeti il test almeno tre volte.

Soluzione di esempio
Ecco una soluzione di esempio che soddisfa i criteri della descrizione del progetto:

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

Suggerimenti per la programmazione

Programma di esempio di 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)

Gli studenti che hanno apprezzato questa lezione potrebbero essere interessati ai seguenti percorsi di studio:

  • Agricoltura e orticoltura (tecnologia e meccanica agraria)
  • Produzione e ingegneria (tecnologia delle macchine)

Opportunità di valutazione

Checklist di osservazione per l’insegnante
Crea una scala adeguata alle tue esigenze, ad esempio:

  1. Obiettivo parzialmente raggiunto
  2. Obiettivo completamente raggiunto
  3. Obiettivo superato

Per valutare i progressi compiuti dagli studenti, utilizza i seguenti criteri:

  • Gli studenti riescono a valutare le soluzioni progettuali realizzate dai compagni in base a criteri di priorità e a considerazioni di reciprocità.
  • Gli studenti riescono a sviluppare autonomamente una soluzione funzionante e creativa.
  • Gli studenti comunicano chiaramente le proprie idee.

Autovalutazione
Concedi agli studenti il tempo necessario per raccogliere alcuni dati su ciò che hanno realizzato e per riflettere sulle loro soluzioni. Per aiutarli, potresti porre domande quali:

  • Questa soluzione soddisfa i criteri indicati nella descrizione del progetto?
  • È possibile rendere più accurati i movimenti della macchina?
  • Quali sono le possibili risoluzioni del problema applicate da altri?

Chiedi agli studenti di impegnarsi in una sessione di brainstorming e di documentare due possibili miglioramenti delle loro soluzioni.

Riscontro dei compagni
Proponi una verifica tra pari, in modo che ciascun gruppo sia responsabile della valutazione dei propri progetti e di quelli degli altri. Questo processo di revisione può stimolare gli studenti a sviluppare e affinare le capacità di critica costruttiva e analisi e di utilizzo di dati obiettivi a supporto di un'argomentazione.

Supporto per insegnante

Gli studenti saranno in grado di:

  • Utilizzare il processo di progettazione per risolvere un problema inerente una situazione reale

Set di base EV3 di LEGO® MINDSTORMS® Education

Contenitori per gli oggetti selezionati
Nastro per contrassegnare le posizioni

Collegamenti con il programma curricolare per Licei scientifici, Licei scientifici delle scienze applicate, e Istituti tecnici

  • utilizzare criticamente strumenti informatici e telematici per svolgere attività di studio e di approfondimento, per fare ricerca e per comunicare, in particolare in ambito scientifico e tecnologico;
  • utilizzare gli strumenti e le metodologie dell’informatica nell’analisi dei dati, nella formalizzazione e modellizzazione dei processi complessi e nell’individuazione di procedimenti risolutivi;
  • utilizzare le strutture logiche, i modelli e i metodi della ricerca scientifica, e gli apporti dello sviluppo tecnologico, per individuare e risolvere problemi di varia natura, anche in riferimento alla vita quotidiana;
  • individuare le caratteristiche e l’apporto dei vari linguaggi (storico-naturali, simbolici, matematici, logici, formali, artificiali);
  • comprendere il ruolo della tecnologia come mediazione fra scienza e vita quotidiana;
  • comprendere i campi dell’elettronica, della robotica applicata ai processi produttivi e l’automazione industriale.

Materiale per studenti

Download, view or share the student worksheet, either as an online HTML page or a printable PDF

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.