MINDSTORMS EV3-basissæt

Lav en CNC-tegnemaskine

Design, byg og programmér en maskine, som tegner et mønster, udfører opgaven præcist og gentager opgaven.

120+ min.
Let øvet
8. klasse - Gymnasie
2_Make_a_CNC_Drawing_Machine

Lektionsplan

Forbered dig

  • Læs denne undervisningsvejledning igennem.
  • Hvis du føler, der er behov for det, kan du planlægge en lektion ved hjælp af Kom godt i gang-materialet i EV3 Lab-softwaren eller EV3 Programmerings-appen. Det vil hjælpe eleverne med at blive fortrolige med LEGO® MINDSTORMS® Education EV3.

Inddrag eleverne (30 min.)

  • Brug idéerne i afsnittet Start en samtale nedenfor til at inddrage eleverne i en samtale om emnerne i dette projekt.
  • Forklar projektet.
  • Opdel klassen i hold a to elever.
  • Giv eleverne tid til at brainstorme.

Undersøg (30 min.)

  • Få eleverne til at lave flere forskellige prototyper.
  • Lad dem udforske både byggeri og programmering.
  • Få hvert elevpar til at bygge og teste to løsninger.
  • Give dem et stort ark millimeterpapir og farveblyanter eller tuscher.

Forklar (60 min.)

  • Bed eleverne om at teste deres løsninger og vælge den bedste.
  • Sørg for, at de kan lave deres egne testskemaer.
  • Giv holdene tid nok til at færdiggøre deres projekter og indsamle materiale til at dokumentere deres arbejde.

Udbyg (60 min.)

  • Giv eleverne tid til at udarbejde deres endelige rapporter.
  • Lad eleverne fremlægge deres resultater, så de kan dele deres erfaringer.

Evaluer

  • Giv feedback om hver elevs præstation.
  • For at forenkle processen kan du bruge det medfølgende evalueringsskema.

Start en samtale

CNC-maskiner bruger forprogrammerede instruktioner til at styre et redskab langs en eller flere akser med høj præcision. De er almindeligt brugt inden for computerintegreret produktion til at omdanne et digitalt design på en computer til en fysisk genstand.

Engage-CNC-Machine-Cover

Få eleverne til at deltage aktivt i en brainstorming.

Bed eleverne om at overveje disse spørgsmål:

  • Hvad er en CNC-maskine, og hvor anvendes den?
  • Hvordan kan man bedst fastgøre en blyant eller tusch?
  • Hvilken type motoriseret mekanisme kan bevæge blyanten eller tuschen i to dimensioner?
  • Hvilke designfunktioner sikrer, at maskinens bevægelser er præcise og gentagelige?

Få eleverne til at dokumentere deres indledende idéer og forklare, hvorfor de valgte netop den løsning, de vil bruge til deres første prototype. Bed dem om at beskrive, hvordan de vil evaluere deres idéer i løbet af projektet. På den måde har de specifikke oplysninger til rådighed, som de kan bruge til at evaluere deres løsning og afgøre, hvorvidt den er effektiv.

Idéer til videre arbejde

Idéer til videre arbejde – faglig kommunikation

For at styrke elevernes færdigheder i faglig kommunikation kan de:

Mulighed 1

  • Bruge deres skriftlige arbejde, tegninger og/eller fotos til at opsummere deres designproces og lave en endelig rapport.
  • Lave en video, hvor de demonstrerer deres designproces, fra deres indledende idéer til det færdige projekt.
  • Lave en præsentation om deres program.
  • Lave en præsentation, som forbinder deres projekt med virkelige anvendelser af lignende systemer og beskriver nye opfindelser, man kan lave på baggrund af deres produkt.

Mulighed 2
I denne lektion lavede eleverne en CNC-tegnemaskine. CNC-maskiner bruger CAD-modeller (computer-assisteret design) skabt af en person til at producere dele, produkter og prototyper. Disse CAD-modeller repræsenteres af data, der opbevares af computere på lokale netværk eller i skyen. Eleverne kan:

  • Snakke og skrive om fordele og ulemper ved at opbevare CAD-tegninger på henholdsvis en enkelt computer, et lokalt netværk og i skyen.
  • Med tanke på, at skoler og leverandører af undervisningssoftware skal beskytte elevernes data, herunder deres digitale CAD-tegninger: skrive et essay, der omhandler databeskyttelse, og hvad sammenhængen er mellem databeskyttelse og opbevaring af elevopgaver online.
  • Sammenholde problemstillingerne for henholdsvis en ingeniørvirksomhed, der opbevarer CAD-tegninger online, og en skole, der opbevarer elevers CAD-tegninger online.

Idéer til videre arbejde – matematik

I denne lektion lavede eleverne en tegnemaskine. Men hvad nu, hvis deres mål var at lave en maskine, der kunne tegne bestemte geometriske former? Hvad nu, hvis de gerne ville have deres maskine til at blive bedre og bedre til at tegne bestemte former? En måde at gøre dette på kunne være at bruge en type kunstig intelligens, der kaldes maskinlæring. For at kunne bruge maskinlæring skal systemet have træningsdata for at "lære", hvad former er, og hvordan det kan afgøre, om det har frembragt en bestemt form nøjagtigt.

