Editor
Editoren er området der du skriver koden som styrer roboten, enten med blokker eller med skriptkode.
Nedenfor kan du lese hvordan du koder i hvert av de to miljøene — blokkoding og skriptkoding (Python) — og hva du må være oppmerksom på.
Editoren for blokkoding
Blokkategorier

Området der blokkene i RobomationLAB er delt inn i kategorier.
Klikker du på en kategori, ser du den bloksamlingen som hører til kategorien.
Her er de blokkategoriene som finnes som standard.
- Logikk
- Løkker
- Matematikk
- Tekst
- Liste
- Farge
- Lyd
- Styring
- Variabler
- Funksjoner
- Annet
Legger du i tillegg til en robot eller et utvidelsesmodul i programmet, kan du bruke robotens eller modulens egen bloksamling i programmet.
⚙️ Merk

Kategorier du har lagt til i programmet, men ikke bruker lenger, kan du fjerne fra blokkategoriene med høyreklikk med musen → Fjern.
Bloksamlingen

Området der alle blokkene i en kategori er samlet.
Blokkene i bloksamlingen kan du flytte over i kodingsområdet ved å dra og slippe.

⚙️ Merk
Vil du vite hvordan en blokk brukes, kan du med høyreklikk med musen → Hjelp se en hjelpetekst som beskriver hvordan hver enkelt blokk brukes.
Kodingsområdet

Området der du setter sammen de blokkene du har hentet fra bloksamlingen.
De sammensatte blokkene konverteres til Python-kode i sanntid,
og når du kjører koden, tolkes den, så roboten beveger seg og styres.
Blokkenes grunnstruktur
Når du koder i editoren for blokkoding, må du følge denne grunnstrukturen.

Editoren for blokkoding tolker og kjører den koden som ligger inne i funksjonsblokkene funksjon oppsett og funksjon løkke.
Du må derfor skrive koden ved å legge blokker inn i funksjonsblokkene funksjon oppsett og funksjon løkke.
funksjon oppsett
Inne i funksjonsblokken funksjon oppsett definerer du de handlingene som skal utføres i starten når koden kjøres.
Med blokken Vent kan du få handlingene til å bli utført i tidsrekkefølge.
funksjon løkke
Inne i funksjonsblokken funksjon løkke definerer du de handlingene som skal gjentas så lenge koden kjører.
De handlingene du definerer, gjentas én gang hvert 10. ms.
⚙️ Merk
(Bortsett fra de egendefinerte funksjonene du oppretter via kategorien Funksjoner)
har blokker som ligger utenfor funksjonsblokkene funksjon oppsett og funksjon løkke, ingen virkning når koden kjøres.
Slik bruker du blokkene
Legge til en blokk



Du legger til en blokk ved å dra den fra bloksamlingen og slippe den i editoren.
Kopiere/lime inn blokker
Det er i alt to måter å kopiere og lime inn blokker på i editoren.
Merk blokken, og trykk på Ctrl+C for å kopiere den merkede blokken.
Trykker du på Ctrl+V, kan du lime inn den blokken du kopierte sist, i editoren.Merk blokken, og trykk på knappen 'Kopier Ctrl+C' i menyen Rediger for å kopiere den merkede blokken.
Trykker du på knappen 'Lim inn Ctrl+V' i menyen Rediger, kan du lime inn den blokken du kopierte sist, i editoren.
Slette blokker
Det er i alt tre måter å slette blokker på i editoren.
Merk blokken, og trykk på Backspace for å slette den merkede blokken.
Du kan slette en blokk ved å dra den i editoren og slippe den i blokkategoriene.



- Du kan slette en blokk ved å dra den i editoren og slippe den i papirkurven.
Du kan se de slettede blokkene igjen i papirkurven.

Merke flere blokker samtidig
Det er i alt to måter å merke flere blokker samtidig på i editoren.
Holder du Shift nede mens du drar over arbeidsområdet eller klikker på blokkene én for én,
kan du merke flere blokker samtidig.Klikker du på avkrysningsknappen nederst til høyre i arbeidsområdet, kan du slå modusen 'merk flere blokker' på og av.
Er knappen fylt med farge, er modusen på.
Er knappen ikke fylt med farge, er modusen av.


Så lenge modusen 'merk flere blokker' er på, kan du bare merke blokker.
Vil du flytte eller redigere de merkede blokkene samtidig, må du slå modusen av når du er ferdig med å merke.
Flere valg
I tillegg kan du høyreklikke med musen på en blokk
og få frem flere valg, blant annet folde blokken sammen/ut, aktivere/deaktivere og hjelp.
Python-editoren
Kodesamlingen

