Sisältö

  1. Yleistä
  2. Video
  3. Osat
  4. Kytkennät
  5. Ohjelmoiminen

_________________

Mitä seuraavaksi?

MITÄ TÄHÄN?

Yleistä

Tässä ohjeessa käydään läpi buttonin, eli painokoytkimen käyttö Arduinolla. Kytkimellä voit ohjata esimerkiksi valoa, moottoria tai itseasiassa mitä vain Arduinoon liitettyä laitetta.

(kuva: valokuva kytkennästä) – ROI OTTAA

Laite voidaan ohjelmoida tunnistamaan erilaisia ärsykkeitä ympäröivästä maailmasta. Tällöin tarvitaan sensoreita. Sensorien avulla laitteen voi rakentaa aistimaan erilaisia asioita, kuten kosketusta tai tunnistamaan valoisuutta. Laite joka tunnistaa kosketuksen on yksinkertaisinta rakentaa painokytkimellä. 

Aloita katsomalla aiheesta video.

Osat

Led

Käytä kytkennässä tavallisia ledejä tavanomaisilla väreillä (punainen, keltainen, vihreä, sininen).

Vastus

Valitse vastukseksi 330 ohmin vastus. Vastuksen väreinä on oranssi, oranssi, ruskea, kultainen.

Painokytkin

Painokytkin yhdistää virtapiirin, kun sitä painetaan. Sen voi ajatella olevan kuin laskusilta, joka painuu alas nappia painamalla ja päästää sähkön kulkemaan lävitseen.

Arduino

 

 

Ohjelmoiminen

Graafinen ohjelmoiminen

  1.     Avaa Arduino IDE
  2.     Kytke Arduino UNO koneeseen USB kaapelilla
  3.     Avaa Arduino IDE ja lataa Arduinoon Firmata-koodi. (File->Examples->Firmata_>StandartFirmata). Klikkaa kuva suuremmaksi.
     
  4.     Avaa Snap4Arduino-ohjelmointiympäristö ja aktivoi Arduino ohjelmointiympäristöön painamalla ”Connect Arduino”. Katso kuvasta.
  5.     Rakenna koodi esimerkin mukaan.


Koodin rakentaminen Snap4ARduino ohjelmointiympäristössä

  1.     Valitse Control-välilehdestä ”when (green flag) clicked” (kuvake mukaan tähän).
  2.     Valitse Control-välilehdestä ”if < >”-ehtolause ja raahaa se rakennettavan ohjelmakoodin jatkoksi. (Katso esimerkkikuva).
  3.     Valitse Operators-välilehdestä ”on suurempi kuin” eli ”[ ] > [ ]”-ehtolause ja raahaa se ”if < >”-ehtolauseen sulkujen sisään.     (Katso esimerkkikuva).
  4.     Seuraavaksi määritellään, mitä Arduino lukee ja milloin se tunnistaa että nappi on painettu alas. Määritä äsken rakennettuu kenttään luettavaksi Arduino-välilehdestä ”analog reading 0”-komento. Määritä raja-arvoksi 50 jälkimäiseen kenttään. (Katso esimerkkikuva). (Iiron pitää tarkistaa raja-arvo).
  5.    Sitten määritellään mitä ledille tapahtuu kun nappulan painaminen on tunnistettu Arduinossa. Valitse Arduino-välilehdestä ”set digital pin (10) to ON”.
  6.    Käynnistä ohjelma painamalla Snap4Arduinosta vihreää lippua. Kun nyt painat nappia, syttyy led päälle.
  7.   Seuraavaksi ohjelmoidaan toinen nappula sammuttamaan ledin.
  8.     Valitse

….KESKEN

TÄMÄN VOISI SANOA SELVEMMIN TAI ONKO ESIMERKKI JOSSAIN, ALLA SIIS VAIN VILKUTUS: Voit rakentaa koodin myös siten, että eri komennot näppäimiä painamalla käynnistävät ja sammuttavat ledin. Tai 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 Control-välilehdestä wait(1)secs ja raahaa tämä koodin jatkoksi. Tätä vaihetta tarvitaan, jotta led pysyisi myös pois päältä tietyn aikaa.
  2.     Toistorakenne löytyy Control-välilehdestä.
  3.     Valitse toistokomento ”repeat (10)”-komento ja raahaa se edellisen koodin ympärille (ks.kuva)
  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ä.

Tekstipohjainen ohjelmoiminen

  1.     Avaa Arduino IDE ohjelmointiympäristö
  2.     Kytke Arduino kiinni koneeseen USB A to B kaapelilla.
  3.     Kopioi seuraava koodi ohjelmointiympäristöösi.

void setup() {

 pinMode(13, OUTPUT);

}

void loop() {     

 digitalWrite(13, HIGH);  

 delay(1000);          

 digitalWrite(13, LOW);

 delay(1000);

}

  1.     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.
  2.     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ä.
  3.     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.
  4.     Komento ” digitalWrite(13, LOW); ” määrittää ledin pois päältä.
  5.     Jälleen ”delay(1000)”-komennolla led pidetään sekunnin ajan pois päältä.
  6.     Lataa koodi Arduino kehitysalustaan painamalla ”Upload”. Mikäli lataamisessa ilmenee ongelmia, palaa lukuun Arduinon perusteisiin ja tarkista että oikea dataportti on valittu.

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?

MITÄ TÄHÄN?