Arduino

File 28-02-16 15 32 19

Nyt on kuulkaas askartelut viety aivan uusiin sfääreihin!

Tuntuu, että kaikkea on jo kokeiltu hopeatöistä pitsinnypläykseen ja huovutukseen, joten jotain uutta piti keksiä. Se joki uusi oli Arduino.

Arduino on avoimen lähdekoodin mikrokontrollerisarja, jonka voi ohjelmoida toistamaan jotain käskysarjaa uudestaan ja uudestaan ja aina uudestaan. Arduino koostuu raudasta (Arduino-levy, reikäpiirilevy, lamput, johdot, vastukset, säätimet, jne) ja softasta, johon voi itse ohjelmoida toiminnallisuuksia. Tässä kohtaa homma voi kuulostaa liian hard corelta, mutta ollos huoleton, tämä sopii ihan aloittelijakoodarillekin, jollainen itsekin olen.

Kun Arduino-tilpehöörit saapuivat postissa, oli seuraava homma asentaa Arduino-softa koneelle. Ja kun softa pyöri, avasin ensimmäisen ohjelmointiesimerkin, jossa yksinäinen ledilamppu syttyy ja sammuu, syttyy ja sammuu.

Päätin, että koitan ensin ymmärtää, mitä esimerkin koodinpätkä tekee, ja sen jälkeen koitan kytkeä johdot niin, että koodi toimii.

Koodissa määriteltiin ensin, että käytetään Arduino-levyn digitaalista pinniä numero 13 – sieltä olisi siis tarkoitus saada valoa ulos:

void setup() {
  pinMode(13, OUTPUT);
}

Tämän jälkeen määritettiin yhden pätkän verran sitä toistettavaa luuppia, jossa pinnille 13 annettiin ensin korkeaa jännitettä 1000 millisekunnin verran (=valo syttyy sekunniksi) ja sitten matalaa jännitettä toisen mokoman verran (=valo sammuu sekunniksi):

Ja sitten ei muuta kuin levyihin ja johtoihin käsiksi! Ensin Arduinon pinnistä 13 johto reikäpiirilevyn satunnaiseen reikään, vastus naapurireikään (jottei lamppu poksahtaisi), ledin toinen viiksi vastuksen pään viereen edelleen samaan kytkentäriviin, ja viimein ledin toisen viiksen viereen maadoitusjohto – ja maadoitus takaisin Arduinon GROUND-reikään. Ja vihdoin viimeisenä USB-kaapeli koneeseen, toinen pää Arduinoon ja koodia eetteriin!

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}

Ja sitten ei muuta kuin levyihin ja johtoihin käsiksi! Ensin Arduinon pinnistä 13 johto reikäpiirilevyn satunnaiseen reikään, vastus naapurireikään (jottei lamppu poksahtaisi), ledin toinen viiksi vastuksen pään viereen edelleen samaan kytkentäriviin, ja viimein ledin toisen viiksen viereen maadoitusjohto – ja maadoitus takaisin Arduinon GROUND-reikään. Ja vihdoin viimeisenä USB-kaapeli koneeseen, toinen pää Arduinoon ja koodia eetteriin!

Ei tapahtunut mitään. Lamppu ei syttynyt. Arduino-levyssä kyllä syttyi valo, mutta ei ledissä. Kuumeista mietintää, missä vika. Koodissa se ei voinut olla, olinhan prujannut sen luotettavasta lähteestä. Jäljet johtivat kytkentäsylttytehtaalle – ja sieltähän se virhe löytyikin: olin järkeillyt ledin viikset väärinpäin, se lyhyempi olikin maadoitusviiksi (ja minä kun järkeilin, että pidempi – pidempi kun ulottuu syvemmälle maahan). Siispä lamppu ympäri ja johan lähti lamppu vilkkumaan!

Eikä homma jäänyt todellakaan yhteen kokeiluun. Seuraavaksi tein kahden lampun vilkutushärvelin, jossa lamput syttyvät ja sammuvat vuorotellen. Tämän koodin osasin jo järkeillä ihan itsekin. Taloutemme ammattilaiskoodari neuvoi vaihtoehtoisen tavan saada sama vilkutusefekti aikaiseksi, kokeilin sitäkin. Ja sen avulla keksin laajentaa valoinstallaatiotani Ritari Ässän KITT-auton nokasta tutuksi syttyvien ja sammuvien ledien rivistöksi.

Aivan valtavan kivaa! Innostukseltani pystyn formuloimaan kolme ajatusta tästä aiheesta:

  1. Jos et ole koskaan koodannut, mutta haluaisit kokeilla, etkä tiedä mistä aloittaa – aloita tästä!
  2. Voi vitsit, jos lukion fyssan tunnilla olisi sähköoppia opetettu tällä tavoin! Onko vähän paljon kivempaa kuin piirrellä ruutupaperille jotain sarjaan kytkettyjä kuvitteellisia valoja.
  3. Kuinkahan vanhalle lapselle tällaisen voisi antaa joulu- tai synttärilahjaksi?