Praktisk programmering



Relevanta dokument
Programmera en NXT Robot

Programmera LEGO NXT

LEGO Mindstorm-robot

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

Laboration - Programmering av LEGO Mindstorm robot

Felsökning av mjukvara

Lego Mindstormprogrammering

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

Programmering av LEGO NXT Robot

Programmera Lego Mindstormsrobotar

LEGO NXT Robotprogrammering

Peter Ottosson 31/ Introduktionskurs i datateknik II1310

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

Labbrapport - LEGO NXT Robot

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

Laboration i datateknik

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

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

Laborationsrapport av robotprogrammering

Programmering av LEGO NXT Robot

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

Simon Johansson Introduktionskurs Datateknik 1310

Laboration i datateknik

Gruppenkät. Lycka till! Kommun: Stadsdel: (Gäller endast Göteborg)

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

Introduktion i programmering med språket NXC

Hävarmen. Peter Kock

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

[Introduktion till programmering ]

Robotprogrammering felsökning & analys.

Vi skall skriva uppsats

Individuellt Mjukvaruutvecklingsprojekt

Boken om Teknik. Boken om Teknik är en grundbok i Teknik för åk 4 6.

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

Simon Boström Introduktionskurs i Datateknik

Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar:

PROGRAMMERING AV LEGO-ROBOT VIA NXC

Lathund till Annonsportalen

Programmering av en Lego robot

Labbrapport. Introduktionskurs i datateknik (II1310) Stefan Dalarsson,

Handledning för digitala verktyg Talsyntes och rättstavningsprogram. Vital, StavaRex och SpellRight

Introduktion till Open 2012

[Introduktionskurs i Datateknik]

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Sammanfattning på lättläst svenska

VÄRDERINGSÖVNINGAR. Vad är Svenskt?

Tränarguide del 1. Mattelek.

Sammanfatta era aktiviteter och effekten av dem i rutorna under punkt 1 på arbetsbladet.

Invisible Friend Senast uppdaterad

Instruktioner för beställning och kontoadministration för abonnenter av inlästa läromedel

Labbrapport LEGO-robot linefollower

Avsikt På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta mönster som uppkommer.

FIRST LEGO League. Göteborg 2012

Utveckla arbetsmiljö och verksamhet genom samverkan

Får nyanlända samma chans i den svenska skolan?

Uppgraderingsinstruktion för DMTECH tablets METOD 1. (update.img metoden)

Syftet med en personlig handlingsplan

Visualisering av golfboende

Har vi lösningen för en bättre hemtjänst? Självklart.

Mätningar på op-förstärkare. Del 3, växelspänningsförstärkning med balanserad ingång.

Det flippade klassrummet hur uppfattas det av eleverna?

UPPGIFT: SKRIV EN DEBATTARTIKEL

En bok om mig Veronica Larsen

Kvalitetsrapport Så här går det

Förskolan Vårskogen, Svaleboskogen 7. Plan mot diskriminering och kränkande behandling

Kampanj kommer från det franska ordet campagne och innebär att man under en tidsbegränsad period bedriver en viss verksamhet.

7. SAMHÄLLSORIENTERING ÅK 5

Lathund för överföring av rapporter och ljudfiler

Koncept Katalog 2009

ELEV- HANDLEDNING (Ansökan via webben)

Morgonsamling till lågstadier

Menys webbaserade kurser manual för kursdeltagare. Utbildningsplattform: Fronter

Du ska nu skapa ett litet program som skriver ut Hello World.

Bokjuryn på Haganässkolan, Älmhult

Arbetsbeskrivning, att förbereda för studenternas registrering kommande termin. 1. Studenter antagna på fristående kurs 2

Uppdragsbeskrivning. Digital Skyltning. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

Administration Excelimport

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

GRUNDERNA I SJÄLVLEDARSKAP

Felsökande av en Lego Mindstorm robot

Q1 Hur många undervisningstillfällen har du haft under september månad?

Webb-bidrag. Sök bidrag på webben Gäller från

Utvärdering APL frågor till praktikant HT15

Lösningar s. 8 Perspek9v s. 7

Lathund, procent med bråk, åk 8

Vad är WordPress? Medlemmar

Bygg ditt eget dataspel på sommarlovet!

Examensarbete är det en kurs? Inst. för Samhällsbyggnad 2009

Jämförelse länder - Seminarium

Hur du laddar ner och installerar elevlicens

Systematiskt kvalitetsarbete

För dig som är valutaväxlare. Så här följer du reglerna om penningtvätt i din dagliga verksamhet INFORMATION FRÅN FINANSINSPEKTIONEN

Mer än bara fotboll VAD HANDLAR BOKEN OM? LGR 11 CENTRALT INNEHÅLL SOM TRÄNAS ELEVERNA TRÄNAR FÖLJANDE FÖRMÅGOR LGRS 11 CENTRALT INNEHÅLL SOM TRÄNAS

P-02/03 säsongen 2016

FAQ Barnkonsekvensanalys i Svenska kyrkan

Föräldrar i Skola24. Schema

När jag har arbetat klart med det här området ska jag:

4-3 Vinklar Namn: Inledning. Vad är en vinkel?

Förslag till beslut Vård- och omsorgsnämnden bifaller förslaget.

Transkript:

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. Lego-robotar, par-programmering, NXC, laser. Vad mer behöver sägas?

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

