PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

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

Programmera Lego Mindstormsrobotar

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

Laboration i datateknik

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

Labbrapport - LEGO NXT Robot

Programmering av en Lego robot

[Introduktion till programmering ]

Laboration - Programmering av LEGO Mindstorm robot

LEGO NXT Robotprogrammering

Laboration i datateknik

Programmering med NXC Lego Mindstorm

Labbrapport LEGO-robot linefollower

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

Introduktion till programmering med hjälp av Lego Mindstorm

Introduktion i programmering med språket NXC

LEGO Mindstorm-robot

Lego Mindstormprogrammering

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

PROGRAMMERING AV LEGO-ROBOT VIA NXC

Simon Boström Introduktionskurs i Datateknik

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Robotprogrammering felsökning & analys.

Simon Johansson Introduktionskurs Datateknik 1310

Programmeringslaboration med LEGOrobot

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

Laborationsrapport av robotprogrammering

Programmering av LEGO NXT Robot

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?

Programmera LEGO NXT

Peter Ottosson 31/ Introduktionskurs i datateknik II1310

Programmering av LEGO NXT Robot

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

Felsökning av mjukvara

Programmera en NXT Robot

Praktisk programmering

[Introduktionskurs i Datateknik]

Labbrapport. Introduktionskurs i datateknik (II1310) Stefan Dalarsson,

Roboten. Sida 1 av 11

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

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

FIRST LEGO League. Stockholm

Installation av WinPig Slakt

EV3 Roboten. Sida 1 av 13

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Om du behöver hjälp. Telia Simka Bruksanvisning

Programmering. Analogt och med smårobotar. Nina Bergin

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

Projektrapport. Till Projektet Bluetoothstyrd bil

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

Preliminär specifikation av projekt

Föreläsning 1: Intro till kursen och programmering

HF0010. Introduktionskurs i datateknik 1,5 hp

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

Laborationer i SME094 Informationsteknologi I för

Lego Robot [ ] [ ] [ ]

Lilla salen blev datasal

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016)

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

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Installera USB-adapter

Sirius II Installation och Bruksanvisning

Grundkurs i programmering - intro

Laboration: Whitebox- och blackboxtesting

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

Olika lärostilar... Länder... (Vi har tyvärr bara fått med tre länder då vi inte har haft så många som forskat varje gång)

Goda råd från studenterna som gjorde kandidatprojektet 2018

Online modulen är en tilläggsmodul som också ger tillgång till Näsgård Mobile.

Föreläsning 1: Intro till kursen och programmering

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)

Introduktion till Programmering. Dåtid, nutid och framtid

Programmering Grundkurs Laboration 1

2. Sätt in fyra AAA-batterier. Titta på bilden för att se hur de ska sitta. Se till att stänga batteriluckan

Hur fungerar en robot? 3 av 3

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

ANVÄNDAR MANUAL. SESAM 800 RX MC Manager

Micro:bit och servomotorer

Antares Användning och installation

INSTALLATIONSGUIDE PC

1. Flervalsfråga Andel

Inlämningsuppgift 11e Nätvärksskrivare

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch

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

Datorteknik 2 (AVR 2)

Objektorienterad Programmering (TDDC77)

FIRST LEGO League. Göteborg 2012

Mina listor. En Android-applikation. Rickard Karlsson Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

Datorsystem Laboration 2: Minnesmappade bussar

Evaluation Summary - CT3380 Grundläggande webbdesign HT05 Dan Levin

Hur fungerar en robot? (lektion 3 av 3)

SKOLFS. beslutade den -- maj 2015.

Kursutvärdering - programvarukvalitet vt 2014

Digitalt lärande och programmering i klassrummet

3 augusti (G) Programmering: Lego

FlyBot. Copyright Sagitta Pedagog AB

LiTH Autonom styrning av mobil robot Testplan Version 1.0 TSRT71-Reglertekniskt projektkurs Anders Lindgren L IPs

Transkript:

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 en Lego robot med NXC. Roboten ska sedan klara av att utföra några specifika uppgifter, bland annat att följa en svart linje på bordet och sedan stanna till när den stöter på ett objekt. Detta är möjligt att utföra eftersom roboten är utrustad med sensorer. Under laborationen så får man lära sig felsökning och testning som är en viktig grund för produktivt programmerings arbete senare i utbildningen eller i arbetslivet. Under laborationen så gick det mesta rätt bra men vi stötte på ett litet problem som vi sedan lyckades rätta till.

Innehållsförteckning 1. Inledning... 3 1.2 Syfte och målsättning... 3 2. Genomförande... 3 3. Resultat... 4 4. Analys... 4 5. Diskussion... 5 Referenser... 5 Bilagor... 5 ICT KUNGLIGA TEKNIKSA HÖGSKOLAN Sida 2 av 5

