MINDSTORMS EV3 Grundset

Gör en CNC-ritmaskin

Designa, bygg och programmera en maskin som ritar ett mönster, utför uppgiften korrekt och repeterar uppgiften.

120+ min.
Medelnivå
Årskurs 7-Gymnasiet
2_Make_a_CNC_Drawing_Machine

Lektionsplanering

Förberedelser

  • Läs igenom det här lärarmaterialet.
  • Om du tror att det behövs planerar du en lektion med hjälp av kom igång-materialet i EV3 Lab Software eller EV3-programmeringsappen. På så vis får eleverna bekanta sig med LEGO® MINDSTORMS® Education EV3.

Engagera (30 minuter)

  • Använd idéerna i avsnittet Starta en diskussion nedan för att få eleverna att diskutera projektet.
  • Förklara projektet.
  • Dela in klassen i par.
  • Ge eleverna tid för att komma på idéer.

Utforska (30 minuter)

  • Låt eleverna skapa flera prototyper.
  • Uppmuntra dem att utforska både byggande och programmering.
  • Låt varje par bygga och testa två lösningar.
  • Ge dem ett stort ark millimeterpapper och färgade pennor.

Förklara (60 minuter)

  • Be eleverna att testa sina lösningar och välja ut den bästa av dem.
  • Se till att de kan skapa sina egna testtabeller.
  • Ge paren tid att avsluta sina projekt och samla in material för att dokumentera sitt arbete.

Utveckla (60 minuter)

  • Ge eleverna tid att skapa slutrapporter.
  • Skapa en möjlighet att dela där varje grupp får presentera sina resultat.

Utvärdera

  • Ge återkoppling kring varje elevs prestation.
  • Du kan använda utvärderingsmatrisen som ingår för att förenkla processen.

Starta en diskussion

CNC-maskiner (Computer Numerical Control) använder förprogrammerade instruktioner för att styra ett verktyg längs en eller flera axlar, med hög precision. De används ofta inom datastyrd produktion för att förvandla en digital ritning på datorn till fysiska föremål.

Engage-CNC-Machine-Cover

Uppmuntra eleverna att aktivt komma på idéer.

Be eleverna att fundera kring följande frågor:

  • Vad är en CNC-maskin och var används de?
  • Vilket är det bästa sättet att sätta fast en penna?
  • Vilken slags motoriserad mekanism kan flytta pennan i två dimensioner?
  • Vilka konstruktionsegenskaper ska säkerställa att maskinens rörelser blir exakta och upprepningsbara?

Uppmuntra eleverna att dokumentera sina första idéer och förklara varför de valde den lösning de kommer att använda till sin första prototyp. Be dem att beskriva hur de kommer att utvärdera sina idéer under projektet. Det ger dem specifik information att använda när de i gransknings- och revideringsskedet utvärderar sin lösning och fastställer om den fungerar eller inte.

Utvidgning

Fördjupning i språkfärdighet

För att integrera utveckling i språkfärdigheter kan du låta eleverna:

Alternativ 1

  • Använda text, skisser och/eller foton för att sammanfatta designprocessen och skapa en slutrapport.
  • Skapa en film som skildrar designprocessen – från de allra första idéerna till det färdiga projektet.
  • Skapa en presentation om sina program.
  • Skapa en presentation som kopplar deras projekt till verkliga applikationer av liknande system och beskriva nya innovationer som skulle kunna göras utifrån deras modell.

Alternativ 2
I den här lektionen skapade eleverna en CNC-ritmaskin. CNC-maskiner använder CAD-modeller (computer-aided design, datorstödd utveckling) som skapas av människor i syfte att tillverka delar, produkter och prototyper. CAD-modellerna baseras på data som lagras av datorer i lokala nätverk eller i molnet.

  • Diskutera och skriv om fördelarna och nackdelarna med att lagra CAD-ritningar på en dator, i lokala nätverk och i molnet
  • Utgå från det faktum att skolor och leverantörer av utbildningsprogramvara måste skydda elevdata, även elevers digitala CAD-ritningar, och skriv en uppsats som översiktligt beskriver datasekretess och hur det spelar in vid lagring av elevuppgifter
  • Jämför och utvärdera datasäkerhetsproblem för ett teknikföretag som lagrar CAD-ritningar, och för en skola som lagrar elevers CAD-ritningar online

Fördjupning i matematik

I den här lektionen skapade eleverna en ritmaskin. Men tänk om målet var att skapa en maskin som kan rita specifika geometriska former? Eller om målet var att maskinen skulle bli allt bättre på att rita specifika former? Ett sätt att uppnå de målen är att använda en typ av artificiell intelligens kallad ”maskininlärning”. Maskininlärning innebär att systemet får tillgång till en mängd inlärningsdata, så att det ”lär sig” vad former är och kan bestämma om en viss form har ritats upp korrekt.

För att integrera utveckling inom matematik och låta eleverna använda matematiska kunskaper kopplat till maskininlärning, i synnerhet inlärningsdata, kan du låta dem:

  • Skriva definitioner av tre grundläggande geometriska former (till exempel en cirkel, en fyrkant eller en liksidig triangel), och identifiera hur definitionerna måste anpassas om de ska kunna användas för att hjälpa en robot att rita upp formerna
  • Skriva en definition för en specifik geometrisk form, så att roboten får hjälp att rita formen i en viss storlek
  • Titta närmare på de nyligen nedskrivna definitionerna och sedan skapa en inlärningsdatatabell som lär roboten de rörelser som krävs för att skapa den valda geometriska formen

