MINDSTORMS EV3 coreset

Maak een CNC-tekenmachine

Ontwerp, bouw en programmeer een machine die een patroon tekent, deze taak nauwkeurig uitvoert en deze taak herhaalt.

120+ min.
Gevorderd
Het derde tot zesde jaar
2_Make_a_CNC_Drawing_Machine

Lesplan

Voorbereiden

  • Lees deze informatie voor jou als docent door.
  • Als je denkt dat het nodig is, bereid dan een les voor met behulp van het ‘Aan de slag’-materiaal in de EV3 Labsoftware of EV3-programmeerapp. Daardoor raken je leerlingen vertrouwd met LEGO® MINDSTORMS® Education EV3.

Activeren (30 min.)

  • Maak gebruik van de ideeën in het deel Start een gesprek hieronder om met je leerlingen een gesprek over dit project te voeren.
  • Leg het project uit.
  • Verdeel de klas in teams van twee leerlingen.
  • Laat de leerlingen enige tijd brainstormen.

Onderzoeken (30 min.)

  • Laat de leerlingen meerdere prototypes maken.
  • Moedig ze aan om zowel het bouwen als het programmeren uit te proberen.
  • Laat elk duo twee oplossingen bouwen en testen.
  • Geef de leerlingen grote vellen ruitjespapier en kleurpotloden of stiften.

Uitleggen (60 min.)

  • Vraag de leerlingen om hun oplossingen te testen en de beste te kiezen.
  • Zorg ervoor dat ze hun eigen testtabellen kunnen maken.
  • Geef de teams wat tijd om hun project af te ronden en om gegevens te verzamelen voor een verslag over hun werk.

Uitbreiden (60 min.)

  • Geef de leerlingen wat tijd om hun definitieve verslag te maken.
  • Organiseer een bespreekmoment waarin elk team zijn resultaten presenteert.

Evalueren

  • Geef elke leerling feedback over zijn of haar prestaties.
  • Je kunt gebruikmaken van de meegeleverde suggestie voor evaluatierubrieken om dit eenvoudiger te maken.

Start een gesprek

CNC-machines (computer numerical control) maken gebruik van vooraf geprogrammeerde instructies om een bepaalde machine met zeer grote precisie langs een of meerdere assen te laten bewegen. Ze worden vaak ingezet binnen computer-Integrated Manufacturing (CIM) om een digitaal ontwerp op een computer om te zetten naar een fysiek object.

Engage-CNC-Machine-Cover

Moedig een actief brainstormproces aan.

Vraag de leerlingen na te denken over deze vragen:

  • Wat is een CNC-machine en waar worden ze gebruikt?
  • Wat is de beste manier om een potlood of stift te bevestigen?
  • Welk type gemotoriseerd mechanisme kan het potlood of de stift in twee richtingen verplaatsen?
  • • Welke ontwerpkenmerken zorgen ervoor dat de bewegingen van de machine nauwkeurig en herhaalbaar zijn?

Moedig de leerlingen aan om hun eerste ideeën op te schrijven en uit te leggen waarom ze kiezen voor de oplossing die ze voor hun eerste prototype gaan gebruiken. Vraag ze om te beschrijven hoe ze hun ideeën tijdens het project gaan evalueren. Daardoor hebben ze achteraf specifieke informatie die ze kunnen gebruiken voor het evalueren van hun oplossing en om te kunnen beslissen of deze al dan niet efficiënt was.

Uitbreidingen

Taaluitbreiding

Laat de leerlingen voor de ontwikkeling van hun taalvaardigheid:

Optie 1

  • gebruikmaken van hun aantekeningen, schetsen, en/of foto's om hun ontwerpproces samen te vatten en een eindverslag te maken.
  • een video maken, waarin hun ontwerpproces te volgen is, vanaf hun eerste ideeën tot het voltooide project.
  • een presentatie maken over hun programma.
  • een presentatie maken waarin zij hun project vergelijken met realistische toepassingen van soortgelijke systemen en waarin ze beschrijven welke nieuwe uitvindingen kunnen worden gedaan op basis van wat ze hebben gemaakt.

Optie 2
In deze les hebben je leerlingen ook een CNC-tekenmachine gemaakt. CNC-machines maken gebruik van door de mens ontwikkelde CAD-modellen (computer-aided design) om onderdelen, producten en prototypen te produceren. Deze CAD-modellen bestaan uit gegevens die op lokale netwerken of in de cloud staan opgeslagen.

  • Start een discussie over de voor- en nadelen van het opslaan van CAD-tekeningen op één computer, in een lokaal netwerk of in de cloud, en schrijf hier een verslag over
  • Schrijf een informatief verslag over gegevensprivacy en hoe die in verhouding staat tot de online opslag van opdrachten van leerlingen, waarbij je rekening houdt met het feit dat scholen en educatieve-softwareproviders gegevens van leerlingen moeten beschermen
  • Vergelijk de risico’s wat betreft gegevensbeveiliging van een technische onderneming die CAD-tekeningen online opslaat en van een school die CAD-tekeningen van leerlingen online opslaat, en weeg deze risico’s tegen elkaar af

