Programmering av LEGO NXT robot Laborationsrapport för programering av robot för att följa svartmarkerad linje på maken
|
|
- Marie Henriksson
- för 8 år sedan
- Visningar:
Transkript
1 KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av LEGO NXT robot Laborationsrapport för programering av robot för att följa svartmarkerad linje på maken Hannes Rabo Introduktionskurs i datateknik (II0310)
2 Sammanfattning Denna laborationsrapport är på en programmeringslaboration av en LEGO NXT robot där roboten programmerades för att följa en svart linje på golvet. Laborationen ger en kort introduktion till programmeringen av denna typ av robot samt olika koncept inom programmering i allmänhet. Koden skrevs i Brick Command Center vilket också hanterade kommunikationen mellan datorn och roboten. Resultatet blev en robot som kunde utföra tidigare nämnda uppgift utan problem trots vissa problem med upplägget av hur problemet skulle lösas. Detta gav dock en insikt i ingenjörsarbetet och hur små förändringar kan ge stora förändringar samt hur många sätt som kan finnas för att lösa ett problem. Båda dessa faktorer visade tydligt vikten av att förstå tankegången hos andra programmerare då en uppgift löses kollaborativt. Innehållsförteckning 1. Inledning Bakgrund Syfte och målsättning Genomförande Resultat Analys Diskussion... 6 Referenser... 7 Bilagor... 7 Institution Högskola eller universitet Sida 2 av 7
3 1. Inledning I denna laboration programmerar vi en LEGO NXT robot för att följa en svart linje på marken och känna av stötar mot hinder. Roboten använder sig av en ljussensor för att känna av det svartmarkerade området på marken och två trycksensorer för att känna av när roboten slår i ett hinder. Då ett hinder påträffas ska robotens motorer stängas av, namnen på medlemmar i gruppen skrivas ut på skärmen och högtalaren ska spela en kort melodi. 1.1 Bakgrund Programmering kan vara en stor del av en ingenjörs arbete och ett enkelt sätt att lösa problem med hjälp av en dator. Det är därför en viktig del av utbildningen på KTH och en nödvändig kunskap som ingenjör. Denna laboration visar på ett simpelt sätt proceduren med att skapa ett program kollaborativt och programmering i allmänhet men introducerar även denna specifika robots funktioner och hur de kan användas för att få en robot att utföra en specifik uppgift. I detta fall handlade det om att få roboten att följa en markerad svart linje på golvet med hjälp av en ljussensor. 1.2 Syfte och målsättning Syftet är att på ett roligt och relativt enkelt sätt introducera programmering i form av parprogrammering. Den introducerar även de tillvägagångsätt som används i ingenjörsrollen samt de arbetssätt och system som används vid KTH. Uppgiften visar även tydligt hur små förändringar och fel i koden kan ha mycket stora utslag på hur en robot fungerar om den ska utföra sina uppgifter som förväntat. Detta ger då en insikt i hur stor noggrannhet som krävs och den planering som behövs för att skriva ett pålitligt och fungerande program. 2. Genomförande Nedan följer det tillvägagångssätt som vi använde vid lösandet av uppgiften 1. Nedladdning av programvara, drivrutiner och kod. Första steget i denna laboration är att ladda ner drivrutiner, utvecklingsmiljö och kod för den roboten. Dessa hämtades från kth hemsidan bilda under kursmaterial. ( 2. Installation Efter att alla filer packats upp från det komprimerade formatet var drivrutinerna tvungna att installeras på datorn för att kunna kommunicera med roboten medan utvecklingsmiljön kunde startas direkt utan installation. Utvecklingsmiljön som användes var Brick Command Center. 3. Anslutning Roboten ansluts till datorn via en USB-sladd och efter detta kunde utvecklingsmiljön startas. Vid start skall kommunikationsporten USB väljas för att den ska hitta roboten som är ansluten till datorn enligt tidigare instruktion. 4. Inladdande av kod i utvecklingsmiljön. Efter att utvecklingsmiljön har startats kan den delvis färdiga koden laddas in i programmet antingen genom att den dras in i fönstret från ett annat filhanteringsprogram (ex. vis explorer.exe) eller genom att välja file --> open och sedan navigera till filen. Institution Högskola eller universitet Sida 3 av 7
4 5. Kodgranskning Fösta steget i redigeringen av koden för en funktionell robot var att noggrant läsa igenom all kod och leta efter uppenbara misstag eller stavfel samt logiska fel. Dessa kan då direkt korrigeras innan ytterligare steg i metoden genomförs. Den programmeringsmetod som användes vid all programmering i uppgiften var parprogrammering vilket innebär att en person sitter och skriver kod medan en andra person samtidigt övervakar och snabbt kan hitta eventuella stavfel samt felaktiga tankegångar. Eventuella problem som uppkommer kan även effektivt diskuteras inom gruppen. 6. Kompilering När koden har redigerats och uppenbara felstavningar plockats bort kan koden föst kompileras genom att klicka på f5 (eller välja Compile --> Compile). Eventuella fel i koden kommer nu att generera felmeddelanden om de inte redan har åtgärdats (ej logiska fel). 7. Korrigering av eventuella fel angivna i felmeddelandet Efter att man försökt kompilera programmet och det genererat felmeddelanden så kan radnumren uppsökas och efter felmeddelandet korrigeras. Eftersom fel på rader innan angivet radnummer inte alltid genererar ett fel på den rad de befinner sig på är det även viktigt att kolla på dessa rader ifall felet inte upptäcks direkt. Detta gäller speciellt fel med antalet parenteser eller utsättandet av semikolon som avslutar alla satser i programspråket som används (NXC). 8. Kompilering och överladdning av program till robot Steg sex och sju genomförs ända tills det inte längre generas några felmeddelanden och kompileringen blir lyckad. Programmet kan då överföras till roboten genom att klicka f6 (eller välja Compile --> Download). 9. Kontroll av beteende och allmän funktion Kör programmet genom att navigera till filen på roboten och använda den orangea mittenknappen för att starta den. Kontrollera att roboten fungerar och rör sig och notera även hur eftersom det kan användas i den vidare analysen av hur koden fungerar. 10. Förändring av kod till ett fungerade upplägg Förändra koden för att den ska fungera för den specifika uppgiften (se resultat för förändringar som gjordes i denna labb). Kompilera och överför koden till roboten. 11. Testkörning Placera roboten med ljussensorn på det svarta sträcket, navigera till filen och klicka på den orangea mittenknappen för att exekvera koden. Roboten bör följa linjen utan att sensorn hamnar utanför mer än mycket korta perioder åt gången. Roboten skall även kunna följa svängar på sträcket åt både höger och vänster. Institution Högskola eller universitet Sida 4 av 7
5 3. Resultat Denna tabell visar förändring av koden där Rad nr. anger radnummer som förändrats i originalkoden, andra kolumnen i tabellen anger den nya koden för den specificerade raden och kommentarsfältet ger en inblick i varför koden behövde ändras Rad Kod ersatt med: Kommentar nr. 2 #define SpeedSlow 50 Roboten kunde inte svänga tillräckligt snabbt med den högre hastigheten (80) 34 string groupmembers[] = { Fel datatyp (int) för att lagra namn då dessa lagras som textsträngar (string) 35 Hannes, Nummer ersatt av namn 1 36 Max Nummer ersatt av namn 2 45 TextOut( 0, (LCD_LINE1 8 * i), names[i]); Subtraktionen av 16 placerade texten två raden ovanför vad som var meningen. Detta togs därför bort. 76 lightintensity = SensorRaw(IN_3); Fel port. Porten för den ena trycksensorn hade angivits istället för den korrekta som hörde till ljussensorn. 94 OnFwd(OUT_A, SpeedFast); Roboten ska svänga till höger i detta fall (på linjen). Hjul A ska därför snurra snabbt. 98 OnFwd(OUT_B, SpeedSlow); Roboten ska svänga till höger i detta fall (på linjen). Hjul B ska därför snurra långsamt. 115 //dance(); Funktionen som utförde dansen var onödig då den inte utförde någon uppgift som var aktuell för denna labb utan endast försvårade framfarten. Efter dessa förändringar fungerade roboten enligt de specificerade kriterierna (se inledning för labbeskrivning). Uppgiften kunde då utföras utan onödiga rörelser och enligt ett mönster som var effektivt. 4. Analys Laborationsresultatet blev lyckat då roboten utan problem kunde utföra uppgiften med gott resultat. Koden hade följande funktioner och uppbyggnad: Definition av variabler och makron/konstanter Överst definierades alla variabler och konstanter som krävdes och användes senare i koden. Detta innefattade konstanter för hastigheter och radnummer på skärmen samt variabler för ljudsignalen, gruppmedlemmar, ljusintensitet samt en variabel för enkel avbrytning huvudloopen i programmet. void printnamestoscreen(string names[]) Denna funktion innehåller ett förenklat sätt att skriva ut namn/textsträngar till skärmen på rätt rader. Varje textsträng som skickas som parameter till funktionen i vektorn kommer att få en unik rad (såvida det inte finns fler textsträngar än rader) Institution Högskola eller universitet Sida 5 av 7
6 void dance() Denna funktion har inte någon aktiv uppgift i detta program och skulle helt kunna uteslutas. Den får roboten att rotera åt höger i tre sekunder. task readtouchsensors() Denna funktion körs i en separat tråd och kontrollerar ifall någon av trycksensorerna har aktiverats. Om så är fallet så avbryter den huvudloopen och avslutar programmet. void readlightsensor() Hämtar värdet från ljussensorn och sparar det i en variabel som alla funktioner kommer åt task followline() Funktion som kör i separat tråd som innehåller huvudloopen och både hittar samt följer sträcket. Ett högt värde från ljussensorn innebär att den befinner sig över sträcket och i detta fall kommer loopen att styra roboten åt höger. Är värdet där emot under konstanten BotThreshold så befinner den sig utanför sträcket och kommer styra åt vänster. Detta får följden att den alltid kommer försöka befinna sig på den högra kanten av strecket. Om variabeln bool finnished skulle ändras till true så kommer denna funktion och tillhörande tråd att avslutas. task main() Startfunktionen för programmet där sensorer ställs in och andra trådar för följning av linjen startas. 5. Diskussion Under laborationen var det från början svårt att inse på vilket sätt som roboten var tänkt att lösa uppgiften. Eftersom vår utgångspunkt var att roboten skulle följa det svarta strecket som om det vore ett det korrekta området och alltså inte behövde svänga så började vi med att försöka lösa uppgiften på fel sätt. Senare löste vi istället uppgiften genom att se på problemet som att roboten skulle följa kanten på strecket vilken överensstämde med upplägget på koden och därför gjorde lösningen mycket enkel att genomföra. Jag fick därför en insikt i ett alternativt sätt att tänka på problemet och på så sätt komma fram till en enklare lösning. Alternativa och lättare lösningar är viktiga att ha med sig i bakhuvudet som ingenjör då det alltid krävs effektivisering av system för att de ska kunna fungera enligt alla önskemål och krav. För att hitta funktionen som var tänkt i just det här programmet så hade vi som metod att skriva ut variabelvärden från koden till skärmen under exekveringen. Vi konverterade bland annat heltalsvärdet från ljussensorn till en textsträng och skrev ut den för att kunna analysera vilka värden som den funktionen genererade och när. För att göra upptäckandet av nya fel samt ge tillfälle till diskussion användes även metoden parprogrammering vilken innebar att programmeringen gjordes två och två. En person kunde i detta fall sitta och läsa koden som den andra skrev för att sedan kommentera på eventuella fel. Detta gjorde att felsökning kunde bli mycket effektivare då fel oftast omedelbart upptäcktes av den andra personen. Det programspråk som användes vid laborationen (NXC) har stora likheter med C även om det finns vissa skillnader. Det gör att det även ger en introduktion till språket C vilket har många andra användningsområden i industrin och större applikationer och program. Detta gjorde det fungerade som ett bra alternativ till just C för nybörjare eftersom det även innehöll förenklingar av vissa koncept som separata trådar. Institution Högskola eller universitet Sida 6 av 7
7 Referenser Lab-PM Bilagor Figur 1 Dagboksinlägg om robotlaborationen Institution Högskola eller universitet Sida 7 av 7
Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot
KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot Josef Karlsson Malik 2015-09- 02 jkmalik@kth.se Introduktionskurs i datateknik (II0310) Sammanfattning
Läs merLaboration - Programmering av LEGO Mindstorm robot
Laboration - Programmering av LEGO Mindstorm robot Ayumi Sjöbergh Miyake 1 september 2012 miyake@kth.se II1310 Introduktionskurs i datateknik 1 Sammanfattning Laborationen gick ut på att hitta och rätta
Läs merLabbrapport - LEGO NXT Robot
KUNGLIGA TEKNISKA HÖGSKOLAN Labbrapport - LEGO NXT Robot Programmering och felsökning Stefan Sarkis 2014-09-02 ssarkis@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Denna rapport handlar
Läs merProgrammera Lego Mindstormsrobotar
KUNGLIGA TEKNISKA HÖGSKOLAN Programmera Lego Mindstormsrobotar En introduktion till programmering Oskar Rosén 28/08-12 oros@kth.se Introduktion i datateknik (II1310) Sammanfattning Denna laboration gav
Läs merLEGO Mindstorm-robot
KUNGLIGA TEKNISKA HÖGSKOLAN LEGO Mindstorm-robot Programmering av LEGO Mindstorm-robot i språket NXC Kim Hammar 2/6-2013 Kimham@kth.se Introduktionskurs i Datateknik 1311 Sammanfattning En viktig del av
Läs merIntroduktion i programmering med språket NXC
KUNGL. TEKNISKA HÖGSKOLAN Introduktion i programmering med språket NXC Oliver Bogren Medlaborant: Gabriel Tigerström 2013-09-06 obogren@kth.se II1310 Introduktionskurs i datateknik Sammanfattning Laborationen
Läs merLaboration i datateknik
KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med
Läs merProgrammering av LEGO NXT Robot
KTH KISTA Programmering av LEGO NXT Robot Labborations uppgift : Linefollower Christoffer Killander 2012-08-30 ckil@kth.se Datateknik II1310 Sammanfattning Skriv en kort sammanfattning av rapporten här.
Läs merLaborationsrapport av robotprogrammering
KUNGLIGA TEKNISKA HÖGSKOLAN Laborationsrapport av robotprogrammering Programmering av LEGO MINDSTORMS robot Rikard Bjärlind 2012-09-07 E-post: bjarlind@kth.se Introduktionskurs i datateknik (H12) II1310
Läs merLaboration i datateknik
KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Programmering av LEGO-robot Rickard Eriksson 2012-09-06 rieri@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna rapport är till följd
Läs merLego Mindstormprogrammering
KUNGLIGA TEKNISKA HÖGSKOLAN Lego Mindstormprogrammering med NXC Björn Ehrby 2013-08-26 behrby@kth.se II1310 - Introduktionskurs i datateknik Sammanfattning Lego har en serie programmerbara robotar som
Läs merKUNGLIGA TEKNISKA HÖGSKOLAN. Laboration II1310. Programmera Lego Mindstorm robot i NXC
KUNGLIGA TEKNISKA HÖGSKOLAN Laboration II1310 Programmera Lego Mindstorm robot i NXC Johnny Vu 120904 Jvu@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Vi har genomfört en laboration för
Läs merKUNGLIGA TEKNISKA HÖGSKOLAN KISTA. Lego Linefollower. Få en robot att följa linjen på golvet!
KUNGLIGA TEKNISKA HÖGSKOLAN KISTA Lego Linefollower Få en robot att följa linjen på golvet! Felix Ringberg 2012-08-09 felixri@kth.se Introduktionskurs i datateknik II1310 Sammanfattning I den här laborationen
Läs merProgrammering av LEGO NXT Robot
KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av LEGO NXT Robot Med hjälp av NXC Patrick Granberg 2012-09-01 patgra@kth.se Introduktionskurs i Datateknik och II1310 Sammanfattning I rapporten behandlas hela
Läs merNXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot
KUNGLIGA TEKNISKA HÖGSKOLAN NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot Gabriel Vilén 30/8-2012 gvilen@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Vi har programmerat
Läs merKUNG. TEKNISKA HÖGSKOLAN. Laboration. Programmering av LEGO-robot
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
Läs merKUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310
KUNGLIGA TEKNISKA HÖGSKOLAN Linefollower Med LEGO Mindstorms och NXC Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310 Sammanfattning Rapporten är för labbmomentet som utförs i introduktionskursen
Läs merRobotar i NXc. En laboration med Mindstormrobotar. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN
KUNGLIGA TEKNISKA HÖGSKOLAN Robotar i NXc En laboration med Mindstormrobotar Anton Gyllenhammar 7/30/12 antongy@kth.se II1310 Introduktionskurs i datateknik Sammanfattning Denna rapport beskriver NXc-
Läs merFelsökning av mjukvara
KUNGLIGA TEKNISKA HÖGSKOLAN Felsökning av mjukvara Programmering av en NXT-robot Max Kufa [03/08-13] mkufa@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med laborationen var att
Läs merLEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?
ICT LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? Daniel Lindfors 12/9/07 dlindf@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna laboration
Läs merLabbrapport. Introduktionskurs i datateknik (II1310) Stefan Dalarsson,
Labbrapport Introduktionskurs i datateknik (II1310) Stefan Dalarsson, 940728 6278 2012 08 30 sdal@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning I denna rapport redovisas resultaten av laborationen
Läs merPROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN
KUNGLIGA TEKNISKA HÖGSKOLAN PROGRAMMERING I NXC Namn: Michel Bitar 2012-08- 25 E- post: mbitar@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Intressant och lärorik laboration om att programmera
Läs mer[Introduktion till programmering ]
KUNGLIGA TEKNISKA HÖGSKOLAN [Introduktion till programmering ] [Laboration med NXC] Tobias Johansson 05/09/13 tobiaj@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Vad som gör en ingenjör
Läs merLabrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC
KTH ICT Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC Jonathan Kindfält 23/08-2012 E-post (kindfalt@kth.se) Introduktionskurs i datateknik II1310 Sammanfattning Denna rapport behandlar
Läs mer[Introduktionskurs i Datateknik]
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
Läs merRobotprogrammering felsökning & analys.
KUNGLIGA TEKNISKA HÖGSKOLAN Robotprogrammering felsökning & analys. Användning utav BricX Command Center Haval Amir Rabiee 2013-09-03 E-post havalsr@kth.se Introduktionskurs i datateknik II1310 Sammanfattning
Läs merPROGRAMMERING AV LEGO-ROBOT VIA NXC
KTH KISTA PROGRAMMERING AV LEGO-ROBOT VIA NXC FELSÖKNING AV KOD I BricxCC Fredrik Radholm 28082014 Radholm@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Jag och några andra skulle uträtta
Läs merProgrammering av en Lego robot
KUNGLIGA TEKNISKA HÖSKOLAN Programmering av en Lego robot - En laboration i kodning i språket NXC Felix Thim 2012-09-06 fthim@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna rapport handlar
Läs merSimon Johansson Introduktionskurs Datateknik 1310
KTH KISTA Robot på linje Programmering i NXC Simon Johansson 2013-09-05 simoj@kth.se Introduktionskurs Datateknik 1310 Sammanfattning Laborationens syfte är att tillge mig fördjupande kunskaper om hur
Läs merProgrammering med NXC Lego Mindstorm
KUNGLIGA TEKNISKA HÖGSKOLAN Programmering med NXC Lego Mindstorm INTRODUKTIONSKURS I DATATEKNIK (II1310), LABB Klawi@Kth.se Kasper Wikman 2013-08-27 Sammanfattning: Många har sedan lång tid tillbaka varit
Läs merPeter Ottosson 31/8-2012 petott@kth.se Introduktionskurs i datateknik II1310
KUNGLIGA TEKNISKA HÖGSKOLAN Robotlabb En introduktion till Datateknik 31/8-2012 petott@kth.se Introduktionskurs i datateknik II1310 1 Innehållsförteckning 1. Inledning... 3 1.1 Bakgrund... 3 1.2 Syfte
Läs merFelsökande av en Lego Mindstorm robot
KTH Felsökande av en Lego Mindstorm robot Med hjälp av NXC Hampus Liljedahl 3/9-12 hliljed@kth.se Introduction to Computer Studies II1310 Sammanfattning Jag har gjort en labb där jag felsökte en färdigskriven
Läs merKevin Lane Kungliga Tekniska Högskolan Introduktionskurs i Datateknik (II1310) TIEDB0. [NXT Legorobot] [Programmering och felsökning]
[NXT Legorobot] [Programmering och felsökning] Kevin Lane 28/8-12 klane@kth.se Introduktionskurs i datateknik II1310 1 Sammanfattning I denna laboration så fick vi programmera och felsöka en LEGO-robot.
Läs merSimon Boström Introduktionskurs i Datateknik
KTH KISTA Linefollower Med parprogrammering i NXC Simon Boström 2014-09-04 simbos@kth.se Introduktionskurs i Datateknik Sammanfattning Laborationstillfället var till för att man som ny på KTH skulle lära
Läs merIntroduktion till programmering med hjälp av Lego Mindstorm
Kungliga Tekniska Högskolan Introduktion till programmering med hjälp av Lego Mindstorm Laborationsrapport gällande programmering inom NXC Simon Jansson 31 08 2014 simonjan@kth.se Introduktionskurs i datateknik
Läs merProgrammera en NXT Robot
KUNGLIGA TEKNISKA HÖGSKOLAN Programmera en NXT Robot Med hjälp utav NXC Peyman Torabi 2012-09-03 E-post: peymant@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Uppgiften var att analysera
Läs merLEGO NXT Robotprogrammering
KUNGLIGA TEKNISKA HÖGSKOLAN LEGO NXT Robotprogrammering Laboration med parprogrammering Filip Forsby 2012-08-27 forsby@kth.se II1310 Introduktionskurs i datateknik Sammanfattning Denna rapport beskriver
Läs merProgrammeringslaboration med LEGOrobot
KUNGLIGA TEKNISKA HÖGSKOLAN Programmeringslaboration med LEGOrobot Programmeringsspråk: NXC Ulrica Flemström 2013-10-04 ulricaf@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Laborationen
Läs merPraktisk programmering
KUNGLIGA TEKNISKA HÖGSKOLAN Praktisk programmering Daniel Workinn [2012-09-07] workinn@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Rapporten sammanfattas enklast med ett par substantiv.
Läs merProgrammera LEGO NXT
KUNGLIGA TEKNISKA HÖGSKOLAN Programmera LEGO NXT Felsökning av NXC för LEGO NXT Sam Nydahl [07092012] snydahl@kth.se Introduktionskurs i Datateknik II1303 Sammanfattning Vi hade till uppgift att felsöka
Läs merLabbrapport LEGO-robot linefollower
KTH KISTA Labbrapport LEGO-robot linefollower Martin Thorén 2012-09-07 mathoren@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med denna laboration var att felsöka och reparera en
Läs merOm NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT?
Om NXTprogrammering RCX-modul (Robotic Commander explorer) Styrenhet som innehåller liten dator Vad innehåller lådan? Liten dator, sensorer, motorer, hjul Massor av legobitar RCX-modulen Skärm Gå vänster
Läs merINNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 ATT ANVÄNDA MOTORERNA... 9 LOOP (UPPREPANDE) FUNKTIONEN... 10 SKAPA EN EGEN KLOSS...
GRUNDKURS INNEHÅLLSFÖRTECKNING INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 SKÄRMUPPBYGGNAD... 4 ROBOT EDUCATOR... 5 PROGRAMMERINGSRUTAN... 5 KNAPPARNA OCH KLOSSARNA... 6 UPPGIFTER... 8 ATT ANVÄNDA
Läs merLaborationer i SME094 Informationsteknologi I för
Laborationer i SME094 Informationsteknologi I för basår Programmering av LEGO Mindstorms med ROBOLAB Johan Carlson Luleå tekniska universitet Inst. för Systemteknik EISLAB Email: johanc@ltu.se 25 mars
Läs merLaboration 1. "kompilera"-ikonen "exekvera"-ikonen
Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva
Läs merLego Robot [ ] [ ] [ ]
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
Läs merEV3 Roboten. Sida 1 av 13
EV3 Roboten Fyra output portar A,B,C och D(motorer) Fyra input portar 1,2,3 och 4 (sensorer) USB, Bluetooth, eller Wi-Fi koppling 16 MB flash minne 64 MB RAM SD Card Port: 32 GB Flera inbyggda verktyg
Läs merLär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se
Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går
Läs merLaboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Läs merRoboten. Sida 1 av 11
EV3 ipad Roboten Fyra output portar A,B,C och D(motorer) Fyra input portar 1,2,3 och 4 (sensorer) USB, Bluetooth, eller Wi-Fi koppling 16 MB flash minne 64 MB RAM SD Card Port: 32 GB Flera inbyggda verktyg
Läs merAnvändarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Läs merStrukturerad problemlösning. Metoder och verktyg för datavetare Ht09
Strukturerad problemlösning Metoder och verktyg för datavetare Ht09 Syfte Syftet med uppgiften är att få kännedom om ett strukturerat arbetssätt för hur ett problem kan angripas i de olika steg som svarar
Läs merLegorobot. Lär dig programmera en legorobot. Teknikåttan 2009. Ola Ringdahl Lena Kallin Westin
Legorobot Lär dig programmera en legorobot. Teknikåttan 2009 Ola Ringdahl Lena Kallin Westin Legorobot Sid 2 (6) Legorobot Sid 3 (6) LEGOROBOT Syfte Syftet med denna praktiska uppgift är att man ska få
Läs merLaboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Läs merObjektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6
Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner
Läs merProgrammeringspalett. Pr o gr a mvar a
Pr o gr a mvar a en innehåller alla programmeringsikoner du behöver för att göra dina program. Varje programmeringsikon innehåller instruktioner som din NXT-enhet kan tolka. Du kan kombinera ikonerna för
Läs merObjektorienterad programmering i Java I
Laboration 0 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: ca 2 3 timmar Att läsa: sidan 45 52 Syfte: Att ladda hem och installera utvecklingsmiljön Att skriva ditt första Javaprogram
Läs merKonstruera, styra, reglera och programmera en röd tråd F-9
Konstruera, styra, reglera och programmera en röd tråd F-9 Icke vinstdrivande grundskola F-9, grundad 1914. LGR-11 rev 2017 Centralt innehåll Årskurs 1-3 Teknik Arbetssätt för utveckling av tekniska lösningar
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merSirius II Installation och Bruksanvisning
Sirius II Installation och Bruksanvisning Innehåll 1. Introduktion... 2. Installation av Sirius II programvara... 3. Anslutning Data Linker interface.... 4. Sirius II funktioner.... 5. Bruksanvisning....
Läs merInstruktion för laboration 1
STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik ANL/TB SANNOLIKHETSTEORI I, HT07. Instruktion för laboration 1 De skrifliga laborationsrapporterna skall vara skrivna så att
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merLabb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic
Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt
Läs merLaboration 1. "kompilera"-ikonen "exekvera"-ikonen
Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merIntroduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Läs merÖvning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program
Datateknik A, Syfte: Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Att läsa: Lektion 1 Antal uppgifter: 3 Inlämning: Sker via inlämningsuppgifter
Läs merAlla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php
Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är
Läs merObjektorienterad programmering Föreläsning 2
Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs mer3 augusti (G) Programmering: Lego
3 augusti (G) Programmering: Lego Idag ska vi gå igenom vad en robot är, hur programmeringsmiljön ser ut och skriva våra första program. Vi kommer gå igenom flera gröna programmeringsblock, samt det orangea
Läs merLabora&on 2 Funk&oner, if och loop övningar/uppgi:er
Labora&on 2 Funk&oner, if och loop övningar/uppgi:er 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns
Läs merLaboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Läs merDigitalt lärande och programmering i klassrummet
Stockholm 2018-02-14 14 februari 2018 Digitalt lärande och programmering i klassrummet Programmera i Python med micro:bit Introduktion I förra lektionen gick vi igenom grunderna i hur man programmerar
Läs merInstruktion för laboration 1
STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik MD, ANL, TB (rev. JM, OE) SANNOLIKHETSTEORI I Instruktion för laboration 1 De skriftliga laborationsrapporterna skall vara
Läs merLab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips
Lab1 Introduktion Förberedelse för planetlabben genom att kapsla in (skapa wrappers) systemanrop. 1 Syfte Få en känsla av hur Win32API fungerar, dvs programmerarens interface gentemot Windows. Känsla för
Läs merSå här skriver du ditt första program i C++
Så här skriver du ditt första program i C++ Introduktion till att skapa Solution, Project och källkodsfil i Visual Studio 2013 Författare Anne Norling Kurs: Strukturerad programmering med C++ Kurskod:1DV433
Läs merNetBeans 5.5. Avsikt. Projektfönster
NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merNetBeans 7. Avsikt. Projektfönster
NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merInledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio
Ditt första C#-program med Visual Studio Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merMalmö högskola 2007/2008 Teknik och samhälle
Laboration 12 Avsikten med denna laboration är att du ska göra några grafiska program. Börja med att skapa paketet laboration 12. Grundläggande uppgift Uppgift 12a Uppgiften går ut på att göra en enkel
Läs merProgrammera i teknik - kreativa projekt med Arduino
NYHET! Utkommer i augusti 2017 Smakprov ur boken Programmera i teknik - kreativa projekt med Arduino av Martin Blom Skavnes och Staffan Melin PROJEKT LJUS s 1 I det här projektet kommer du att bygga en
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merEditering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
Läs merDatorteknik 2 (AVR 2)
Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra
Läs merOBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator.
Navirad User Tool 3,7 Manual för GPS 1 Easy, GPS 2, GPS 4 samt Navirad Elite. Du kan ladda ner programmet från följande websida: Leta upp fliken Download och följ instruktionerna. http://www.tmobilteknik.com
Läs merSphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild.
Sphero SPRK+ Appen som används är Sphero Edu När appen öppnas kommer man till denna bild. Klicka på 3D-modeller för att se delarna på Sphero Klicka här för att ansluta Sphero till ipad Programmet för att
Läs merAntares Användning och installation
Antares Användning och installation Sidan 1 av 13 Innehåll 1. Introduktion...... 2. Antares programvara installation...... 3. Antares programvara uppdatering...... 4. Data Linker anslutning... 5. Funktioner...
Läs merPROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN
PROJEKT LJUD PROJEKT LJUD s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och skriva ett program som får högtalaren att spela toner och melodier. Materiel Arduino dator kopplingsdäck
Läs merDen intelligenta dammsugaren
Institutionen för Datavetenskap presenterar: Den intelligenta dammsugaren En laboration i fyra delar Laborationen utvecklad av KogVet- studenter Reviderad 2007: Jenny Dalenius 1 Hej och välkommen! Bilden
Läs merVilken skillnad gör det var du placerar det? Prova båda.
Micro:bit- Namnskylt Vi börjar med att döpa programmet till något. Till exempel ditt namn. Det gör du längst ner i mitten. Nu ska vi göra ett enkelt program som med lysdioderna skriver ditt namn. När du
Läs merFöreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merObjektorienterad programmering i Java
bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merINSTALLATIONS MANUAL
INSTALLATIONS MANUAL www.caddirekt.se 2013-03-01 1 Innehåll CADdirekt VVS Installation... 3 CADdirekt VVS Registrering... 5 CADdirekt VVS Reparera installation... 7 CADdirekt VVS Flytta licens... 7 CADdirekt
Läs merMedieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor
http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript
Läs merDigitalt lärande och programmering i klassrummet
2016-03-03 Digitalt lärande och programmering i klassrummet Blue-Bot Introduktion Vi kommer i denna övning att bekanta oss med små charmiga robotar som heter Blue-Bots. Dessa robotar är bra för att introducera
Läs mer