Ställ följande frågor, för att knyta an till matematiska begrepp och resonemang:

  • Vad är artificiell intelligens? På vilket sätt skiljer sig artificiell intelligens från en uppsättning av färdiga kommandon? Vilken roll spelar matematiska modeller när det handlar om skillnaden mellan artificiell intelligens och en enkel kommandolista?
  • Hur skulle du ändra robotens konstruktion så att den kan observera omgivningen och lära sig att rita olika former som den upptäcker?

Byggtips

Byggidéer
Ge eleverna möjlighet att bygga några exempel från länkarna nedan. Uppmuntra dem att utforska hur dessa system fungerar och att använda dem som inspiration för att komma på idéer till en lösning på konstruktionsbeskrivningen.

Testningstips
Uppmuntra eleverna att designa en egen testmetod för att välja den bästa lösningen. Följande tips kan hjälpa eleverna att utforma sina tester:

  • Markera maskinens position på millimeterpappret för att se till att den placeras på exakt samma ställe under varje testomgång.
  • Använd rutnätet för att identifiera 1x1 cm stora rutor som underlättar avläsningen vid varje testkörning.
  • Skapa testtabeller för att dokumentera iakttagelser.
  • Utvärdera maskinens precision genom att jämföra förväntade resultat med faktiska resultat.
  • Upprepa testet minst tre gånger.

Exempellösning
Här är ett exempel på en lösning som uppfyller kriterierna i konstruktionsbeskrivningen:

Pen-arm-cover
pen-arm-thumbnail

Kodningstips

EV3 MicroPython exempelprogram

#!/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)

Yrkeslänkar

Elever som uppskattar den här lektionen kan vara intresserade av att utforska följande yrkesval:

  • Tillverkning och konstruktion (maskintekniker)
  • Media och kommunikation (kommunikatör)

Möjligheter till utvärdering

Checklista för lärarobservationer
Skapa en skala som passar dina behov, t.ex.:

  1. Delvis genomfört
  2. Helt genomfört
  3. Genomfört över förväntan

Använd följande kriterier för att utvärdera elevernas prestationer:

  • Eleverna kan utvärdera konkurrerande designlösningar utifrån prioriterade kriterier och med avseende på kompromisser.
  • Eleverna kan självständigt utveckla en fungerande och kreativ lösning.
  • Eleverna kan på ett tydligt sätt kommunicera sina idéer.

Självutvärdering
Ge eleverna tid att reflektera kring sina lösningar när de har samlat in data från sina resultat. Hjälp dem genom att ställa frågor som:

  • Uppfyller lösningen kriterierna i konstruktionsbeskrivningen?
  • Kan maskinens rörelse(r) göras mer exakt?
  • Hur har andra löst uppgiften?

Be eleverna att komma på idéer och dokumentera två sätt att förbättra sina lösningar.

Gemensam återkoppling
Uppmuntra eleverna att granska varandras arbeten och låt varje grupp ansvara för att utvärdera sitt eget och andras projekt. Det utvecklar deras förmåga att ge konstruktiv feedback, att analysera och att använda objektiva data som stöd för sina argument.

Stöd för lärare

Eleverna kommer att:

  • Använda designprocessen för att lösa ett verklighetsbaserat problem

LEGO® MINDSTORMS® Education EV3 Startset

Stort ark millimeterpapper eller papper med förtryckt rutnät
Färgade pennor

Läroplan för gymnasieskolan (Gy11)

Kap 1 Skolans värdegrund och uppgifter - Gymnasieskolans uppdrag.
”Skolan ska stimulera elevernas kreativitet, nyfikenhet och självförtroende samt vilja att pröva och omsätta idéer i handling och att lösa problem. Alla elever ska få utveckla sin förmåga att ta initiativ och ansvar och att arbeta både självständigt och tillsammans med andra. Skolan ska bidra till att alla elever utvecklar kunskaper och förhållningssätt som främjar entreprenörskap, företagande och innovationstänkande vilka ökar elevernas möjligheter till framtida sysselsättning, genom företagande eller anställning.”

Kap 2.1 Kunskaper
”Det är även skolans ansvar att varje elev som har slutfört ett nationellt program eller annan nationellt fastställd utbildning…

  • kan använda sina kunskaper som redskap för att formulera, analysera och pröva antaganden och lösa problem, lösa praktiska problem och arbetsuppgifter,
  • kan använda såväl digitala som andra verktyg och medier för kunskapssökande, informationsbearbetning, problemlösning, skapande, kommunikation och lärande.”

Kurser - Centralt innehåll

Nedan finns ett urval på kurser där delar av det centrala innehållet överensstämmer med lektionens innehåll. EV3 erbjuder möjligheten till en kursöverskridande samverkan.

  • Konstruktion 1, 100 p (Kurskod: KOTKOS01)
  • Matematik 1C, 100p (Kurskod: MATMAT01c)
  • Programmering 1, 100 p (Kurskod: PRRPRR01)
  • Svenska 1, 100 p (Kurskod: SVESVE01.Motsvarande finns även i SVASVA01).
  • Teknik 1, 150 p (Kurskod: TEKTEK01)
  • Tillämpad programmering, 100 p (Kurskod: TIATIL00S)

Elevmaterial

Ladda ner, visa eller dela elevbladet, antingen som en HTML-sida eller som en utskrivbar 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.