1. Inledning Roboten har ett uppdrag. Den ska följa linjen. Men något har gått fel. Den följer inte linjen. Nu är det vårt jobb som ingenjörer att se till att hårdvaran gör som den ska genom att manipulera mjukvaran. Laborationen kommer bestå utav vilda LEGO Mindstorm robotar utrustade med lasrar som löper amok, par-programmering, partnerskap och lojalitet som sätts på prov när vi ställs inför den största, och första, utmaning hittills. Det är vinna eller försvinna som gäller, robotarna måste fungera efter laborationen! 1.1 Bakgrund Huvuddelen utav laborationen gick ut på att programmera en robot så att den följde en svart linje. Den gjorde det genom en laser som kände av hur ljus golvet var. När den åkt klart banan så körde roboten in i väggen och ett meddelande skulle då visas på displayen samt en ljudsignal spelas. Utförandet av detta gjordes i par. Det berodde till mesta dels på grund av att vi skulle få förspörja par-programmering, men också för att kunna diskutera logiska problem som uppstod. Sammarbete och par-programmering är två saker som kommer återkomma under hela vår utbildning och att lära sig det underlättar uppgifter en hel del. 1.2 Syfte och målsättning Syftet med laborationen är att utsätta alla deltagare för programmering, logiskt tänkande och parprogrammering. Målet är att klara uppgiften, som finns beskriven i bakgrund, men även att alla ska lära sig något nytt. Syftet med den här rapporten är att liknande. Alla ska lära sig skriva en vetenskaplig rapport. 2. Genomförande Läs det första tjugo sidorna utav Lab-PM noggrant, resterande sidor är mindre relevant för just denna laboration. Efter genomgång utav Lab-PM ska programvaran hämtas från BILDA s hemsida (https://bilda.kth.se/courseid/8498). Den finns under Kursmaterial. Filen som hämtas är en.zip-fil, närmare bestämt BricxCC.zip, vilket innebär att den behöver packas upp m.h.a. förslagsvis WinRAR. När filen är uppackad är det bara att köra.exe filen och programmet startar. Hämta sedan programkoden som ska undersökas från BILDA s hemsida återigen (kursmaterial). Filen heter linefollower.nxc. Öppna sedan filen och kopiera över programkoden till BRIX. Hämta sedan den sista filen som behövs. Nämligen drivrutiner till LEGO Mindstorms-roboten. Dessa finner man genom google. Nu är det dags för att granska koden och diskutera med given partner kring eventuella fel. När koden är färdigdiskuterad och blivit granskad så är det god tid att påbörja par-programmeringen. Detta görs genom att ena partnern skriver kod medan den andre granskar vad som skrivs och kommer med förslag. Byt sedan roller efter trettio minuter. När uppgiften tros vara löst så laddas programmet ner till LEGO Mindstorms-roboten och testkörs på banan. Kungliga Tekniska Högskolan Universitet Sida 3 av 5

Om uppgiften är löst är man klar, annars är det tillbaka till datorn och koden. 3. Resultat Laborationen slutfördes fullständigt. Uppgiften löstes och alla frågor besvarades. Ändringar i koden redovisas genom följande tabell: Radnummer Ny kod Kommentar 34-36 String groupmembers[]: { Daniel, Johnny ]; 45 TextOut(0, (LCD_LINE1 (8*i)), names[i]); 68 lightintensity = SensorRaw(IN_3); Skrev in namn Ändrade så att namnen skrevs ut på rätt rad på displayen Ändrade till vilken port ljusavkännaren var inkopplad till. Den var fel från början. 86 OnFwd(OUT_A, SpeedFast); Ändrade från SpeedSlow till SpeedFast. 91 OnFwd(OUT_B, SpeedSlow); Ändrade från SpeedFast till Speedslow. 115 //dance(); Kommenterade bort dance()- funktionen för att den inte skulle vara med. 4. Analys Både jag och min partner hade programmerat lite innan så att granska koden och följa med i de logiska resonemangen var inga problem. Just det här språket hade ingen av oss använt och vissa funktioner var lite förvirrande. Överlag gick laborationen bra. Vi löste det logiska problemet angående hur roboten skulle hålla sig på linjen väldigt fort. Men vi missade en mindre detalj, nämligen rad nummer 68, där ljus-avkännaren var kopplad till fel port. Men efter vi korrigerade det så fungerade roboten perfekt. 5. Diskussion Laborationens syfte var att få se kod, testa programmera och prova på par-programmering. Målet var självklart att slutföra uppgiften. Jag har lärt mig mycket kring par-programmering och hur det är mycket mer effektivt än att sitta två personer på två separata datorer och försöka arbeta tillsammans. Fel upptäcktes direkt utav någon av oss och vi kunde lägga mycket mer energi på de logiska funktionerna, vilket är själva uppgiften. Så par-programmering är något jag kommer ta med mig till framtida studier och kanske till och med yrke. Programvaran NXC var ganska rolig och lätt. Det är nog en bra idé att introducera studenter till programmering med något som ändå är så praktiskt som NXC-programmering (io.m. att man testar sin robot och får ett synligt resultat). Kungliga Tekniska Högskolan Universitet Sida 4 av 5

Referenser Labb-PM http://bricxcc.sourceforge.net Bilagor Kungliga Tekniska Högskolan Universitet Sida 5 av 5