KUNG. TEKNISKA HÖGSKOLAN. Laboration. Programmering av LEGO-robot

Relevanta dokument
Programmering av LEGO NXT Robot

Lego Mindstormprogrammering

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

Laboration - Programmering av LEGO Mindstorm robot

Laboration i datateknik

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

LEGO NXT Robotprogrammering

Labbrapport - LEGO NXT Robot

Programmera Lego Mindstormsrobotar

Introduktion i programmering med språket NXC

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

Laborationsrapport av robotprogrammering

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

Simon Johansson Introduktionskurs Datateknik 1310

Programmering av en Lego robot

Simon Boström Introduktionskurs i Datateknik

[Introduktion till programmering ]

Felsökning av mjukvara

Laboration i datateknik

Peter Ottosson 31/ Introduktionskurs i datateknik II1310

PROGRAMMERING AV LEGO-ROBOT VIA NXC

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

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

LEGO Mindstorm-robot

Robotprogrammering felsökning & analys.

Labbrapport. Introduktionskurs i datateknik (II1310) Stefan Dalarsson,

Robotar i NXc. En laboration med Mindstormrobotar. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Felsökande av en Lego Mindstorm robot

Programmering av LEGO NXT Robot

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Labbrapport LEGO-robot linefollower

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Introduktion till programmering med hjälp av Lego Mindstorm

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

Praktisk programmering

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

Programmera en NXT Robot

[Introduktionskurs i Datateknik]

Programmering med NXC Lego Mindstorm

Programmeringslaboration med LEGOrobot

Programmera LEGO NXT

LEGO MINDSTORMS Education EV3

Roboten. Sida 1 av 11

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

LEGO Education WeDo 2.0 lärarhandledning

Scanner Detektor lärarhandledning Mojäng

Programmeringsteknik I

Robot Educator En introduktion

Universe Engine Rapport

EV3 Roboten. Sida 1 av 13

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

Välkomna! Datalogiskt tänkande och programmering 15 augusti WiFI Nätverk: Conventumwifi Lösenord: conventum2018

Miljö och hållbar utveckling MHU

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

Användarhandledning Version 1.2

Programmering. Analogt och med smårobotar. Nina Bergin

Extramaterial till Matematik X

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Digitala Projekt (EITF11)

Hur fungerar en dator? Lektionen handlar om att förstå hur datorer styrs av program. Hur fungerar en dator? Lektionsförfattare: Boel Nygren

Programmeringspalett. Pr o gr a mvar a

Programmering eller Datalogiskt tänkande

Tidigare elever berättar Teknikprogrammet

LEGO Education WeDo. Framtiden tillhör de kreativa! NATURVETENSKAP PROBLEMLÖSNING KREATIVITET SAMARBETE

Programmering, dans och loopar

Programmering, dans och loopar

Föreläsning 3. Programmering, C och programmeringsmiljö

Programmering från början

Blue bot programmering F-3

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

PROGRAMMERING I SKOLAN Utbildning av kollegor på Carlssons skola CECILIA CHRISTIANSEN ULRIHCA MALMBERG

Robotfotboll med Arduino

En diskursanalytisk studie av programmering som innehåll i grundskolans teknikämne. Eva Björkholm och Susanne Engström, KTH

Digitalt lärande och programmering i klassrummet

Slutrapport för Internetfonden

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Edison roboten som går at bygga ihop med LEGO

Laborationer i SME094 Informationsteknologi I för

Hur fungerar en dator?

Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.

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

DATALOGISK TÄNKANDE OCH PROGRAMMERING CETIS OKTOBER 2017

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

Programmering robotprogrammering med mbot

Bakgrund: När man programmerar på professionell nivå så går det ut på att koppla gränssnittet till funktioner.

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

Digitalt lärande och programmering i klassrummet

Kojo med Inga Ingenjör

Programmeringsappar. Av Alex

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

KOM IGÅNG, UPPDRAG OCH KOMPONENTER

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

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

Det innebär att studenten efter genomgången kurs skall kunna:

Planering Programmering grundkurs HI1024 HT 2014

Lektion 1: Möt Robo! Områden: Robotteknik, ingenjörsteknik mekanisk design

e-sense move dali Manual

Transkript:

KUNG. TEKNISKA HÖGSKOLAN Laboration Programmering av LEGO-robot 2012-09-01 E-post: Maxwin@KTH.se Introduktionskurs i datateknik (II1310) Medlaborant: Andreas Bergstrand Sammanfattning I den här rapporten kan man läsa om processen att felsöka koden för en LEGO-robot och hur jag och min medlaborant gick till väga med hjälp av parprogrammering till att få roboten att följa en linje och skriva namn på displayen. Programmeringen skedde i utvecklingsmiljön BricxCC i språket NXC.

Innehållsförteckning 1. Inledning... 3 1.1 Bakgrund... 3 1.2 Syfte och målsättning... 3 2. Genomförande... 3 3. Resultat... 3-4 4. Analys... 4 5. Diskussion... 4-5 Referenser... 5 Bilagor... 5 Datateknik Kung. Tekniska Högskolan Sida 2 av 5

