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 |
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