Lego Robot [ ] [ ] [ ]

Relevanta dokument
Roboten. Sida 1 av 11

EV3 Roboten. Sida 1 av 13

Legorobot. Lär dig programmera en legorobot. Teknikåttan Ola Ringdahl Lena Kallin Westin

3 augusti (G) Programmering: Lego

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild.

Laborationer i SME094 Informationsteknologi I för

4 augusti (G) Programmering: Lego

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 ATT ANVÄNDA MOTORERNA... 9 LOOP (UPPREPANDE) FUNKTIONEN SKAPA EN EGEN KLOSS...

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT?

Strukturerad problemlösning. Metoder och verktyg för datavetare Ht09

Blockly är en av apparna som används för att styra roboten Dash. Den är väldigt enkel i sin utformning och kan med fördel användas av yngre barn.

MV-Nordic Lucernemarken Odense S Danmark Telefon mv-nordic.com

Robot Educator En introduktion

Vilken skillnad gör det var du placerar det? Prova båda.

Edison roboten som går at bygga ihop med LEGO

Programmering eller Datalogiskt tänkande

Programmeringspalett. Pr o gr a mvar a

Programmering av en Lego robot

Lär känna Edison. Det här är Edison, den programmeringsbara roboten.

Robotfotboll med Arduino

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 ANVÄNDANDET AV SENSORER... 4

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

Programmering robotprogrammering med mbot

LEGO MINDSTORMS Education EV3

Möt Edison. Detta är Edison, den programmerbara roboten. Vad är en robot? En robot är en maskin som man kan få att göra en uppgift på egen hand.

Konstruera, styra, reglera och programmera en röd tråd F-9

Den intelligenta dammsugaren

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

Programmering. Scratch - grundövningar

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Sirius II Installation och Bruksanvisning

Dagens robot. Copyright Sagitta Pedagog AB

Hur ser Blue-Bot ut i aktion?

Programmering med NXC Lego Mindstorm

Programmering av LEGO NXT robot Laborationsrapport för programering av robot för att följa svartmarkerad linje på maken

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

1. Vi satte ut ett körblock med standardinställningar 2. Ett till körblock sattes men varaktighet en ställdes istället på 3,55 rotationer (se bild)

Lektion 1 Arbetsblad 1.1 Möt Edison

Laborationsrapport av robotprogrammering

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada Introduktion i datateknik II1310

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Micro:bit och servomotorer

AVR 5. Styrning av trafikljus. Digitala system 15 p

Instruktion Basketboll

Felsökande av en Lego Mindstorm robot

Datorteknik 2 (AVR 2)

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

EdBuild. Bygga stridsvagnen EdTank

KUNGLIGA TEKNISKA HÖGSKOLAN KISTA. Lego Linefollower. Få en robot att följa linjen på golvet!

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

LPP Programmering. Syfte, övergripande mål Lära känna och kunna utföra enkla programmeringar i Scratch samt Lego Mindstorms.

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

Att göra spel med Game Maker. Rum. Grundläggande delar. Gamemaker, dagens föreläsning. Programmeringsmodell

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot

TDIU01 - Programmering i C++, grundkurs

Klassdeklaration. Metoddeklaration. Parameteröverföring

Programmera Lego Mindstormsrobotar

Skapa spelet Bug-race i Scratch

Laboration i datateknik

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Objektorienterad programmering Föreläsning 2

Kör framåt i <TID> sekunder. Kör bakåt i <TID> sekunder. Sväng vänster i <TID> sekunder. Sväng höger i <TID> sekunder

Här hittar du ett exempel på ritprogrammet:

Smart Rogic Manual. Robostick Manual

Kevin Lane Kungliga Tekniska Högskolan Introduktionskurs i Datateknik (II1310) TIEDB0. [NXT Legorobot] [Programmering och felsökning]

BESKRIVNING AV DISPLAY

Tisdag 50 Onsdag 50 Fredag 90

Snabbguide för datorstyrning och robotteknik med LEGO MINDSTORMS for Schools

