Lage et transportbånd
Design, bygg og programmer et robotikksystem som er avhengig av minst én motor og én sensor for å flytte en ball langs en bane som inkluderer en 90-graderssving.
Leksjonsplan
Forberede
- Les gjennom dette lærermaterialet.
- Du kan planlegge en leksjon ved bruk av Kom i gang-materialet i EV3 Lab-programvaren eller EV3 Programmering-appen, ved behov. Dette gjør at elevene blir kjent med LEGO® MINDSTORMS® Education EV3.
Engasjere (30 min.)
- Bruk ideene i Starte en diskusjon-delen nedenfor til å engasjere elevene i en diskusjon knyttet til dette prosjektet.
- Forklar prosjektet.
- Del klassen i grupper på to elever.
- La elevene få nok tid til å en idédugnad.
Utforske (30 min.)
- Be elevene om å opprette flere prototyper.
- Oppfordre dem til å utforske både bygging og programmering.
- Be hver gruppe om å bygge og teste to løsninger.
Forklare (60 min.)
- Be elevene om å teste løsningene sine og velge den beste.
- Sørg for at de kan lage sine egne testtabeller.
- La gruppene få litt tid til å avslutte prosjektet og til å samle inn informasjon for å dokumentere arbeidet.
Utdype (60 min.)
- Gi elevene litt tid til å lage sine endelige rapporter.
- Start en delingsøkt der hver gruppe presenterer sine resultater.
Evaluere
- Gi tilbakemelding på elevenes arbeid.
- Du kan bruke de vedlagte vurderingsrubrikkene for å forenkle prosessen.
Starte en diskusjon
Transportbånd i fabrikker transporterer ting, alt fra råmaterialer til ferdigpakkede produkter mellom flere plasseringer. Transportbåndsystemer er velkjente, og en rekke transportbåndsystemer har blitt utviklet til å flytte alle slags objekter på en effektiv måte.
Oppfordre til en aktiv idédugnadsprosess.
Be elevene om å tenke gjennom disse spørsmålene:
- Hva er et transportbånd og hvor brukes de?
- Hvilken type motorisert mekanisme kan brukes til å flytte en ball?
- Hvordan kan robotikksystemet bevege ballen mens det opprettholder kontrollen over ballen?
- Hvilken rolle spiller sensoren? Hvordan kan du måle hvor bra robotikksystemet fungerer?
Oppfordre elevene til å dokumentere sine første ideer og forklare hvorfor de valgte løsningen de vil bruke for sin første prototype. Be dem beskrive hvordan de vil evaluere ideene sine gjennom hele prosjektet. På denne måten, når elevene ser gjennom og endrer, har de spesifikk informasjon som de kan bruke til å evaluere løsningen, og avgjøre om den var effektiv eller ikke.
Flere ideer
Flere ideer til norskundervisningen
Legge til rette for utvikling av språklige ferdigheter, og be elevene om å:
Alternativ 1
- Bruke skriftlig arbeid, skisser og/eller bilder til å oppsummere designprosessen, og lage en endelig rapport.
- Lage en video som demonstrerer designprosessen helt fra de første ideene og til det fullførte prosjektet.
- Lage en presentasjon om programmet sitt.
- Lage en presentasjon som knytter prosjektet til realistiske brukstilfeller med lignende systemer, og beskriver nye oppfinnelser som kan gjøres basert på hva de har laget.
Alternativ 2
I denne leksjonen opprettet elevene også et system som flyttet en ball langs en sti, noe som etterlignet systemene som brukes i moderne produksjon.
- Vurdere om moderne produksjonsoperasjoner bør bekymre seg for Internett-sikkerhet eller intern datasikkerhet, og skriv et beskrivende essay om moderne produksjon og bruk av skydata
- Beskrive bruken av transportbåndsystemer i oppfyllelsessentre for nettbutikk-operasjoner
- Diskutere fordeler og ulemper med lagring av innkjøspdata for forbrukere i skyen
Flere ideer til matematikk
I denne leksjonen opprettet elevene et system som flyttet en ball langs en sti, noe som etterlignet systemene som brukes i moderne produksjon. Mange moderne produksjonsprosesser benytter automatisering for produksjon og kvalitetskontroll. En form for kunstig intelligens kalt maskinlæring kan brukes til å analysere ytelsesdata og generere nye prosedyrer, for å forbedre den generelle ytelsen og effektiviteten. Produksjonsingeniører gjør dette ved å samle inn store datasett som beskriver systemytelse og effektivitet. Maskinlæringsalgoritmer brukes til å analysere disse datasettene for å ta beslutninger som forbedrer ytelsen og effektiviteten.
Hvis du vil innlemme matematisk kompetanseutvikling og utforske produksjonsrelaterte emner, for eksempel kvalitetskontroll og maskinlæring, ber du elevene om å:
Legge til maskinvare og programvare i designene sine for å måle ytelsen, og tenke på hvordan de kan representere maskinens ytelse ved hjelp av kvantitative tiltak
Utvikle kvantitative representasjoner av «godt nok» for sine design, med tanke på at både maskiner og mennesker må vurdere hva som er «godt nok» når det utføres kvalitetskontroll og ytelsesanalyse
Oppføre så mange variabler som mulig som finnes i systemene, og som kan få innvirkning på ytelsen og effektiviteten, med tanke på at maskinlæring er verktøyet som brukes når en utforsker store datasett og prøver å finne ut komplekse relasjoner mellom maskindata (dvs. trinnene det fulgte) og ytelsen.
Byggetips
Byggeideer
Gi elevene muligheten til å bygge noen eksempler fra lenkene nedenfor. Oppfordre dem til å utforske hvordan disse systemene fungerer, og til å gjennomføre en idédugnad om hvordan disse systemene kan føre til en løsning på designskissen.
Tips for testing
Oppfordre elevene til å designe sine egne testoppsett og lage prosedyrer for å velge den beste løsningen. Disse tipsene kan hjelpe elevene dine når de sette opp testen:
- Opprett testtabeller som registrerer observasjonene dine.
- Evaluer nøyaktigheten til robotikksystemet ved å sammenligne de forventede resultatene med de faktiske resultatene.
- Gjenta testen minst tre ganger.
Forslag til løsning
Her er et forslag til løsning som oppfyller kriteriene til designskissen:
Programmeringstips
EV3 MicroPython Prøveprogram
#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import Motor, TouchSensor, ColorSensor
from pybricks.parameters import Port, Stop, Direction, SoundFile
from pybricks.tools import wait
from random import randint
# Configure the belt motor, which drives the conveyor belt. Set the
# motor direction to counterclockwise, so that positive speed values
# make the conveyor move upward.
belt_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE)
# Configure the "catch" motor with default settings. This motor moves
# the ball to either cup.
catch_motor = Motor(Port.D)
# Set up the Color Sensor. It is used in Reflected Light Intensity
# Mode to detect when the ball is placed at the bottom of the conveyor
# belt.
color_sensor = ColorSensor(Port.S3)
# Set up the Touch Sensor. It is used to detect when the ball reaches
# the catch at the end of the ramp.
touch_sensor = TouchSensor(Port.S4)
# Initialize the conveyor belt. This is done by slowly running the
# motor backward until it stalls. This means that it cannot move any
# further. Then it resets the angle to "0." This means that when it
# rotates backward to "0" later on, it returns to this starting
# position.
belt_motor.run_until_stalled(-300, Stop.BRAKE, 30)
belt_motor.reset_angle(0)
# This is the main part of the program. It is a loop that repeats
# endlessly.
#
# First, it waits until the ball is placed on the conveyor belt.
# Second, the ball is moved upward until it reaches the ramp where it
# rolls down to the catch.
# Finally, the ball is moved to the left or the right cup, or an error
# sound is made, chosen at random.
#
# Then the process starts over. The ball can be placed at the
# beginning of the conveyor belt again.
while True:
# Wait until the ball is placed in front of the Color Sensor.
while color_sensor.reflection() < 5:
wait(10)
wait(500)
# Move the ball up on the conveyor belt.
belt_motor.run_target(250, 450, Stop.COAST, False)
# Wait until the ball hits the Touch Sensor at the catch at the end
# of the ramp.
while not touch_sensor.pressed():
wait(10)
# Generate a random integer between "-1" and "1" to determine what
# to do with the ball.
catch_command = randint(-1, 1)
# If it generates a "1," change the light to green and move the
# ball to the right cup.
if catch_command == 1:
brick.light(Color.GREEN)
catch_motor.run_target(400, -20)
wait(1000)
catch_motor.run_target(400, 0, Stop.HOLD)
# If it generates a "0," change the light to orange and move the
# ball to the left cup.
elif catch_command == 0:
brick.light(Color.ORANGE)
catch_motor.run_target(400, 20)
wait(1000)
catch_motor.run_target(400, 0, Stop.HOLD)
# Otherwise, change the light to red and play an error sound.
else:
brick.light(Color.RED)
brick.sound.file(SoundFile.RATCHET)
wait(1000)
# Return the conveyor belt to its starting position.
belt_motor.run_target(250, 0)
Lenker til karrieremuligheter
Elevene som likte denne leksjonen, kan også være interessert i å utforske disse karrieremulighetene:
- Produksjon og maskinteknikk (maskinteknologi)
- Naturfag, teknologi, maskinteknikk og matematikk (maskinteknikk og teknologi)
Vurderingsmuligheter
Observasjonssjekkliste for lærer
Lag en skala som stemmer overens med behovene dine, for eksempel:
- Delvis fullført
- Fullstendig fullført
- Overgikk forventningene
Bruk følgende kriterier for å evaluere elevenes arbeid:
- Elevene kan evaluere konkurrerende designløsninger basert på prioriterte kriterier og andres hensyn.
- Elevene styrer selv utviklingen av en fungerende og kreativ løsning.
- Elevene kan kommunisere ideene sine tydelig.
Egenvurdering
Når elevene har samlet inn ytelsesdata, kan du gi dem tid til å reflektere over løsningene sine. Hjelp dem ved å stille spørsmål som:
- Oppfyller løsningen kriteriene til designoversikten?
- Kan robotikksystemets bevegelse(r) bli enda mer nøyaktige?
- Har andre løst problemet på andre måter?
Be elevene om å gjennomføre en idédugnad og dokumentere to måter de kan forbedre løsningene sine på.
Tilbakemelding fra andre
Oppmuntre til parvurdering blant elevene slik at hver gruppe er ansvarlige for å evaluere sitt eget og andres prosjekt. Denne par-vurderingen kan bidra til å utvikle elevenes ferdigheter i å gi konstruktive tilbakemeldinger, så vel som å forbedre analyseferdighetene og bruken av objektive data for å støtte et argument.
Lærerstøtte
Elevene kommer til å:
- Bruke designprosessen til å løse problemer i den virkelige verden
Naturfag etter 10.trinn
- utvikle produkter ut fra kravspesifikasjoner og vurdere produktenes funksjonalitet, brukervennlighet og livsløp i forhold til bærekraftig
utvikling
Valgfag programmering
- omgjøre problemer til konkrete delproblemer, vurdere hvilke delproblemer som lar seg løse digitalt, og utforme løsninger for disse
- utvikle og feilsøke programmer som løser definerte problemer, inkludert realfaglige problemstillinger og kontrollering eller simulering av fysiske objekter