1. Inledning I världen vi lever i idag har tekniken en stor roll. För att kunna förstå hur tekniken fungerar och hur vi ska utveckla den måste vi förstå vad som händer på djupet. Detta är vad en studerande elev på ICT skolan ska lära sig. Denna laboration introducerade just detta för eleverna, hur programmeringen kopplas till vardagen och tekniken. 1.1 Bakgrund Denna laboration var bra till att väcka en förståelse hur kopplingen mellan hårdvara och mjukvara fungerar och går till. Hur man kan kommunicera med hårdvara till att göra det man vill. Det är nödvändigt för en ingenjör att förstå eftersom programmering styr en stor del av tekniken. 1.2 Syfte och målsättning Syftet med laborationen var att felsöka koden som styrde roboten och parprogrammera om de delarna som var fel till att få roboten att fungera på sättet vi ville. Syftet med rapporten är att öva på hur man dokumenterar en laboration och att reflektera över resultatet. Målet var att få roboten att kunna följa en linje på golvet. 2. Genomförande Jag och min medlaborant Andreas började med att ladda ned all programvara som var nödvändig för att utföra laborationen. På tillverkarens hemsida kunde vi hitta all nödvändig mjukvara. Vi programmerade i BricxCC. När materialet som behövdes var redo, laddade vi ned den kod som styrde våran robot. Roboten vi fick tillgång till, var ihop byggd och hade redan en kompilerad kod. Eftersom vi hade klara mål av vad roboten skulle göra, felsökte vi koden och parprogrammerade när vi skulle rätta till den. 3. Resultat Följande kod ändrades för att få roboten att uppnå målen. Radnummer Ny kod Kommentar 35-40 Andreas Max Vi kan lägga till namn Våra egna namn samt några ord för att testa vår senare 48 int namnstorlekar; Heltalsvariabel för att hålla kod. reda på hur många steg från LCD_LINE 2 (48) Datateknik Kung. Tekniska Högskolan Sida 3 av 5

programmet ska hoppa fram vid nytt namn 51-57 If (i!= 0){ }else{ När namnen ska intereras ut ser vi om det är första loopen 52 TextOut(0, (LCD_LINE _(namnstorlekar + StrLen (names [i-1]))), names[i]); 53 Namnstorlekar += (8-StrLen (names [i- 1])) + StrLen(names [i-1]); 56 TextOut(0, LCD-LINE 2, names [i]); Skriver ut ifrån LCD_LINE 2 och hoppar fram namnstorlekar och det förra namnet för att skriva ut på raden nedan Ökar namn storlekar med förra namnet + det som fattas för att täcka raden Om det inte är första loopen så skriver den ut första namnet utan att hoppa fram 81 (IN_3) Fel sensor avlästes vid ljusstyrka 99 OnFwd(OUT_B, SpeedSlow); Ändra hastighet på hjul 103 OnFwd(OUT_A, SpeedSlow); Ändra hastighet på hjul 4. Analys Laborationen gick bra och var rolig. Min medlaborant Andreas hade aldrig varit i kontakt med något programmerings språk innan, så jag fick försöka förklara och lära honom så mycket som möjligt. Jag och Andreas blev lite oeniga under laborationen gällande ingen ändrig av kod. Jag som ville spetsa till det lite och experimentera med LEGO-roboten fick hejda mig och fortsätta att ändra de enstaka felen som fanns i koden som skulle felsökas. De felen som stod bakom robotens beteende var främst att sensorn som skulle avläsa ljuset var fel sensor. När vi rättade till detta märkte vi även att när roboten kom utanför den linje som den skulle följa, satte motorn fel hastighet på fel hjul som gjorde att den åkte av linjen. 5. Diskussion Syftet med laborationen tycker jag var otroligt spännande, att felsöka koden och rätta till den så att robotens uppförande blir rätt. Även fast det inte var ett avancerat mål att få roboten att kunna följa en linje, så var det intressant att vi kunde programmera en kod som roboten följde. Det jag lärde mig av det här var att jobba på att bryta ned problem i små delar. Det var nödvändigt att visualisera problemet i små delar, sedan se till så att roboten klarade av det steg för steg. Programvaran var enkel att arbeta med. Eftersom jag har tidigare programmerat i C, var det inga svårigheter att förstå NXC. Datateknik Kung. Tekniska Högskolan Sida 4 av 5

Det ända problem som uppstod under laborationen var min kreativitet som ville utveckla LEGOrobotens funktioner som skapade oenigt tyckande mellan mig och min medlaborant. Helhet var laborationen rolig och spännande. Referenser - Kommentarsblad för laborationsuppgift i II1310 - Dagboks inlägg på KTH Social, https://www.kth.se/social/post/pa-labbtillfallet-iintrokurse/, 2012-08-29 Bilagor Datateknik Kung. Tekniska Högskolan Sida 5 av 5