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