Yleistä

Miksi ohjelmoidun ilmiön pitäisi tapahtua vain näytöllä, kun se voi tapahtua esimerkiksi liikkeenä, äänenä tai valona missä vain?  Miten saat ledin päälle ja pois ja vilkkumaan halutulla nopeudella, eli taajuudella?

Huom! Tarvitset tehtävään tietokoneen.

Voit tehdä kytkennän alla mainituilla osilla tai hyödyntää valmista permaproto-kytkentää, jonka löydät Meta-boxi tarvikkeista. Permaproto-kytkennän kanssa tarvitset Arduino-mikrokontrollerin, tietokoneen ja USB-johdon.

Osat

Arduino

Mikrokontrolleri voi olla myös merkitltään Genuino, mutta mallin tulee olla UNO.

Vastus

220 ohmia (Värikoodi: punainen, punainen, ruskea, kulta).

 

USB-kaapeli (A-B)

Koekytkentälevy

Led

Voit kokeilla eri värisiä tai kokoisia ledejä.

Hyppylangat

Kytkentä

Tee alla oleva kytkentä ennen siirtymistä ohjelmointi osioon. Voit tehdä kytkennän joko edellä mainituista irto-osista tai kokeilla ensin valmiilla perma-proto kytkennällä. Tällöin riittää että kytket hyppylangat kuvan mukaisesti oikeisiin kohtiin Arduinossa.

Huomaathan että ledin suunnalla on väliä, joten laita pitkä ja lyhyt ledin jalka kuvan mukaisesti. Pidempi jalka on kuvassa taitettu. Vastuksen suunnalla ei ole väliä. Hyppylankojen värillä ei ole väliä.

Ohjelmointi

Graafinen ohjelmointi Snap4Arduinolla

Snap4Arduino ja Arduino-mikrokontrollerin yhdistäminen
  1.     Avaa Arduino IDE.
  2.     Kytke Arduino UNO koneeseen USB kaapelilla.
  3.     Avaa Firmata-koodi ylävalikosta (Tiedosto->Esimerkit->Firmata->StandartFirmata).  Lataa koodi Arduinoon painamalla oikealle osoittavaa nuolta Arduino-ohjelman ylälaidassa.
  4.     Kun Arduino IDE on ladannut Firmatan (Alalaidassa lukee ”Lähetetty”) sulje Arduino IDE.

Avaa Snap4Arduino-ohjelmointiympäristö ja yhdistä Arduino-mikrokontrolleri ohjelmointiympäristöön painamalla ”Connect Arduino” turkoosin värisestä Arduino-valikosta.

Koodin rakentaminen Snap4Arduino -ohjelmointiympäristössä

Rakenna koodi esimerkin mukaan.

 

  1. Raahaa oranssista Ohjaus-välilehdestä ”kun klikataan (vihreä lippu)” -palikka ruudun keskellä olevalle Skriptit alueelle.
  2. Valitse Arduino-välilehdestä ”set digital pin (  ) to < >”-komento ja raahaa se rakennettavan ohjelmakoodin jatkoksi. 
  3. Valitse pinniksi pinni nro 13 avaamalla edellisen komennon alasvetovalikko mustasta alaspäin osoittavasta nuolesta.
  4. Klikkaa ”to”  sanan perässä olevaan timantinmuotoista laatikkoa jolloin pinni 13 aktivoituu (muuttuu vihreäksi).
  5. Klikkaa vihreää lippua oikeassa ylälaidassa. Ledin pitäisi syttyä.

Olet nyt sytyttänyt ledin. Saat ledin sammumaan seuraavasti:

  1. Valitse Ohjaus-välilehdestä “odota (1) sekuntia”-komento ja raahaa se koodin jatkoksi.
  2. Mene Arduino-välilehteen ja raahaa koodin perään”set digital pin (  ) to < >” palikka. Muuta pinnin numero taas 13:sta, mutta jätä käynnistys nappi off-asentoon.
  3. Klikkaa vihreää lippua oikeassa ylälaidassa.

