045 Variabler och datatyper

Variabler

Data sparas i variabler. Ofta vill man spara värden som läses från sensorer. Dessa värden sparas i variabler.

Definition av variabel

Koden

  int x;

reserverar en plats i Arduinons minne för ett heltal som upptar 16 bitar av minnet. En bit är en etta eller nolla. Variabeln heter x. Senare i koden kan man använda x för att komma åt det som finns sparat. Det är nyckelordet int berättar att variabeln kan innehålla ett heltal.

Tilldelning

Koden

  x = 10;

ger variabeln x värdet 10.

I koden nedan beräknas först värdet av x + 2 där x är 10 till 12. Sedan sparas det i x som blir 12.

  x = x +2;

Exempelkod

  void setup() {
      Serial.begin(9600);

      int x; 
      x = 10;
      int y = 20;
      int sum = x + y;
      Serial.print("x: ");
      Serial.println(x); // utskrift: 10
      Serial.print("y: ");
      Serial.println(y); // 20
      Serial.print("summa: ");
      Serial.println(sum); // 30 
      x = 2 * x;
      Serial.print("x: ");
      Serial.println(x); // 20
      x = 10 * y;
      Serial.print("x: ");
      Serial.println(x); // 200
      y = 50;
      Serial.print("y: ");
      Serial.println(y); // 50
      Serial.print("x: ");
      Serial.println(x); // 200

      Serial.println("Arduino Uno");
      String text = "Arduino Uno";
      Serial.println(text); // utskrift: Arduino Uno
  }

  void loop() {

  }

Datatyper

Heltal sparas inte på samma vis som decimaltal. Text sparas på ett tredje vis. Lite fakta om några datatyper visas nedan.

datatyp beskrivning bitar min max
int heltal 16 -32 768 (-2^15) 32 767 (2^15 - 1)
long heltal 32 -2 147 483 648 (-2^31) 2 147 483 647 (2^31 - 1)
float decimaltal 32 -3.4028235E+38 3.4028235E+38
bool true or false 1 0 1
char tecken 8 0 255 (2^8 - 1)
String text olika

Mer om datatyper.

Utmaningar

1A

Skriv kod i funktionen setup som ovan.

Definiera en variabel som heter bas och en annan som heter hojd. Undvik å, ä, ö i koden. Ge variablerna värdena 20 och 10.

Definiera en variabel som heter area. Beräkna arean för rektangel med hjälp av variablerna bas och hojd. Spara värdet i variabeln area.

Använd Serial.print() och Serial.println() för att få en utskrift som ser ut som:

  rektangel
  bas: 20
  hojd: 10
  area: 200

1B

Ändra på bas och hojd så att de får värdena 30 och 40. Om din kod är rätt bör utskriften bli som:

  rektangel
  bas: 30
  hojd: 40
  area: 1200

2A

Skriv ett program som beräknar arean av en kub om man anger sidan.

Definiera en variabel som heter sida. Ge den värdet 10.

Definiera en variabel som heter volym. Beräkna volymen med hjälp av variabeln sida. Spara värdet i variabeln volym.

Se till att utskriften blir som:

  kub
  sida: 10
  volym: 1000

2B

Ändra på variabeln sida så att den får värdet 20. Om du har gjort rätt bör utskriften bli.

  kub
  sida: 20
  volym: 8000