Blocket Variabel

Med variabelblocket kan du läsa eller skriva till en variabel i programmet. Du kan även skapa en ny variabel och tilldela den ett valfritt namn.

En variabel är en plats i EV3-enhetens minne. I variabeln kan ett datavärde lagras. Vill du lagra ett datavärde kan du skriva till en variabel. Senare i programmet kan du hämta det lagrade värdet genom att läsa variabeln.
Varje variabel har en typ och ett namn. Typerna är Numerisk, Logik, Text, Numerisk vektor och Logisk vektor. Du kan välja ett variabelnamn som används för att identifiera variabeln.

Mer information om olika typer av variabler finns under Datatyper.

En variabels värde går att ändra under programkörningen. Varje gång som du skriver till en variabel ersätts det tidigare variabelvärdet med det nya värdet. Till exempel kan du använda en variabel med namnet ”Maxljus” för att lagra den högsta ljusstyrkan som hittills har mätts med färgsensorn. Varje gång som roboten mäter ett högre värde kan det nya värdet skrivas till variabeln ”Maxljus”.
Lägga till en ny variabel


Lägesväljare
Variabelväljare
Värdeinmatning

Så här lägger du till en ny variabel i projektet:
1.Infoga eller välj ett variabelblock.
2.Använd lägesväljaren för att välja skrivläget.
3.Välj en typ av variabel (Numerisk, Logik, Text, Numerisk vektor eller Logisk vektor).
4.Klicka på blocktextfältet överst i blocket och välj ”Lägg till variabel”. Dialogrutan Ny variabel visas, som på bilden nedan.
5.I dialogrutan Ny variabel anger du den nya variabelns namn och klickar sedan på OK. Ett variabelnamn kan vara en bokstav, ett ord, flera ord eller en sekvens av bokstäver och siffror.
Tips och trick
Om du väljer ett kort variabelnamn är det lättare att se hela namnet när du använder variabeln i programmet.
Välj ett namn som gör det enkelt att komma ihåg vad variabeln betyder och vad som särskiljer den från andra variabler i programmet.
När du har lagt till en variabel kan du använda den även i andra program i projektet.
6.När du har lagt till variabeln kan du använda variabelblocket i skrivläget för att ange ett första värde för variabeln.
Skriva till en variabel


Lägesväljare
Variabelnamn
Indata
Skriv
I skrivläget kan du välja en variabel som du redan har lagt till i programmet (se Lägga till en ny variabel) och lagra ett värde i den.
Skriva till en variabel:
1.Använd lägesväljaren för att välja skrivläget.
2.Välj en typ för variabeln.
3.Klicka på blocktextfältet för att visa en snabbmeny.
4.Välj namnet för den variabel som ska användas.
Tips och trick
Du måste välja variabelns typ i lägesväljaren, innan du väljer ett variabelnamn i snabbmenyn. I snabbmenyn visas bara variabler som är av den valda typen.
5.Nu kan du lagra ett värde i variabeln, genom att använda indatafältet Värde. Du kan ange värdet direkt i Värde eller så kan du använda en dataledning.
Tips och trick
Du kan skriva till en variabel hur många gånger du vill, men bara det senast skrivna värdet behålls. Om du skriver till en variabel raderas variabelns befintliga värde och ersätts med det nya värdet.
Läsa från en variabel


Lägesväljare
Variabelnamn
Utdata
Läs
I läsläget kan du välja en variabel som du redan har lagt till i programmet (se Lägga till en ny variabel) och hämta det värde som är lagrat i variabeln.
Så här läser du från en variabel:
1.Använd lägesväljaren för att välja läsläget och en typ av variabel.
2. Klicka på textfältet överst i blocket för att visa snabbmenyn och välj namnet för den variabel som ska användas.
Tips och trick
Du måste välja variabelns typ i lägesväljaren, innan du väljer ett variabelnamn i snabbmenyn. I snabbmenyn visas bara variabler som är av den valda typen.
3.Nu kan du hämta variabelns värde från Värde och använda det i programmet, via en dataledning.
Tips och trick
Om du läser från en variabel som inte har lagrat något värde tidigare, är resultatet 0 för en numerisk variabel, Falskt för en variabel av typen Logik, tom text för en variabel av typen Text och en tom vektor för en variabel av typen Numerisk vektor eller Logisk vektor.
Exempel med variabler
Exempel 1: Lagra ett värde och använda det senare
I det här programmet används ett variabelblock i skrivläge för att i variabeln ”Light” (Ljus) lagra ett datavärde från färgsensorn. Därefter används ett variabelblock i läsläge för att hämta värdet och använda det senare i programmet.

Programmet är utformat för att få roboten att åka iväg och sedan tillbaka. På tillbakavägen stannar roboten på en färg som är minst så mörk som färgen vid den punkt där roboten startade.
Tips och trick
Ett annat sätt att skapa ovanstående är att använda en lång dataledning i stället för en variabel, men genom att använda variabler för datalagring kan du göra långa program mer överskådliga.
Exempel 2: Räkna antalet gånger som trycksensorn trycks in
Det här programmet räknar hur många gånger som trycksensorn trycks in. Det uppmätta värdet visas på EV3-displayen. I programmet används den numeriska variabeln ”Presses” (Tryckningar) för att hålla reda på antalet intryckningar.

I början av programmet används ett variabelblock i skrivläge för att ange 0 som det första lagringsvärdet i ”Presses” (Tryckningar). Inuti loopen adderas det lagrade variabelvärdet med 1 varje gång som trycksensorn registrerar en intryckning. Det går till så här: Det aktuella värdet hämtas med ett variabelblock i läsläge. Ett matematikblock och dataledningar används för att addera med 1. Resultatet skrivs tillbaka till variabeln med hjälp av ett variabelblock i skrivläge. Slutligen används ett annat variabelblock i läsläge för att hämta och visa det aktuella värdet.
Indata och utdata
I skrivläget har variabelblocket ett enda utdatavärde. Du kan fylla i indatavärdet direkt i blocket. Det går också att ange värdet med hjälp av en dataledning från utgången för ett annat programmeringsblock.
IndataTypAnteckningar
Värde (beror på blockläget)Värde att lagra i variabeln
I läsläget har variabelblocket ett enda utdatavärde. Om du vill använda utdatavärdet drar du en dataledning till ett annat programmeringsblock.
UtdataTypAnteckningar
Värde (beror på blockläget)Värde för den valda variabeln
Variabel
Snabblänkar