Hello world!

Hello world!

I dette kapittelet skal vi skrive vår første skisse fra grunnen av. Vi skal gjøre oss kjent med hvordan koden skal skrives og formateres. Vi stifter også bekjentskap med den serielle monitoren og de såkalte metodene Serial.begin og Serial.println.

Skissen vi skriver blir et klassisk program som vanligvis brukes som eksempel i de fleste programmeringsspråk. Målet er å få Arduinoen til å sende teksten "Hello world!" til datamaskinen.

Setup-funksjonen

Vi begynner med å opprette en tom skisse og lagre den. Vi vil at navnet skal følge navngivingsnormen som brukes for skisser innen APL. Vi kaller den derfor HelloWorld (skrevet slik det står, med innledende versal på ordene og uten mellomrom).

Utviklingsmiljøet har allerede laget de to funksjonene som alltid skal finnes (setup og loop). Vi kan derfor begynne med å skrive koden som vi vil ha i setup-funksjonen. Alt som står mellom klammeparentesene er en del av setup (dvs. koden som kjøres når Arduinoen starter). Hvorfor det står void foran setup, og hvorfor det ikke står noe i parentesene, blir forklart i Funksjoner.

I setup-funksjonen skriver vi en kodesnutt slik at det ser sånn ut:

Del 1/2 av HelloWorld.ino

Siden vi vil at Arduinoen skal sende data til datamaskinen vår, må vi åpne en seriell tilkobling (en port som gjør at Arduinoen og datamaskinen kan kommunisere med hverandre). Det gjør vi ved å skrive Serial.begin(). I parentesen skriver vi hastigheten vi vil overføre data i (dvs. hvor raskt Arduinoen skal "snakke"). Datahastigheten måles i Baud (forkortes Bd), og vi vil overføre i 9600 Bd. I denne kommunikasjonen er 1 Bd (1 Baud) det samme som 1 b/s (1 bit per sekund). Hastigheten vi har valgt er altså 9600 biter per sekund. Vi kunne ha valgt andre hastigheter også, så lenge mottakeren kan ta imot data (lytte) i de hastighetene.

Grunnen til at vi plasserer denne instruksjonen (kodelinjen) i setup-funksjonen (i stedet for i loop-funksjonen), er at vi bare trenger å åpne tilkoblingen én gang (det skal ikke gjøres hver gang vi vil sende noe).

Vi avslutter instruksjonen med et semikolon. Dette gjør vi etter alle instruksjoner for å vise kompilatoren hvor instruksjonene slutter. Når vi skriver på norsk, gjør vi leserne våre samme tjeneste ved å bruke punktum for å avslutte setninger.

Tips! Legg merke til at vi innleder instruksjonen med et dobbeltmellomrom. Det gjør vi for å vise hvor i koden vi befinner oss. Siden vi er inne i en funksjon, begynner vi å skrive litt lengre inn. Å justere venstremargen hierarkisk gjør koden lettere å lese.

Mange programmerere foretrekker å bruke tabulator i stedet for dobbeltmellomrom, noe som gjør akkurat samme nytten.

Loop-funksjonen

Utviklingsmiljøet har også laget loop-funksjonen for oss, slik at vi kan fylle den med instruksjoner. Som i setup-funksjonen hopper vi to steg frem (legger inn to mellomrom) for å vise tydelig hvor i koden vi befinner oss.

Vi vil at Arduinoen skal sende teksten Hello world! til datamaskinen. Det gjør vi ved å kalle opp Serial.println. Println er en forkortelse for "Print line" og innebærer at datamaskinen skriver det som står inni parentesen og avslutter med et linjeskift.

For ikke å bli overøst med hilsener legger vi inn en forsinkelse. Vi bruker delay, på samme måte som i Skrive skisser, og angir forsinkelsen til ett sekund (1000 ms).

Del 2/2 av HelloWorld.ino

Kjør programmet

Når vi har skrevet skissen, kan vi klikke på Last opp for å få den verifisert, kompilert og lastet opp. Hvis skissen er riktig skrevet, vil Arduinoen være klar til å skrive hilsener på skjermen vår etter noen sekunder. Enn så lenge mangler den imidlertid et sted å skrive hilsenene. Vi må derfor åpne Seriell overvåker (knappen lengst oppe til høyre).

Seriell overvåker

Lengst nede til høyre i Seriell overvåker kan vi stille inn bben. Den skal stå på 9600 Bd for å stemme overens med det vi skrev i skissen vår. 

Den klassiske hilsenen i Seriell overvåker.

Tips! Du kan laste ned alle skissene i boken fra github.com/kjellcompany. Vi anbefaler imidlertid at du skriver koden selv. Du lærer deg utrolig mye av å skrive den selv, gjøre feil og rette feilene.

Sist endret: 2017-09-08