Rekenuitbreiding

In deze les hebben je leerlingen een tekenmachine gemaakt. Wat zouden ze hebben gemaakt als ze een machine moesten maken die specifieke geometrische vormen kan tekenen? En wat zouden ze hebben gedaan om hun machine nog beter te laten worden in het tekenen van specifieke vormen? Ze zouden hiervoor een soort kunstmatige intelligentie kunnen gebruiken: machine learning. Om machine learning te kunnen gebruiken, moeten er in een systeem trainingsgegevens worden ingevoerd, zodat het kan ‘leren’ wat vormen zijn en hoe het kan vaststellen of het een bepaalde vorm correct heeft gemaakt.

Laat de leerlingen voor de ontwikkeling van hun rekenvaardigheid en voor een extra oefening in het toepassen van hun vaardigheden in machine learning, en dan met name het gebruik van trainingsgegevens:

  • de kenmerken van drie eenvoudige geometrische vormen (zoals een cirkel, vierkant of gelijkzijdige driehoek) noteren en laat ze beschrijven hoe deze kenmerken moeten worden aangepast om ervoor te zorgen dat een tekenrobot de verschillende vormen kan produceren
  • de kenmerken van een specifieke geometrische vorm noteren, op zo’n manier dat een tekenrobot die vorm in een bepaalde grootte kan produceren
  • de kenmerken bekijken die ze zojuist hebben genoteerd en een tabel met trainingsgegevens maken aan de hand waarvan hun robots leren welke bewegingen ze moeten maken om de gekozen vormen te genereren

Stel de volgende vragen om de verbanden tussen wiskundige concepten en vaardigheden met betrekking tot dit onderwerp verder uit te werken:

  • Wat is kunstmatige intelligentie? Op welke wijze verschilt het van een verzameling vooraf gedefinieerde opdrachten? Welke rol spelen wiskundige modellen in het maken van een onderscheid tussen kunstmatige intelligentie en een eenvoudige lijst opdrachten?
  • Hoe zou je het ontwerp van je robot aanpassen om ervoor te zorgen dat hij zijn omgeving kan observeren en de vormen leert tekenen die hij ziet?

Bouwtips

Bouwideeën
Geef de leerlingen de gelegenheid om enkele voorbeelden te bouwen die via onderstaande links te vinden zijn. Moedig ze aan om te onderzoeken hoe deze systemen werken en te brainstormen hoe deze systemen kunnen bijdragen aan een oplossing voor het ontwerpplan.

Tips voor het testen
Moedig de leerlingen aan om een eigen testopstelling en testprocedure te ontwerpen om de beste oplossing te kunnen selecteren. Deze tips kunnen de leerlingen helpen bij het opzetten van hun test:

  • Markeer de positie van de machine op het ruitjespapier, zodat je hem voor iedere test op dezelfde positie kan zetten.
  • Gebruik rasterlijnen met vierkantjes van 1 cm x 1 cm om de resultaten van elke test mee vast te leggen.
  • Maak testtabellen om je waarnemingen in te noteren.
  • Beoordeel de precisie van de machine door de verwachte resultaten met de daadwerkelijke resultaten te vergelijken.
  • Herhaal de test minstens drie keer.

Voorbeeldoplossing
Hieronder vind je een voorbeeldoplossing die voldoet aan de criteria uit het Ontwerpplan:

Pen-arm-cover
pen-arm-thumbnail

Programmeertips

EV3 MicroPython Voorbeeldprogramma

#!/usr/bin/env pybricks-micropython

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

# Configure the turntable motor, which rotates the arm.  It has a
# 20-tooth, a 12-tooth, and a 28-tooth gear connected to it.
turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])

# Configure the seesaw motor with default settings.  This motor raises
# and lowers the Pen Holder.
seesaw_motor = Motor(Port.C)

# Set up the Gyro Sensor.  It is used to measure the angle of the arm.
# Keep the Gyro Sensor and EV3 steady when connecting the cable and
# during start-up of the EV3.
gyro_sensor = GyroSensor(Port.S2)

# Set up the Color Sensor.  It is used to detect whether there is white
# paper under the drawing machine.
color_sensor = ColorSensor(Port.S3)

# Set up the Touch Sensor.  It is used to detect when it is pressed,
# telling it to start drawing the pattern.
touch_sensor = TouchSensor(Port.S4)

def pen_holder_raise():
    # This function raises the Pen Holder.
    seesaw_motor.run_target(50, 25, Stop.HOLD)
    wait(1000)

def pen_holder_lower():
    # This function lowers the Pen Holder.
    seesaw_motor.run_target(50, 0, Stop.HOLD)
    wait(1000)

def pen_holder_turn_to(target_angle):
    # This function turns the arm to the specified target angle.

    # Run the turntable motor until the arm reaches the target angle.
    if target_angle > gyro_sensor.angle():
        # If the target angle is greater than the current Gyro Sensor
        # angle, run clockwise at a positive speed.
        turntable_motor.run(70)
        while gyro_sensor.angle() < target_angle:
            pass
    elif target_angle < gyro_sensor.angle():
        # If the target angle is less than the current Gyro Sensor
        # angle, run counterclockwise at a negative speed.
        turntable_motor.run(-70)
        while gyro_sensor.angle() > target_angle:
            pass
    # Stop the motor when the target angle is reached.
    turntable_motor.stop(Stop.BRAKE)


