[Introduktionskurs i Datateknik]

Relevanta dokument
Labbrapport. Introduktionskurs i datateknik (II1310) Stefan Dalarsson,

Laboration - Programmering av LEGO Mindstorm robot

LEGO Mindstorm-robot

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

Programmera Lego Mindstormsrobotar

Introduktion i programmering med språket NXC

Programmering av LEGO NXT Robot

Programmering av LEGO NXT Robot

PROGRAMMERING AV LEGO-ROBOT VIA NXC

Labbrapport - LEGO NXT Robot

Simon Johansson Introduktionskurs Datateknik 1310

Programmera en NXT Robot

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

Peter Ottosson 31/ Introduktionskurs i datateknik II1310

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

Laboration i datateknik

Lego Mindstormprogrammering

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

Laboration i datateknik

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

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

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

Programmering av en Lego robot

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

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

Felsökande av en Lego Mindstorm robot

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

[Introduktion till programmering ]

Robotprogrammering felsökning & analys.

Felsökning av mjukvara

Laborationsrapport av robotprogrammering

Simon Boström Introduktionskurs i Datateknik

Praktisk programmering

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

Programmering med NXC Lego Mindstorm

Programmeringslaboration med LEGOrobot

LEGO NXT Robotprogrammering

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Labbrapport LEGO-robot linefollower

Programmera LEGO NXT

Introduktion till programmering med hjälp av Lego Mindstorm

Digitalt lärande och programmering i klassrummet

Kommentarer och tips från robotanvändare. LEGO WeDo 2.0. Sphero

Har du läst kursen på Campus eller distans Campus 8 53% Distans 7 47%

EV3 Roboten. Sida 1 av 13

Roboten. Sida 1 av 11

Programmeringsappar. Av Alex

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

Laborationer i SME094 Informationsteknologi I för

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

H15-1DV433-7,5. Vilket sammanfattande omdöme ger du kursen? Antal respondenter: 22. Antal svar. Svarsfrekvens: 59,09 %

Edison roboten som går at bygga ihop med LEGO

Slutrapport. Super Mario klon. Tomas Wallin tw222bv WP

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

Studiebesök på Naturhistoriska riksmuseet

HF LEQ. Antal svar: 23

Elevernas uppfattningar om alltmer digitaliserad undervisning

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

Bilen som inte kan krocka

[SLUTRAPPORT: DRAWPIXLZ (ANDROID-APP)] Slutrapport. Författare: Zlatko Ladan. Program: Utvecklare av Digitala Tjänster 180P

Programmering från början

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

DD

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Utvärdering deltagare 2013 v deltagare

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.

Arduinokurs. Kurstillfälle 4

Användarhandledning Version 1.2

Matematik, naturvetenskap och teknik i förskolan

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

FIRST LEGO League Jr.: Tips om pass, varje vecka

Hur tycker du kursen har varit? Tycker du att kursens upplägg har underlättat för dig att uppnå lärandemålen?

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

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

Sammanfattning av kursutvärdering Design av informationssystem, moment 1, Programmeringens grunder, 7,5 hp, ht 2016

Smart Rogic Manual. Robostick Manual

ENKEL Programmering 3

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

Dagens robot. Copyright Sagitta Pedagog AB

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

Introduktion till Programmering. Dåtid, nutid och framtid

Objektorienterad Programmering (TDDC77)

Forskningsrapport Söråker s Robotics. Tsunami

LEGOFOXES 2008 DAGBOK. Sanna Josefsson, Evelina Haraldsson, Ellinor Persson, Erika Åmansson, Emelie Sundqvist Kroon, Maja Oskarsson

e-sense move dali Manual

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Objektorienterad programmering Föreläsning 2

Framställning av berättande och informativa bilder, till exempel serier och illustrationer till text. (BL åk 4 6)

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

Introduktion till programmering, hösten 2011

Utvärdering att skriva för webben - Snabbrapport

Mer för fler Hur ökar vi den digital delaktigheten?

RESULTAT - MÅLUPPFYLLELSE

============================================================================

Kursvärdering 1DV433 Strukturerad programmering med C++ LP Lärare: Tommy Löfqvist 17 svar

Musik Grundkurs. Hej!

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

Transkript:

KTH [Introduktionskurs i Datateknik] [Laboration] Armin Arya [6-09/12] E-post (aarya@kth.se) Högskoleingejör i datateknik och kurskod Sammanfattning: Labben gick ut på att man skulle programmera en del koder och sedan stoppa in de i roboten och sedan få roboten att åka på den svarta linjen. Jag och min grupp medlem har inga starka kunskaper inom programmering men kan ändå en del, så det var ändå en utmaning för oss. Efter att vi förstått uppgiften satt vi igång o försökte förstå vad de olika koderna handla om och vad de hade som uppgift. Sedan jobbade vi med att hitta felen i koden och försökte rätta till det. Vi pröva ett par gånger med att få roboten att gå från start till mållinjen och efter några försök lyckades vi till slut, vilket var en härlig känsla. Vi jobbade bra tillsammans vi delade på arbetet och ibland turades vi om.

Innehållsförteckning 1. Inledning... 1.1 Bakgrund... 1.2 Syfte och målsättning... 2. Genomförande... 3. Resultat... 4. Analys... 5. Diskussion... Referenser... Bilagor... Institution KTH Sida 2 av 5