Området der de grunnleggende funksjonene for robotkoding og den Python-koden som hører til roboter og utvidelsesmoduler, er delt inn i kategorier.
Her er de kodekategoriene som finnes blant grunnfunksjonene (Koder).
- Logikk (logic)
- Løkker (loops)
- Matematikk (math)
- Tekst (text)
- Liste (lists)
- Farge (color)
- Lyd (audio)
- Styring (control)
Kodene blant grunnfunksjonene gjør nøyaktig det samme som de grunnleggende blokkene i editoren for blokkoding.
⚙️ Merk
Du kan lese under Slik bruker du kodesamlingen hvordan du koder i Python-editoren ved hjelp av kodesamlingen.
Kodeeditoren

Området der du skriver koden som styrer roboten.
Velger du Python-editoren under Editorinnstillinger, kan du skrive Python-kode.
Kodens grunnstruktur
Når du koder i kodeeditoren, må du følge denne grunnstrukturen.
from robomation import *
# (er det en robot du vil bruke, erklæres den som en instans, eksempel)
hamster_s = HamsterS(0)
# legg oppsettskode her, som skal kjøres én gang:
def setup():
pass
# legg kontrollkode her, som skal kjøres gjentatte ganger:
def loop():
passKodeeditoren tolker og kjører den koden som ligger inne i funksjonene setup og loop.
Du må derfor skrive koden inne i funksjonene setup og loop.
For å styre roboten må du dessuten skrive from robomation import * øverst i koden og erklære den roboten du vil bruke, som en instans.
setup
Inne i funksjonen setup definerer du de handlingene som skal utføres i starten når koden kjøres.
Med funksjonen Utils.wait kan du få handlingene til å bli utført i tidsrekkefølge.
loop
Inne i funksjonen loop definerer du de handlingene som skal gjentas så lenge koden kjører.
De handlingene du definerer, gjentas én gang hvert 10. ms.
Slik bruker du kodesamlingen
Nedenfor beskrives med enkle eksempler hvordan du bruker kodesamlingen når du koder.
Finne den koden du vil bruke
Kodesamlingen inneholder mange forskjellige funksjoner og koder for robotkoding.

Ser du på menypunktene i kategorien Koder, ser du at noen av dem har ikonet .
Klikker du én gang på menypunktet Logikk, skifter ikonet til , og undermenyene inni foldes ut, så du kan se dem.
Et menypunkt som på denne måten har undermenyer, kalles en 'kategori'.
Har et menypunkt ikke ikonet — som ternær inne i kategorien Logikk — betyr det at menypunktet ikke har flere undermenyer.
Et menypunkt som på denne måten ikke har undermenyer, kalles en 'kode'.

Klikker du igjen på en kategori der undermenyene er foldet ut, skifter ikonet tilbake til , og undermenyene skjules.
På denne måten kan du følge kategoriene og finne den koden du vil bruke, i kodesamlingen.
Sette inn kode i editoren
Slik setter du inn kode i editoren.

Har et menypunkt ikonet til venstre for navnet, betyr det at menypunktet ikke har noen kodevalg å velge mellom.
Det gjelder de fleste kategori-menypunktene som har undermenyer.
Har et menypunkt ikonet til venstre for navnet, betyr det at du kan velge kodevalg i menypunktet.
Det gjelder de fleste kode-menypunktene som ikke har undermenyer.
Høyreklikker du med musen på den koden du vil sette inn i editoren, ser du de valgene du har.

Høyreklikker du på et kode-menypunkt, ser du de samme valgene, uansett om det er en grunnfunksjon eller en kode som hører til en robot eller et utvidelsesmodul.
- Sett inn kode: setter den valgte koden inn der markøren står i editoren.
- Hjelp: viser en hjelpetekst som beskriver hvordan koden brukes.
- Avbryt: lukker menyen med valg.
For koder som hører til en robot eller et utvidelsesmodul, settes koden inn som et kall av en metode på robotens instans når du velger Sett inn kode.
( F.eks. set_wheel_speed hos HamsterS → hamster_s.set_wheel_speed('both', 50) )
⚙️ Merk

Kodekategorier for roboter og utvidelsesmoduler du har lagt til i programmet, men ikke bruker lenger,
kan du fjerne fra kodesamlingen med høyreklikk med musen → Fjern.
