Yleistä

Sähkömoottori voidaan käynnistää ja sammuttaa halutuksi ajaksi käyttäen Arduino-kehitysalustaa.

Pyörittääksesi sähkömoottoria tarvitset avuksi transistorin. Transistori on katkaisija, jota voidaan käyttää Arduinon digitaali pinneistä otettavalla virralla. Transistori katkoo Arduinosta saatavaa 5V sähkövirtaa. Transistorin käyttäminen on välttämätöntä, koska suoraan Arduinon digitaalipinneistä saadaan vain 30mA sähkövirta, joka riittää ledin sytyttämiseen, mutta moottori vaatii käynnistyäkseen usein reilusti yli 200mA

Osat

Sähkömoottori

Meta-Boxin irtokomponenteissa tuleviin moottoreihin on lisätty johdot, jotka helpottavat moottorin liittämistä koekytkentälevyyn.

Transistori (BD139)

Transistori on kuin ohjelmoitava katkaisija. Transistorin on kestettävä tarpeeksi suuri sähkövirta (ampeerit), joka riippuu käytettävästä moottorista. Esimerkissä käytetään BD139 transistoreja.

 

 

Vastus (220ohm)

Värikoodi: Punainen-punainen-ruskea-kulta

Diodi

Diodilla suojataan transistoria, sillä sähkömoottori toimii myös generaattorina silloin, kun se jatkaa pyörimistä vapaasti, ilman sille annettua sähkövirtaa.

Arduino

Koekytkentälevy

 

 

Hyppylangat

 

 

USB-kaapeli (A-B)

 

Kytkennät

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 oikesiin kohtiin Arduinossa.

Huomaathan että transistorin asennolla ja diodin suunnalla on merkitystä.

Ohjelmoiminen

Graafinen ohjelmointi

  1.     Avaa Arduino IDE
  2.     Kytke Arduino UNO koneeseen USB kaapelilla
  3.     Avaa Arduino IDE ja lataa Arduinoon Firmata-koodi. Kuvasta näkyy, mistä koodi löytyy.

4. Avaa Snap4Arduino-ohjelmointiympäristö.
5. Rakenna koodi esimerkin mukaan. Muista yhdistää Arduino ohjelmaan painamalla ohjelman valikosta ”Connect Arduino”. (Klikkaa
kuva suuremmaksi.)

 

Koodin rakentaminen Snap4Arduino ohjelmointiympäristössä

  1.     Valitse Ohjaus-välilehdestä ”kun painetaan välilyönti” (huom. ´välilyönti´ löytyy komennon alasvetovalikosta.)
  2.     Valitse Ohjaus-välilehdestä ”toista (  ) kertaa”-komento ja raahaa se rakennettavan ohjelmakoodin jatkoksi. Täytä kenttään haluamasi kerta toistoja. Aloita pienellä toistomäärällä ja kasvata lukua kun kytkentä ja koodi toimii.
  3.      Valitse Arduino-välilehdestä aktiiviseksi digitaalipinni 6. Raahaa jälleen komento jatkoksi toista-komennon sisälle. Katso esimerkkikuvasta näkymä. Mikäli kytket useamman moottorin ohjelmoitavaksi, aktivoi aina se digitaalipinni, mihin kyseisen moottorin kytket.
  4.     Valitse Ohjaus-välilehdestä ”odota (  ) sekuntia”-komento ja raahaa se komennon jatkoksi. Tämä komento määrittelee kuinka monta sekuntia moottori on päällä.
  5.     Tämän jälkeen se tulee sammuttaa. Ilman sammutuskomentoa moottori olisi päällä jatkuvasti. Valitse siis jälleen Arduino-valikosta ”set digital pin (6) to…”-komento, raahaa se komennon jatkoksi ja määritä se sammuttamaan signaali.
  6.     Määritä lopuksi kauanko moottori pidetään pois päältä ennen palaamista toistokomennon alkuun. Käytä tähän jällleen Ohjaus-valikon ”odota (  ) sekuntia”-komentoa.

Painamalla välilyöntiä, moottori käynnistyy ja sammuu määrittelemäsi määrän kertoja.

Tekstipohjainen ohjelmoiminen

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. Tutustu koodin rakentumiseen joko kirjoittamalla koodi kokonaan itse ohjeiden mukaan, tai kopioimalla kokonainen koodi sivun lopusta. 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.

6. Koodi rakentuu kahdesta funktiosta: setup-funktiosta ja loop-funktiosta. Ensimmäisen setup-funktion voi ajatella käynnistävän Arduinon ja aktivoivan 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.

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

7. 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ä.

void loop() {
digitalWrite(13, HIGH);

8. 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.

delay(1000);

9. Komento ”digitalWrite(13, LOW);” määrittää ledin pois päältä.
Jälleen ”delay(1000);”-komennolla led pidetään sekunnin ajan pois päältä.

digitalWrite(13, LOW);
delay(1000);
}

10. Lopuksi vielä kokonainen koodi:

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

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

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ä voisit pyörittää moottorilla?

Voit seuraavaksi kokeilla joko interaktivisten graafisten ohjelmien tekemistä Processing-ohjelmointialustalla tai testata miten liiketunnistin toimii!