1. Inledning Ett av ingenjörens viktigaste verktyg är just programmering, därför är det viktigt att introducera programmering tidigt under utbildningen samt på ett roligt sätt. I vår vardag så kan vi se att programmering finns i nästan allt runt omkring oss allt från mobiler och datorer till bilar och mikrovågsugnar. Därför är det viktigt att man är van med programmering så att man kan prestera effektivare vid obligatoriska moment under utbildningen eller senare i arbetslivet. 1.1 Syfte och målsättning Syftet med laboration är att få en mjukstart inom programmering och hur det går till att programmera i par. Under utbildningen så kommer man att stötta på flera obligatoriska moment som bygger på just programmering därför är det bra om man har fått en grundläggande uppfattning om felsökning, testning, skrivning och körningar. Målet med laborationen är att få en lego robot att utföra olika uppgifter med koder skrivna i NXC. 2. Genomförande För att lyckas med laborationen ska man installera följande program: Lego NXT Drivrutin BricxCC (packas bara upp) Med programmet BricxCC redigerar man all källkod och sedan överför det till Lego roboten. För att börja arbeta med roboten så kopplar man in en usb kabel från datorn till roboten. Datorn ska sedan känna av att roboten är inkopplad. Sedan kan man starta programmet BricxCC. Med BricxCC ska man öppna upp filen linefollowe.nxc. Det är en färdigt skriven kod som kan överföras till roboten och köras men roboten kommer inte utföra de uppgifter vi önskar. Uppgiften blir då att felsöka igenom koden och skriva dit nya koder så att roboten utför de uppgifter vi vill. Laborationen utfördes i par så kallad par- programmering där den ena personen skrev ny kod och den andra observerade allt som skrevs dit och så sedan byter man position mellan varandra. Innan ny kod skrevs in så gick vi igenom hur roboten är uppbyggd och i vilka portar kablarna var inkopplade i samt så observerade vi hur roboten uppförde sig med original koden under testkörningen. Därefter gick vi igenom koden noggrant då kunde vi se vad som behövdes bytas ut som till exempel hastighet på roboten och den angivna portingången för lasern. Efter flera testkörningar och lika många ändringar så fick vi roboten att följa en svart linje med hjälp av lasern som sitter längst fram på roboten och sedan att stanna till när den stöter på ett hinder samt att visa upp våra namn på displayen som avslut. ICT KUNGLIGA TEKNIKSA HÖGSKOLAN Sida 3 av 5

3. Resultat Här är ändringarna som gjordes för att få roboten att utföra de uppgifter vi önskade. 4. Analys Efter att ha redigerat original koden med nya koder (se resultat) så fick vi roboten att utföra rätt arbetsuppgift, att följa en svart tejp på bordet och sedan stanna när den sammanstöter med ett hinder. Sedan ska roboten visa namnen på gruppmedlemmarna som avslut. Original koden hade en onödig dance funktion som kommenterades bort. Lasern var inkopplad i port 3 därför fick den nya koden (IN_3) istället för (IN_1). Sedan kunde man se att roboten var alldeles för snabb därför sänkte vi ner hastigheten på motor A och B till en lämplig hastighet. Vi prövade oss fram med olika hastigheter tills vi blev nöjda. ICT KUNGLIGA TEKNIKSA HÖGSKOLAN Sida 4 av 5

5. Diskussion Laborationen var mycket lärorik och intressant. Själv har jag aldrig sysslat med någon form av programmering men jag tycker ändå att denna laboration gick rätt bra. Att arbeta i par gjorde att laborationen fick mer fart vilket var kul, tillsammans kunde vi hjälpas åt med att hitta felen samtidigt kunde vi utväxla idéer med varandra. Vi började med att test köra roboten med original koden bara för att se hur roboten skulle uppföra sig. Efter det så gick vi genom koderna för att se vad som behövdes bytas ut och vad som skulle kommenteras bort. Det tog en stund tills vi listade ut vad som skulle ändras. Efter varje ny kod så test körde vi roboten för att se vad som har ändrats. Vi lärde oss att små ändringar kunde ge helt nya resultat. Sakta men säkert så testade vi oss fram och när vi såg att roboten utförde de uppgifter vi krävde så byggde vi vidare på det. Koderna för roboten skrevs i NXC vilket var ett relativt enkelt program att använda vilket passade mig som nybörjare. Referenser LABB- PM https://bilda.kth.se/courseid/8498/content.do?id=19150198 Programming LEGO NXT Robots usning NXC.pdf Bilagor ICT KUNGLIGA TEKNIKSA HÖGSKOLAN Sida 5 av 5