For at styrke deres færdigheder i matematik og øve sig i at anvende disse færdigheder på emnet maskinlæring, specielt brugen af træningsdata, kan eleverne:

  • Skrive definitionerne på tre grundlæggende geometriske former (f.eks. cirkel, kvadrat, ligesidet trekant) og identificere, hvordan disse definitioner skal ændres, hvis de skal hjælpe en tegnerobot med at frembringe hver figur.
  • Skrive definitionen på en bestemt geometrisk form på en måde, der kan hjælpe tegnerobotten med at frembringe denne form i en bestemt størrelse.
  • Se på de definitioner, de lige har skrevet, og udarbejde en tabel med træningsdata for at lære deres robotter de bevægelser, de skal bruge til at generere de valgte former.

For yderligere at kæde matematiske begreber sammen med dette emne kan du stille disse spørgsmål:

  • Hvad er kunstig intelligens? Hvordan adskiller det sig fra en række fastlagte kommandoer? Hvilken rolle spiller matematiske modeller, når man skal skelne mellem kunstig intelligens og en simpel liste over kommandoer?
  • Hvordan vil du ændre din robots design, så den kan observere sine omgivelser og lære at tegne de former, den ser?

Byggetips

Byggeidéer
Giv eleverne mulighed for at bygge nogle eksempler ud fra nedenstående links. Få dem til at undersøge, hvordan disse systemer fungerer, og brainstorme over, hvordan systemerne kan give inspiration til en løsning på opgaveformuleringen.

Testtips
Få eleverne til at designe deres egne testopstillinger og fremgangsmåder til at vælge den bedste løsning. Disse tips kan hjælpe eleverne med at opstille deres tests:

  • Markér placeringen af maskinen på millimeterpapiret for at sikre, at du placerer den i samme position til hver testkørsel.
  • Brug gitterlinjer til at identificere kvadrater på 1 x 1 cm som hjælp til at registrere resultaterne af hver testkørsel.
  • Lav testskemaer til at registrere dine observationer.
  • Vurder din maskines præcision ved at sammenholde de forventede resultater med de faktiske resultater.
  • Gentag testen mindst tre gange.

Løsningseksempel
Her er et løsningseksempel, der opfylder kriterierne i opgaveformuleringen:

Pen-arm-cover
pen-arm-thumbnail

Programmeringstips

EV3 MicroPython programeksempel

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

Mulige karrierer

Hvis eleverne kunne lide denne lektion, ville de måske være interesserede i at undersøge karrieremuligheder inden for:

  • Fremstilling og teknik (maskinteknologi)
  • Medier og kommunikation (digitale medier)

Evalueringsmuligheder

Underviserens observationstjekliste
Lav en skala, der passer til dine behov, f.eks.:

  1. Delvist gennemført
  2. Gennemført
  3. Gennemført over forventning

Brug de følgende succeskriterier til at evaluere elevernes fremskridt:

  • Eleverne kan evaluere konkurrerende designløsninger på baggrund af prioriterede kriterier og omhyggelige afvejninger.
  • Eleverne kan selvstændigt udvikle en fungerende og kreativ løsning.
  • Eleverne kan tydeligt kommunikere deres idéer.

Selvevaluering
Når eleverne har indsamlet data om deres løsningers ydeevne, skal de have tid til at reflektere over løsningerne. Hjælp dem ved at stille spørgsmål som:

  • Opfylder din løsning kriterierne i opgaveformuleringen?
  • Kan din maskines bevægelse(r) gøres mere præcise?
  • Hvordan har andre løst dette problem?

Bed eleverne om at brainstorme og dokumentere to måder, de kunne forbedre deres løsninger på.

Fælles feedback
Lad eleverne deltage i en evalueringsproces, hvor hver gruppe skal evaluere både deres eget og de andres projekter. Denne evalueringsproces kan hjælpe eleverne med at udvikle deres kompetencer i at give konstruktiv feedback samt forbedre deres analysefærdigheder og evner til at bruge objektive data til understøttelse af deres argumenter.

Hjælp til lærere

Eleverne skal:
-Bruge designprocessen til at løse virkelige problemer

LEGO® MINDSTORMS® Education EV3 basissæt

Stort ark millimeterpapir eller papir, der er fortrykt med gitterlinjer
Farveblyanter eller tuscher

Fysik/kemi efter 9. klasse
• Eleven kan designe enkle teknologiske løsninger på udfordringer fra hverdag og samfund
• Eleven har viden om metoder til udvikling af tekniske løsninger

Teknologiforståelse efter 9. klasse
• Eleven kan på baggrund af kritisk analyse og vurdering udvikle konkrete forslag til redesign af digitale artefakter og de situationer, artefaktet indgår i
• Eleven har viden om egne handlemuligheder ift. digitale artefakters betydning i samfundet
• Eleven kan læse og forstå programmer skrevet i et tekstbaseret programmeringssprog samt anvende et sådant til systematisk modifikation og konstruktion af programmer ud fra en problemspecifikation
• Eleven har viden om metoder til at analysere og forudsige programmers opførsel samt teknikker til systematisk og trinvis udvikling af programmer

Informatik C – hhx, htx, stx
• Eleven kan løse et mindre problem ved at beskrive problemet, samt designe, realisere og afprøve et it-system gennem brugerorienterede teknikker
• Eleven kan identificere basale strukturer i programmeringssprog, modellere programmer og anvende programmering til udvikling af simple it-systemer

Elevmateriale

Download, se eller del elevarket, enten som en HTML-side eller som en pdf, der kan udskrives.

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.