Användarhan dbok. Areaberäknare INNEHÅLLSFÖRTECKNING TOC. Handbok versionsnr. SV 2-1 Programvara versionsnr. 3.0 Kongskilde

Lättläst om Victor Classic X

JavaScript del 3 If, Operatorer och Confirm

Metalldetektor CS300 Art.nr

Bruksanvisning M-ANY PreMium MP3 Art I kartongen: Fjärrkontroll, hörlurar, batterier, USB-kabel, Audiokabel, väska, halssnodd, CD-Rom.

EdBuild. Bygga kranen EdCrane

ANVÄNDARMANUAL. Trådlös fjärrkontroll YB1FA SVENSKA. Drift- och skötselmanual Fjärrkontroll YB1FA

PROGRAMMERING ÅK 9 INTRODUKTION

Provverktyg för elever instruktioner [SE]

KUNGLIGA TEKNISKA HÖGSKOLAN. Laboration II1310. Programmera Lego Mindstorm robot i NXC

Grunderna i stegkodsprogrammering

INSTALLATIONSMANUAL COBRA 4400FD12. Fiat Ducato husbil 2012->

RADIOMOTTAGARE RGBW SOM STYR EN GEMENSAM ANOD FÖR LED-strip

SE Version ANVÄNDAR HANDLEDNING DATORKUNSKAP NATURVETENSKAP TEKNIK KONSTRUKTION MATEMATIK. LEGOeducation.com/MINDSTORMS

Hur man använder CD-spelaren

Programmera en mänsklig robot

Installationsguide. För att installera mjukvara och hårdvara, följ nedanstående anvisningar.

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

SCENER. Att ändra i en scen

HEMISSON. Webots-Botstudio laborationsbok. Sida1

Digitalt lärande och programmering i klassrummet

Tynker gratisapp på AppStore

OzoCodes FÄRG KODER VINST/ UTGÅNG FART RÄKNARE RIKTNING TIMER COOLA RÖRELSER REFERENSSCHEMA VINST/UTGÅNG (SPELA IGEN) CRUISE SNABB TURBO NITRO BOOST

Ipad i teknikundervisningen

Uppdrag för LEGO projektet Hitta en vattensamling på Mars

Programmera en mänsklig robot. Lektionen handlar om att skapa och följa instruktioner. Programmera en mänsklig robot

Laboration - Programmering av LEGO Mindstorm robot

Förnybar energi. Komma igång med LEGO Energimätare

Programmering av LEGO NXT Robot

Trafiksignal MPB Handhavande. For the love of lives

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Transkript:

Lego Robot av [ ] [ ] [ ]

INNEHÅLLSFÖRTECKNING LABB1 (INFORMATION) # UPPGIFT 1 # UPPGIFT 2 # UPPGIFT 3 # LABB2 (OPERATÖRER) # UPPGIFT 1 # UPPGIFT 2 # UPPGIFT 3 # LABB3 (VARIABLER) # UPPGIFT 1 # UPPGIFT 2 # LABB4 (FÖRGRENING (IF-SAT)) # UPPGIFT 1 # UPPGIFT 2 # LABB5 (LOOP BLOCK) # UPPGIFT 1 # UPPGIFT 2 # LITEN CASE # LABORATION 1 # LABORATION 2 # 1