# Initialize the seesaw.  This raises the Pen Holder.
pen_holder_raise()


# This is the main part of the program.  It is a loop that repeats
# endlessly.
#
# First, it waits until the Color Sensor detects white paper or a blue
# mark on the paper.
# Second, it waits for the Touch Sensor to be pressed before starting
# to draw the pattern.
# Finally, it draws the pattern and returns to the starting position.
#
# Then the process starts over, so it can draw the pattern again.
while True:
    # Set the Brick Status Light to red, and display "thumbs down" to
    # indicate that the machine is not ready.
    brick.light(Color.RED)
    brick.display.image(ImageFile.THUMBS_DOWN)

    # Wait until the Color Sensor detects blue or white paper.  When it
    # does, set the Brick Status Light to green and display "thumbs up."
    while color_sensor.color() not in (Color.BLUE, Color.WHITE):
        wait(10)
    brick.light(Color.GREEN)
    brick.display.image(ImageFile.THUMBS_UP)

    # Wait until the Touch Sensor is pressed to reset the Gyro Sensor
    # angle and start drawing the pattern.
    while not touch_sensor.pressed():
        wait(10)

    # Draw the pattern.
    gyro_sensor.reset_angle(0)
    pen_holder_turn_to(15)
    pen_holder_lower()
    pen_holder_turn_to(30)
    pen_holder_raise()
    pen_holder_turn_to(45)
    pen_holder_lower()
    pen_holder_turn_to(60)

    # Raise the Pen Holder and return to the starting position.
    pen_holder_raise()
    pen_holder_turn_to(0)

Leerlingen die deze les leuk vonden, zijn misschien geïnteresseerd in een van de studierichtingen:

  • Productie en techniek (machinetechnologie)
  • Media en communicatie (digitale media)

Evaluatiemogelijkheden

Observatiechecklist docent
Maak naar eigen inzicht een schaalverdeling, bijvoorbeeld:

  1. Gedeeltelijk uitgevoerd
  2. Volledig uitgevoerd
  3. Boven verwachting uitgevoerd

Gebruik de volgende criteria om de voortgang van je leerlingen te beoordelen:

  • Leerlingen kunnen verschillende ontwerpoplossingen beoordelen aan de hand van welke criteria het zwaarst moeten wegen en welke voor- en nadelen ze bieden.
  • Leerlingen kunnen zelfstandig een werkende en creatieve oplossing ontwikkelen.
  • Leerlingen kunnen hun ideeën duidelijk communiceren.

Zelfevaluatie
Geef de leerlingen de tijd om over hun oplossingen na te denken als ze eenmaal een aantal gegevens over de prestaties van hun oplossingen hebben verzameld. Help ze daarbij door vragen te stellen als:

  • Voldoet jullie oplossing aan de criteria uit het Ontwerpplan?
  • Is het mogelijk de machine nauwkeuriger te laten bewegen?
  • Welke oplossingen hebben anderen gebruikt?

Vraag de leerlingen om te brainstormen en twee manieren op te schrijven waarmee ze hun oplossingen zouden kunnen verbeteren.

Feedback van elkaar
Laat leerlingen elkaars werk evalueren en maak elk team verantwoordelijk voor de evaluatie van zowel hun eigen project als het project van anderen. Dit evaluatieproces kan de leerlingen helpen bij het ontwikkelen van vaardigheden voor het geven van opbouwende kritiek en bij het verbeteren van hun analysevaardigheden en het gebruik van objectieve gegevens ter ondersteuning van een argument.

Ondersteuning voor de leraar

De leerlingen:

  • passen het ontwerpproces toe om een realistisch probleem op te lossen

LEGO® MINDSTORMS® Education EV3 Basisset

Groot vel ruitjespapier of papier voorbedrukt met rasterlijnen
Kleurpotloden of stiften

HAVO/VWO Natuurkunde/NLT

A6.6 De kandidaat kan in contexten op basis van een gesteld probleem een technisch ontwerp voorbereiden, uitvoeren, testen en evalueren en daarbij relevante begrippen, theorie en vaardigheden en valide en consistente redeneringen hanteren.

VMBO NASK1

NASK1/K/3: natuurkundige apparatuur gebruiken, daarmee experimenten uitvoeren en de resultaten interpreteren en

  • de computer gebruiken om met meetprogramma’s experimenten uit te voeren en te interpreteren, om met applets en simulaties onderzoek te doen en om natuurkundige informatie te selecteren en te verwerken.
  • een onderzoek doen en een ontwerpproces uitvoeren en evalueren, daarbij ook rekening houdend met de veiligheid.

Materiaal voor de leerlingen

Download, bekijk of deel het leerlingenwerkblad als HTML-pagina of als PDF om zelf te printen.

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.