Hva er en variabel?
Et viktig element i programmering er variabler. Når vi «lager» en variabel, setter vi egentlig av en plass i minnet, der vi kan lagre og oppdatere en verdi.
Variabelen kan være et heltall som brukes til telling, et flyttall (desimaltall) som tar vare på en måling av en fysisk verdi, som f.eks. en temperatur, eller en tekststreng som skal vises på et display.
Programmeringsspråket har en rekke forskjellige typer variabler, og vi skal se på de viktigste av dem. Det er også mulig å lage sine egne variabeltyper, satt sammen av andre typer, men det tar vi ikke for oss her.
Den mest brukte typen variabel i forhold til mikrokontrollere, er integer, eller heltall på norsk. Når vi definerer en integer-variabel bruker vi forkortelsen int Hvis vi trenger en heltallsvariabel med navnet «teller» skriver vi følgende: Det vil da bli satt av plass i minnet til denne variabelen, men vi vet ikke hvilken verdi den har. Den vil få en tilfeldig verdi. Hvis vi vil gi variabelen en startverdi kan vi f.eks. skrive: int teller=25; I utgangspunktet i Arduino brukes 16 bits for å lagre et heltall, hvor 1 bit brukes til å angi om dette er et positivt eller negativt tall. Det vil si at vi kan lagre verdier fra -32,768 til 32,767. Hvis vi har bruk for større tall kan vi bruke long, som bruker 32 bit til lagring. Det gir oss tall fra -2,147,483,648 til 2,147,483,647. Vil vi spare litt plass kan vi begrense oss til byte, som bruker bare 8 bit. Ofte kan det være greit å angi heltall enten som binærkode eller heksadesimal kode. Heksadesimale tall starter med 0x. F.eks 0xFF (255) eller 0xA0B1 (41137) Flyttall er det samme som kommatall, altså tall med en eller flere desimaler. F.eks. 1,25 Flyttallsvariabler defineres slik: float mittFlyttall; eller float mittFlyttall=1.25; Pass på å ikke bruke komma, men punktum som desimalskille! En float lagres over 4 bytes, og kan ha verdier fra -3.4028235E+38 til 3.4028235E+38. Det vil si at vi kan lagre veldig store tall, men at nøyaktigheten er begrenset til 6-7 desimalers presisjon (tall etter komma). Hvis vi skal sammenligne to flyttall, kan vi aldri regne med at de blir nøyaktig like. I stedet må vi sjekke om differansen mellom tallene vi skal sammenligne er mindre enn en bestemt verdi. I mange andre systemer (f.eks. PC) har vi mulighet til å bruke variabeltypen double hvis vi trenger større nøyaktighet. I Arduino er derimot float og double det samme. bool eller boolean er en variabeltype som lagrer bare to forskjellige verdier: true eller false. (Sann eller usann) Variabeltypen kan brukes i logiske tester, lagre status på noe som er enten av eller på osv. En veldig grei funksjon er at variabeltypen enkelt kan iverteres (toggles): F.eks. : running = !running; vil sette running til false hvis den er true fra før, og omvendt. Hvis du ikke har bruk litt større heltall, og vet at du ikke trenger negative tall, kan du bruke unsigned foran variabeltypen. Med f.eks. unsigned int kan du bruke alle 16 bit'ene til å lagre verdien din, og får tall fra 0 til 65535. Det samme gjelder for unsigned char og unsigned long, hvor vi får bare positive tallverdier og dermed dobbelt så mange. Hvis vi trenger flere variabler av samme type som henger sammen på et eller annet vis, kan vi lage et array. For eksempel: int motstander[3]; Lager tre heltallsvariabler som kan brukes som vanlig int, men refereres til som motstander[0], motstander[1] og motstander[2] Vi kan også ha array med flere dimensjoner: int ledKube[4][4][4]; Oppgave 1: Hvis du ikke har brukt Serial Monitor før, finner du informasjon på denne siden: Serial Monitor Oppgave 2: integer
integer
int teller;
Binær brukes ved å starte tallet med B eller 0b. F.eks 0b01011010 eller B11001100float
float
bool
bool
char
char
unsigned
unsigned
array
array:
Oppgaver
Oppgaver:
Skriv et program som oppretter 2 heltalls-variabler som representerer høyden og bredden i et rektangel. Regn ut arealet av rektangelet og skriv så ut resultatet til Serial Monitor.
Lag en flyttalls-variabel Pi og sett verdien til 3.14 (husk å bruke punktum, ikke komma). Opprett så variabler for radius (som du setter en verdi på), diameter og omkrets.
Få programmet til å regne ut diameter og omkrets (lagres i variablene), og skriv så resultatene ut til Serial Monitor.
Neste artikkel -->
- Detaljer
- Skrevet av: Per Sigbjørn
- Kategori: Variabler
- Treff: 3214