LABORATION 2 on1information Ansluta sensorer och motorer Motors (motorerna) och Sensors (sensorerna) fungerar bara när de är anslutna till EV3 Brick (EV3-enheten). Använd de platta, svarta Connector Cables (anslutningskablarna) för att koppla Sensors till EV3 Brick via indataportarna 1, 2, 3 och 4. Skapar du program när EV3 Brick inte är ansluten till en dator tilldelas Sensors standardportar, vilket sker automatiskt i EV3 Software (EV3- programvaran). Följande standardportar används: Port 1: Touch Sensor (trycksensor) Port 2: Ingen sensor Port 3: Color Sensor (färgsensor) + Port 4: Infrared Sensor (IR-sensor) Om EV3 Brick är ansluten till en dator medan du programmerar, identifieras varje sensors eller motors port automatiskt. Använd de platta, svarta anslutningskablarna för att koppla motorerna till EV3 Brick via utdataportarna A, B, C och D. Om EV3 Brick inte är ansluten till en dator medan du programmerar, tilldelas varje motor en standardport. Det sker automatiskt, precis som med sensorerna. Följande portar används: Port A: Medium Motor (medelstor motor) Port B och C: Två Large Motors (stora motorer) Port D: Large motor Om EV3 Brick är ansluten till en dator medan du programmerar, tilldelas rätt port automatiskt i programmet. 2

Positivt tal kör framåt Negativt tal kör bakåt. EXEMPEL: ROBOTPROGRAMMERING Din Lego roboten ska köra framåt och bakåt. Roboten ska köra först framåt. Sedan roboten ska svänga 180 grader och stanna. Hunden skäller 3

4

UPPGIFT 1 Skapa ett blockprogram med din Lego robot som kör runt i en fyrkant bana (se bilden). Din robot ska starta från en viss punkt och återvända i samma punkt. Din bana ska vara 75X20 cm. UPPGIFT 2 Skapa ett blockprogram med din Lego robot som kör runt i en triangelbana. Din robot ska starta från en viss punkt och återvända i samma punkt. Triangelsidorna ska vara olika. Du kan bestämma själva banasmåttet UPPGIFT 3 Skapa ett blockprogram med din Lego robot som kör runt i en bana. Sätt ett hinder var som hest på banan så att din Lego robot kör rund i det och fortsätter vidare till målet. Din robot ska starta från en viss punkt och återvända i samma punkt. Du kan bestämma själva banasmåttet och form. 5

LABORATION 2 Operatörer En operatör är en symbol som berättar för kompilatorn att utföra specifika matematiska eller logiska funktioner. Java script är rikt på inbyggda operatörer och tillhandahåller följande operatörer. Jämförelse Operatörer Antag att variabel A =6 och variabel B =12 då Operatörsnamn Operatör enkel Beskrivning exempel Lika med == Kontrollerar om värdet av två operander är lika eller inte, om ja då blir förhållandet sant. Mindre än < Kontrollerar om värdet av vänster operand är mindre än värdet på höger operand, om ja då blir förhållandet sant. Mer än > Kontrollerar om värdet på vänster operand är större än värdet på höger operand, om ja då blir förhållandet sant (A == B) är inte sant (A<B) är sant (A<B) är inte sant Mindre än eller lika med Mer än eller lika med <= Kontrollerar om värdet av vänster operand är mindre än eller lika med värdet på höger operand, om ja då blir förhållandet sant. >= Kontrollerar om värdet på vänster operand är större än eller lika med värdet på höger operand, om ja då blir förhållandet sant. (A<B) är sant (A<B) är inte sant Inte lika med!= Kontrollerar om värdet på två operander är lika eller inte, om värdena inte är lika då villkoret blir sant (A<B) är sant 6

Ultraljudssensorns Ultraljudssensorns avger högfrekventa ljudvågor (dessa vågor kan inte detekteras av mänskliga öron eftersom de är för höga) och väntar på att dessa ljudvågor återspeglar ett objekt och beräknar hur lång tid det tar för ljudet att återgå till sensorn. Sensorn jag använde kommer med sändnings- och mottagningsstiften märkta "trigger" respektive "echo". Dessa stift gör det mesta av arbetet för oss. 7

EXEMPEL: ROBOTPROGRAMMERING Använd ultraljudssensorns läge för att vänta på en ändring, för att upptäcka att ett objekt är nära. UPPGIFT 1 Skapa ett block program med din Lego robot som används ultraljudssensor för att upptäcka ett objekt. Roboten ska baka 10cm. Sedan vrider roboten 90 gradar och fortsatte sin resa. 8

