Håndholdt programmering

Ole Caprani,
Institut for Datalogi, Aarhus Universitet,
ocaprani@cs.au.dk

Sidst opdateret 27.8.12.

Ved hjælp af NXT kontrolenhedens betjeningsknapper kan NXT programmeres direkte uden brug af en PC. Det sker ved brug af et programmeringsværktøj kaldet NXT Program som er en af de muligheder NXT kontrolenheden tilbyder. NXT Program aktiveres i følgende fire trin:
  1. Tryk på den orange knap og NXT tændes. Efter en lille melodi vises NXT's startmenu på skærmen:
  2. Vælg programmeringsværktøjet NXT Program ved at trykke på højre lysegrå knap :
  3. Et tryk på den orange knap aktiverer NXT Program. NXT Program's startskærm viser hvilke porte sensorer og motorer skal tilsluttes, hvis sensorer/motorer bruges i det program som nu skal udformes i NXT Program:
  4. Endnu et tryk på den orange knap og skærmen viser en skabelon med fem bokse forbundet med streger:
    De fem bokse er en skabelon for det program som kan udformes i NXT Program. Programmet udformes ved, at hver af de fem bokse udfyldes med symboler startende med den første boks som vist med pilen under boksen. Indholdet af skærmen viser, at den første boks f.eks. kan udfyldes med symbolet for handlingen Forward 5 nemlig symbolet . Et tryk på den orange knap fylder symbolet for Forward 5 ind i første boks:
    Samtidig viser pilen under anden boks, at nu er NXT Program klar til at næste symbol kan indsættes. Sådan fortsættes til alle fem bokse er udfyldt. For hver af de fem bokse er der en liste af symboler som kan vælges. De to lysegrå knapper og kan bruges til at bladre i symbolerne inden den orange knap bruges til at indsætte et symbol. Den grå firkantede knap kan bruges til at slette et valgt symbol.

Programeksempel

Inden listen af symboler præsenteres med en beskrivelse af hvad de enkelte symboler betyder vises hvordan et simpelt program:
udformes ved hjælp af symbolerne og hvordan programmet styrer robotbilen til at gentage en bevægelse, hvor bilen først kører frem og derefter bakker til højre:
De enkelte trin i programmeringen kan ses på skærmene:
De lysegrå knapper er brugt til at vælge symbolerne og den orange knap bruges til at indsætte symbolerne i boksene.

Når sidste symbol altså symbolet for Loop er indsat vises det færdige program øverst på skærmen og nedenunder ses valgmulighederne:

Tryk på den orange knap vælger , dvs at programmet nu kontrollerer robotbilen, så den bevæger sig i den bevægelse, som er valgt i programmet. Samtidig vises på skærmen hvilket trin i programmet robotbilen er ved at foretage sig, f.eks. her hvor pilen peger på den første boks med symbolet for handlingen at køre frem:
Et tryk på den firkantede grå knap stopper programmet og dermed robotbilen. Skærmen ser igen således ud:
Nu vil et tryk på den lysegrå knap få skærmen til at vise:
og et tryk på den orange knap vælger main menu, så skærmen nu ser således ud:

Programskabelonen

De 5 bokse skal udfyldes med konkrete symboler. Den første og tredie boks skal indeholde symboler for handlinger f.eks. spil en tone på NXT højtaleren eller kør fremad. Den anden og fjerde boks skal indeholde symboler for vent til f.eks. vent til der er gået 5 sekunder eller vent til tryksensor er trykket ind. Den femte boks skal indeholde et symbol for enten at stoppe programmet eller at gentage de fire første bokse igen og igen og igen ...
Handlingen kan være en bevægelse som gøres færdig inden programmet går videre til næste boks:
Forward 5 Kør frem 5 hjulrotationer efterfulgt af friløb, knap 90 cm
Backward 5 Bak 5 hjulrotationer
Turn right 2 Kør frem mod højre 2 hjulrotationer med det hurtigst drejende hjul efterfulgt af friløb, en bue omkring 35 cm
Turn left 2 Kør frem mod venstre 2 hjulrotationer
Back right 2 Bak mod højre 2 hjulrotationer
Back left 2 Bak mod venstre 2 hjulrotationer
Handling kan også være at spille en kort bip-tone. Der kan vælges imellem en lav og en høj bip-tone.
Tone 1 Spil en lav bip-tone
Tone 2 Spil en høj bip-tone
Endelig kan handlingen være at sætte en bevægelse igang samtidig med at programmet går videre til næste boks:
Forward Start med at køre frem
Backward Start med at bakke
Turn right Start med at køre frem mod højre
Turn left Start med at køre frem mod venstre
Back right Start med at bakke mod højre
Back left Start med at bakke mod venstre
I de to vent til bokse kan der ventes på at der går noget tid:
Wait 2Vent 2 sekunder
Wait 5Vent 5 sekunder
Wait 10Vent 10 sekunder
Eller der kan ventes på at en sensor registrerer en måling med en bestemt egenskab:
Touch Vent til tryksensoren er trykket ind
Sound Vent til lydsensoren registrerer en kraftig lyd
Object Vent til ultralydssensoren registrerer et objekt tæt på
Light Vent til lyssensoren registrerer lys
Dark Vent til lyssensoren registrerer mørke
Endelig kan Empty bruges i alle fire bokse. Både som handling og som vent til betyder Empty, at programmet blot springer boksen over og går videre.