Till KTH:s startsida Till KTH:s startsida

Ändringar mellan två versioner

Här visas ändringar i "Introduktion till Lego Mindstorms" mellan 2013-10-02 15:43 av Anders Lindström och 2013-10-02 15:51 av Anders Lindström.

Visa < föregående | nästa > ändring.

Introduktion till Lego Mindstorms

Depositionsavgift Innan gruppen kan hämta ut en robot måste en depositionsavgift, 2 500 kr för en robot, betalas i bokhandeln på plan 3.

Det finns projektskåp i sal 6024. Nyckel hämtas ut hos Micael Lundvall ... (tid anges senare).

Roboten, Lego Mindstorms NXT http://mindstorms.lego.com/en-us/support/buildinginstructions/8547/8547%20user%20guide%20english.aspx - en teknisk beskrivning av robot, motor, sensorer m.m. Den byggbeskrivning som finns i början av dokumentet (steg 1-20) används som utgångspunkt för de enkla programexempel som presenteras längre ned.

Notera att ni kommer att använda er av programmeringsspråket NXC (Not eXactly C), inte det språk som anges i dokumentet ovan.

Programmeringsspråket Not eXactly C och utvecklingsmiljön Brix Command Center http://bricxcc.sourceforge.net/ - utvecklingsmiljö, installationsinstruktioner.

http://bricxcc.sourceforge.net/nbc/ - språket NXC, dokumentation och kodexempel.http://bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/ - dokument om syntax och alla fördefinierade funktioner

Några enkla kodexempel Alla exempel nedan utgår från en robot byggd enligt steg 1-20 i beskrivningen ovan.

Komma igång Koppla in den påslagna roboten till datorn med den medföljande USB-kabeln innan du startar BrixCC. När du startar BrixCC försöker utvecklingsmiljön kontakta roboten väljer du inställningarna nedan (för att kontakta en robot när BrixCC redan är igång väljer du Tools > Find Brick från menyn).None

Kommandon för att kompilera kod, ladda ned kod till roboten samt exekvera kod finns på menyn Compile.

Syntax Syntaxen för NXC liknar till stora delar C, men är något begränsad. Det finns dessutom ett stort antal fördefinierade funktioner för att t.ex. styra motorer eller läsa av sensor-värden.Det går att definiera funktioner och funktionsprototyper (dock inget stöd för separata header-filer). NXC skiljer på procedurer, som inte returnerar något (d.v.s. void), respektive funktioner, som returnerar något.

Några enkla kodexempel Kodexemplen hittar du undersidor till denna sida samt i denna zip-fil: NXC-examples.zip

Hello World Alla NXC program börjar startar med "task main()". helloWorld.nxc spelar upp en ljudsekvens.

Funktioner, procedurer amoebaWithFunctions innehåller några korta procedurer (svänga, backa) samt ett main. Programmet läser av ultraljudssensorn. Om avståndet till ett hinder är < 15 cm backar roboten, svänger och försöker ta sig fram i den nya riktningen.

throwDice.nxc innehåller en enkel funktion (returnerar ett tal i intervallet 1-6) och en enkel procedur.. Huvudprogrammet läser av en trycksensor (som en knapp); om man trycker på sensorn slumpas ett tal 1-6 och visas på displayen.

Exempel med färgsensorn colorSensorRaw.nxc läser rådata från färgsensorn i form R, G och B-värden. colorSensor.nxc läser data med en funktion, ReadSensorColorEx, som matchar sensorns värde mot en uppsättning färger.