UPPGIFT 2 Skapa ett blockprogram med din Lego robot som används ultraljudssensor för att upptäcka att ett objekt och kör runt kring det. UPPGIFT 3 Skapa ett blockprogram med din Lego robot som används ultraljudssensor för att upptäcka att ett objekt och han passerar objekt från höger och tillbaka till samma linje. 9

LABORATION 3 Variabler Inom programmering är en variabel ett namngivet objekt som har och kan ändra värde. Det finns flera olika typer av variabler som används i olika sammanhang. Så en variabel ses kanske enklast som en låda, med en etikett på. På etiketten står det ett namn och i lådan ligger det något. Med hjälp av variabler k2an din Lego-robot lagra nummer eller text baserat på inmatning. Färgsensor Den digitala EV3-färgsensorn skiljer mellan sju olika färger och kan också upptäcka frånvaron av färg. Blocket Färgsensor hämtar data från färgsensorn. Du kan mäta färgen eller intensiteten i belysning och få ett numeriskt utvärde. Du kan också jämföra sensordata med ett indatavärde och få ett logiskt (sant eller falskt) utvärde. Det fungerar också som en ljussensor genom att detektera ljusintensiteter. Studenter kan bygga färgsortering och radföljande robotar. 10

Enhetsdisplay Använd lego robot enhetens display för att visa bilder och text eller värde från roboten sensor på skärmen. 11

EXEMPEL: ROBOTPROGRAMMERING Skapa en kod för att göra lego robot läs färg med färgsensor och kontrollera om dess vita färg så att roboten kommer att spela ljud. 12

UPPGIFT 1 Skapa ett blockprogram med din Lego-robot som kör rakt och stoppa direkt när färgsensorn hittar en svart linje och visa färg på skärmen. UPPGIFT 2 Skapa ett blockprogram med din Lego-robot som undersöker bordsskivan, stå och kör bak när du når bordets kant och byter riktning. 13

LABORATION 4 Förgrening (IF satsen) Blocket Förgrening är en behållare som kan innehålla två eller flera sekvenser av programmeringsblock. Varje sekvens kallas för ett fall. Ett test i början av förgreningen styr vilket fall som ska köras. Bara ett fall åt gången körs varje gång förgreningen körs. Förgreningstestet som visas här kan avgöra vilket fall som ska köras baserat på ett sensordatavärde eller ett värde från en dataledning. När ett fall har valts och körts fortsätter programmet med eventuella block som följer efter förgreningen. If satsen är en konstruktion som du kan använda för att styra vad som ska göras i ditt program. Nästan alla program reagerar olika beroende på vad du matar in i dem. Med följande bild ska vi använda block som kontroll av avstånd mellan något objekt och roboten om det är mindre an 50CM (det är sant) roboten ska kör B motor och stop C motor, också om avstånd är mer an 50CM (det är falsk) roboten ska kör C motor och stop B motor. 14

Trycksensor Trycksensorn detekterar om knappen på sensorns framsida är intryckt. Med trycksensorn kan du till exempel detektera om roboten kör in i något. Du kan också utlösa en händelse genom att själv trycka på sensorns knapp. Trycksensorn kan indikera om den är intryckt eller inte. Däremot kan den inte mäta hur länge knappen hålls ner eller hur hårt den trycks in. Trycksensorn genererar logiska data, dvs. värdet Sant eller värdet Falskt. Trycksensorknappens position är densamma som dess status. Om knappen är intryckt är statusen Sant. Är knappen uppsläppt är statusen Falskt. EXEMPEL MED INTRYCKT Trycksensorn genererar följande data: 15

EXEMPEL: ROBOTPROGRAMMERING Programmet nedan får en robot att säga Touch (tryck). Sedan testar det om trycksensorn är intryckt. Om så är fallet körs Sant-fallet (överst), och texten Thumbs up (tummen upp) visas på roboten samtidigt som den säger Yes (ja). Om trycksensorn inte är intryckt körs Falskt-fallet (längst ned), och texten Thumbs down (tummen ned) visas på roboten samtidigt som den säger No (nej). Efter förgreningen säger roboten Thank you (tack). Trycksensorn testas så fort roboten har sagt Touch (tryck). Om sensorn hålls nedtryckt i det ögonblicket kör förgreningen Sant-fallet. Annars kör den Falskt-fallet. 16