Voit myös luoda vilkkuvan ledin lisäämässä edellisen koodin ympärille toistorakenteen.

  1. Aloita lisäämällä edellisen komennon jatkoksi odotus-komento, valitsemalla Ohjaus-välilehdestä ”odota (1) sekuntia” ja raahaa tämä koodin jatkoksi. Tätä vaihetta tarvitaan, jotta led pysyisi myös pois päältä tietyn aikaa.
  2. Toistorakenne löytyy Ohjaus-välilehdestä. Valitse toistokomento ”toista (10) kertaa”-komento ja raahaa se ”kun klikataan (vihreä lippu) alle ja muut koodit sisälle.
  3. Paina taas vihreää lippua, niin koodi aktivoituu.
  4. Voit muokata toistojen määrää korvaamalla luvun 10 haluamallasi toistomäärällä sekä muuttaa vilkkumisen taajuutta (eli nopeutta) vaihtamalla odotettavaa aikaa ledien päällä olon välillä esimerkiksi sekunnin murto-osiksi.

Muistathan että muokattu koodi tulee aina ladata uudelleen Arduinoon.


 

Tekstipohjainen ohjelmointi Arduino IDE:ssä

  1. Avaa Arduino IDE ohjelmointiympäristö.
  2. Kytke Arduino kiinni koneeseen USB A-B kaapelilla.
  3. Avaa uusi ohjelmointialusta valitsemalla Tiedosto valikosta Uusi
  4. Kopioi ja liitä seuraava koodi ohjelmointialustalle.
  5. Lataa koodi Arduino kehitysalustaan painamalla ylälaidassa olevaa oikealle osoittavaa nuolta eli Lähetä-painiketta. Mikäli lataamisessa ilmenee ongelmia, palaa lukuun Arduinon perusteisiin ja tarkista että oikea dataportti on valittu.

 

void setup() {

  pinMode(13, OUTPUT);

}

void loop() {     

  digitalWrite(13, HIGH);  

  delay(1000);          

  digitalWrite(13, LOW);

  delay(1000); 

}

 

Koodi rakentuu kahdesta funktiosta: setup-funktiosta ja loop-funktiosta. Ensimmäisen setup-funktion voi  ajatella käynnistävän Arduinon ja kaikki ne pinnit, joita tullaan käyttämään. Siinä määritellään, että pinni 13 valmistautuu antamaan ulos sähkövirtaa. Pinni 13:aan on liitetty ledin (+)-jalka ja (–)-jalka Arduinon GND pinniin.

Loop-funktio puolestaan toteuttaa varsinaisen toiminnan Arduino-kehitysalustalla. Tätä koodia luetaan ylhäältä alas. Esimerkkikoodissa pinni 13 aktivoidaan antamaan sähkövirtaa komennolla ”digitalWrite(13, HIGH);” Puolipiste (;) päättää komennon ja on siksi erittäin tärkeä.

Seuraava komento on ”delay(1000);” joka määrittää, että edellinen komento pidetään toiminnassa 1000 millisekuntia, eli yhden sekunnin ajan. Tämän jälkeen siirrytään seuraavalle koodin riville.

Komento ”digitalWrite(13, LOW);” määrittää ledin pois päältä.

Jälleen ”delay(1000);”-komennolla led pidetään sekunnin ajan pois päältä.

Kokeile rohkeasti muuttaa delay(1000)-komennon aikoja. Kokeile esimerkiksi kolmen sekunnin vilkutusta laittamalla delayn arvoksi 3000. Muistathan että muokattu koodi tulee aina ladata uudelleen Arduinoon.

 

Mitä seuraavaksi?

Osaisitko rakentaa liikennevalot? Lisää kytkentään ledejä ja ohjelmoi ne syttymään vuorollaan.

Voit myös siirtyä kokeilemaan painokytkintä!