1. Inledning Denna laboration handla om att programmera koder i ett program som heter bricx där vi överförde kodarna till en robot. Vår uppgift var att med hjälp av en sensor som var monterad på roboten, få denna robot att åka på ett svart sträck från start linjen till mål linjen. Man fick ändra och hitta felen i koden för att få den att åka hela vägen i mål. 1.1 Bakgrund Jag tycker det var en viktig samt nyttig laboration för oss som ska plugga inom programmering, även för de som pluggar i andra linjer eftersom i grunden är allt IT. Det var roligt att få kunna lära sig att koda och pyssla med robotar att ha en sådan kunskap är viktigt inom arbetsmarknaden. Det är viktigt även att kunna följa kriterierna samt jobba ihop som grupp och hjälpa varandra. Att även testa sin egen förmåga och kunskap. 1.2 Syfte och målsättning Syftet med laborationen är ju att vi ska öka våra kunskaper inom programmering och kunna testa själva våra kunskaper att använda robotar och överföra de rätta koden till roboten för att den ska kunna arbeta som tillsagd. Syftet med rapporten är att vi ska kunna analysera reflektera och kunna titta bakåt det vi har gått igenom, vad vi lärt oss fick vi något resultat utav vår laboration var det problem i gruppen eller funkade allt bra o.s.v. Jag antar även att vi kommer få göra ett antal rapporter därför är det bara positivt att vi får träna på sådan labb. Jag är inte expert på programmering men är engagerad för att lära mig mer inom området därför var det en spännande och lärorik labb. 2. Genomförande Genomförandet av laborationen gick till att efter att vi förstått uppgiften, blev vi tillsagda att ladda ner ett program som heter bricx. Efter nedladdningen var klar försökte vi granska och kolla koderna vad de olika koderna betydde och vad de hade som uppgift. Sedan letade vi efter felen och rätta till dem. Själva programmeringen gick bra eftersom vi hade förstått vad koderna betydde. Vi testa roboten ett få antal gånger på den svarta linjen som till slut gick hela vägen. Vi tog det steg för steg och vi lyckades med genomförandet 3. Resultat Vi hitta ett antal fel i kodningen som finns här nedan: Rad nr Gamla kod Nya kod Kommentar 2 och 3 #define SpeedSlow 80 #define SpeedFast 100 34 och 35 string groupmembers[] = "person1" #define SpeedSlow 30 #define SpeedFast 50 string groupmembers[] = "Alfred","Armin"" Vi fick ha en lägre hastighet för att den hoppade av banan annars. Vi skrev in ett komma tecken för att definiera båda namnen. 41 och 43 TextOut(0, LCD_LINE1, "Gruppmedlemmar:") extout(0, LCD_LINE1, "groupmembers"); I koden definerar den inte for(i = 0; i < ArrayLen(names); for(i = 0; i < ArrayLen(groupMembers); 45 lightintensity = lightintensity = Light intensity Institution KTH Sida 3 av 5

SensorRaw(IN_1); SensorRaw(IN_3) koden skrev att den var kopplat i 1an men den var kopplat i 3an därför fick vi ändra på det. 68 lightintensity = SensorRaw(IN_1); 82 och 86 if(lightintensity < TopThreshold) } else 88 och 92 if(lightintensity > BotThreshold) } else 97 och 114 void dance() 87); 20); Wait(SEC_3); } //Main-aktiviteten (körs alltid först!) task main() Precedes(readTouchSensors, followline); SetSensorType(IN_1, SetSensorMode(IN_1, SetSensorType(IN_3, IN_TYPE_LIGHT_ACTIVE); SetSensorMode(IN_3, IN_MODE_RAW); SetSensorType(IN_4, lightintensity = SensorRaw(IN_3); if(lightintensity < TopThreshold) } else if(lightintensity > BotThreshold) } else task main() Precedes(readTouchSensors, followline); SetSensorType(IN_1, SetSensorMode(IN_1, SetSensorType(IN_3, IN_TYPE_LIGHT_ACTIVE); SetSensorMode(IN_3, IN_MODE_RAW); SetSensorType(IN_4, SetSensorMode(IN_4, OnFwd(OUT_AB, } Raderat Koden stod att den var kopplat i 1an fast den var kopplat i 3an. Vi måste ha jämn hastighet på sensorn och ljuset. Samma gäller här. Void dance hade som uppgift att få roboten att snurra runt (dansa) vilket var inte effektivt. Institution KTH Sida 4 av 5

SetSensorMode(IN_4, dance(); 4. Analys Varför det gick så bra i vår grupp är att vi jobbade bra och effektivt tillsammans, vi hade en strategi vi använde oss av en enkel metod, vilket var att vi gjorde laborationen steg för steg samtidigt som vi förstod vad vi gjorde blev det mer roligare för vi var hela tiden närmre målet. I kodningen fanns det koder där det stod void dance som hade som uppgift att roboten fortsatte att snurra runt (dansa) så det fick vi ändra på, vi satte även en lägre hastighet än vad det stod vilket fungerade bättre. Vi ändrade lightsensitivity till en lägre hastighet iaffall till en hastighet där både sensorn och ljuset hängde med och kunnde följa den svarta linjen. 5. Diskussion Syftet med laborationen var ju att lära sig att programmera i bricx och sådan överföra det till roboten, men svårigheten med uppgiften var att hitta de olika felen i kodningen som gjorde att roboten gick av den svarta linjen. Jag lärde mig att använda bricx och kunna koda iallafall lite grann. Eftersom jag aldrig har använt bricx förut så var det lite svårt i början men sen kom man igång och lärde sig rätt snabbt det var ett enkelt program att arbeta med. Att kunna programmera är alltid ett plus inom IT arbetsmarknaden, att kunna programmera är bara positivt och en stor fördel när man ska söka jobb.. Referenser Använde Labb mallen som finns på bilda under Introduktion datateknik och sedan kursmaterial: Mall rapport.doc Institution KTH Sida 5 av 5