UPPGIFT 1 Skapa ett blockprogram med din Lego robot som spelar ett visst ljud när du trycker på trycksensor. UPPGIFT 2 Skapa ett blockprogram med din Lego robot som kör framåt tills den koliderar med ett objekt t ex väggen. Trycksensoren trycks ner så att roboten kör bakåt och stannar. 17

LABORATION 5 Loop-block Loop-blocket är en behållare som kan innehålla en sekvens av programmeringsblock. Det får blocksekvensen som ingår att upprepas. Du kan välja om blocken ska upprepas i oändlighet, ett visst antal gånger, tills ett sensortest utförs eller tills något annat villkor är Sant. Det är bara blocken inuti loopen som upprepas. När loopen är slut fortsätter programmet med de block som följer efter loopen. Använd lägesväljaren om du vill styra hur loopen ska upprepas. De olika lägena anger vilket villkor som ska avbryta loopen. Du kan till exempel få loopen att upprepas ett visst antal gånger, att upprepas tills ett datavärde från sensorn når ett visst tröskelvärde eller att upprepas i oändlighet. Vilka indata som är tillgängliga beror på vilket läge som har valts. Lägena beskrivs nedan. Exempel: Med det här programmet körs en robot framåt tills trycksensorn trycks in eller tills färgsensorn detekterar svart (beroende på vad som inträffar först). Utdatavärdet från ett block av typen Logiska operationer används för indatavärdet Tills i loopen. När loopen är slut stoppas roboten. 18

OBS: nästa bild förklara hur logikporten fungerar. Gyrosensorn Gyrosensorn identifierar rotationsrörelser. Om du roterar gyrosensorn i samma riktning som pilarna på sensorns hölje, kan sensorn identifiera rotationsfrekvensen i grader per sekund. Du kan använda rotationsfrekvensen för att identifiera till exempel när en del av roboten roterar eller när roboten faller omkull. Gyrosensorn registrerar dessutom den totala rotationsvinkeln i grader. Du kan använda rotationsvinkeln om du till exempel vill ta reda på hur långt roboten har roterat. Gyrosensorn kan generera följande data: EXEMPEL: SVÄNG MED EN SPECIFIK VINKEL Med det här programmet svänger en robot 90 grader åt vänster. Programmet använder blocket Vänta med läget Gyrosensor Ändra Vinkel för att vänta tills rotationsvinkeln ändrats med 90 grader. 19

UPPGIFT 1 Skapa ett blockprogram med din Lego-robot spelar ett visst ljud när roboten rotera 90 grader. (Använd gyrosensorn för att mäta rotationsrörelser). UPPGIFT 2 Skapa ett blockprogram med din Lego-robot som kör runt och rotera när det kom nära väggen och var noga med att roboten spelar ljud när han roterar 20

LITEN CASE LABORATION 1 Två grupper ska tävla mot varandra samtidigt, Ni Skapar en blockprogrammering med din lego robot som ska köra så snabbt så möjligt inne i en cirkelbana utan att den lämna ut cirkeln. Roboten som lämnar ut först cirkelbana förlorad. Tips: 1- Använd färgsensor. 2- Skapa två loopar. 21

LABORATION 2 Två grupper ska tävla mot varandra samtidigt, Skapa ett blockprogram med din Lego-robot som följa en svart linje. Tips: 1- Använd färgsensor. 2- Skapa variabler. 3- Skapa loopar. 22

LITTERATURFÖRTECKNING Manual 1: https://www.lego.com/sv-se/mindstorms/downloads/user-guide Manuel 2: https://ev3-help-online.api.education.lego.com/retail/enus/page.html?path=blocks%2flego%2fstartblock.html 23