2. Digitaalilähdöt

Alunperin julkaistu: 12.2.2017

Viimeksi muokattu: keskiviikko 27.12.2017

Ennen kuin varsinaisesti tehdään mitään, on varmaan ihan hyvä vielä selventää mikä Arduinossa on se syvällisin idea.

Arduino on lähtökohtaisesti keksitty ihmisille, jotka ovat kiinnostuneita tekemään omia laitteita, mutta eivät välttämättä ole käyneet elektroniikkasuunnittelijan tai ohjelmistosuunnittelijan (Insinööri) koulutusta.

Arduinossa onkin haluttu madaltaa oppimiskynnystä niin, että levyllä olevan mikro-ohjaimen syvällisintä toimintaperiaatetta ei ole tarpeen tietää, mikäli haluaa suorittaa yksinkertaisia toimintoja kuten vilkuttaa lediä, ohjata moottoria tai lukea jotakin anturia.

Arduinoa voidaan myöskin luonnehtia nopeaksi prototyyppikehitykseksi (fast prototyping development), sillä hyvin vähällä koodirivien määrällä saadaan jo aika paljonkin asioita tapahtumaan.

Arduino ja sen ohjelmointi

Arduinoa voidaan ohjelmoida helposti ainakin kahdella eri ohjelmalla: Arduino IDE ja Fritzing. Käytännössä jälkimmäisen, eli Fritzingin käyttäminen Arduinon ohjelmointiin vaatii kuitenkin Arduino IDE:n asentamisen, joten keskitytään näissä opaskirjoituksissa Arduino IDE:n käyttöön.

Aivan aluksi, täytyy tietokoneelle asentaa yllämainittu kehitysympäristö, joka on vapaasti ladattavissa Arduinon sivuilta: http://www.arduino.cc/en/Main/Software.

Ohjelman asennus on yksinkertainen toimenpide ja sen vuoksi en perehdy tällä kertaa siihen. Tässä välissä voi tökätä USB-johdon tietokoneen ja Arduinon välille paikalleen ja odotella että ajurit asentuvat (niiden pitäisi asentua automaattisesti). Laitehallinnasta voi vielä tarkistaa, että Arduino näkyy porttien (Ports) alla.

Niin mainittakoon vielä, että tässä asennetaan kehitysympäristö Windows-käyttöjärjestelmään. Kun ohjelma on asennettu, voidaan sovellus avata.

Pienen odottelun jälkeen avautuu alla olevan kuvan mukainen ikkuna. Ohjelma lataa automaattisesti uuden tiedoston, mihin koodia voidaan kirjoittaa. Punaisella ympyröity alue näyttää nykyisen välilehden ja koska tätä tiedostoa ei ole vielä mihinkään tallennettu niin sen nimenä on nykyinen päivämäärä. Tätä tiedostoa sanotaan sketchiksi (luonnos).

Alhaalla oikealla nähdään jos yhteys Arduinoon on kunnossa, kuten tässä tapauksessa on. Mikäli yhteyttä ei ole niin oikean yhteyden voi tarkistaa Tools -> Port -valikosta. Samoin, jos käytössä on eri Arduino kuin Uno, niin Boards -valikosta voi oikean "laudan" valita.

Arduino IDE

Arduino IDE

Nämä perusasiat on hyvä tarkistaa ennen etenemistä, eli siis lyhyesti:

  • Ohjelman asennus (Arduino IDE)
  • Arduinon kytkeminen tietokoneeseen (tai toisessa järjestyksessä, ei ole väliä)
  • Yhteyden tarkistaminen
  • Kehitysalustan oikean mallin tarkistaminen (tässä tapauksessa Arduino Uno)

Sketchin rakenne

Kuten yltä varmaan huomasit, niin tyhjään tiedostoon ilmestyy automaattisesti kaksi eri lohkoa, setup ja loop, kuten alla:

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Setup-lohkoon kirjoitetaan kaikki alustuskoodi ja loop-lohkoon kaikki toiminnallinen koodi. Arduino suorittaa Setup-lohkon vain kerran ohjelman käynnistyessä, kunnes ohjelman suoritus siirtyy loop-lohkoon, missä koodia ajetaan niin kauan kun laite on sähköissä.

Oppaan tulevissa ja myöhemmissä osissa käydään tarkemmin läpi mitä kaikki oikein tarkoittavat, mutta tässä tarkoituksena on saada lukijalle nopeasti käsitys miten led saadaan syttymään ja tuottaa ohjeen seuraajalle ensimmäinen "heureka" elämys =).

Arduinon ja ledin kytkentä

Seuraavaksi on aika tehdä kytkentä koekytkentäalustalle, mihin käytetään yhtä vastusta (esim. 220 - 1000 ohmia) ja lediä (värillä ei ole väliä).

Arduino ja LED

Arduino ja LED

Vastus kytketään nastaan D8 hyppylangan avulla ja ledin toinen pää hypytetään takaisin Arduinolle GND-pinniin hyppylankaa hyväksi käyttäen.

Kytkentä on nyt valmis ja ledin vilkutus voidaan koodata.

Sketchin tekeminen ledin vilkutukselle

Aluksi käytetty IO-nasta, joka tässä tapauksessa oli D8 tai ihan vain kahdeksan, alustetaan lähdöksi (OUTPUT). Alustus kirjoitetaan setup-lohkon sisään:

void setup() {
  // put your setup code here, to run once:
  pinMode(8, OUTPUT);
}

Seuraavaksi kirjoitetaan ledin vilkutuksen toiminnallisuus loop-lohkon sisään:

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite( 8, HIGH);
  delay(1000);
  digitalWrite( 8, LOW);
  delay(1000);
}

Kun editorin yläpalkista klikataan vasemmanpuoleista tarkistus (Verify) painiketta, ohjelma kääntyy ja virheilmoituksista (jos niitä on) ilmoitetaan alapuolisessa mustassa laatikossa.

Arduino IDE

Esimerkin vuoksi jätin viimeisimmän puolipisteen pois koodista, jolloin virheilmoitus on seuraavanlainen:

Arduino IDEArduino IDE

Kun koodi on virheetön, voidaan toimintaa testata toisen nuolipainikkeen avulla (Upload) jolloin sketch ladataan Arduinolle ja latauksen jälkeen ledin pitäisi vilkkua sekunnin välein!

Käytetyistä digitalWrite, pinMode ja delay funktioista ei kannata tässä vaiheessa välittää, ne selitetään kyllä jatkossa. Jos sait ledin vilkkumaan niin hyvä! Voit jatkaa osaan 3.

Seuraava osa: 3 digitaalitulot.