Tämä on yleisin ratkaisu jos ohjelma ei siirry Arduinolle. Oikea malli
(board) ja portti (port) valitaan Tools-valikosta. Mehackit
board vastaa toteutukseltaan Arduino UNOa. Tarkista tämä aina
ensin jos ohjelma ei siirry Arduinolle!
Processing-koodin ohjaaminen Arduinolla
Processing-animaatioista voi tehdä interaktiivisia käyttämällä näppiksen tai hiiren sijaan mikrokontrolleria kuten Arduinoa. Arduino on ohjelmoitava minitietokone, johon voi kytkeä antureita ja erilaisia elektronisia laitteita kuten ledejä ja moottoreita. Arduinoa käytetään mm. prototyyppien, fyysisten käyttöliittymien ja robottiprojektien toteuttamiseen. Arduinosta on olemassa monenlaisia versioita, ja tässä esimerkissä käytetään Arduino UNO:n kanssa samalla tavalla toimivaa Mehackit Maker Boardia.
Arduinoon kytkettävän etäisyyssensorin tuottamat arvot lähetetään Processing-ympäristöön sarjaliikenteen välityksellä.
Lataa Arduinon ohjelmointiympäristö
Virtapiiri
Tee kytkentä, jossa liität etäisyysanturin kytkentäalustan kautta Arduinon
- GND eli maadoitusporttiin
- 5V eli jänniteporttiin sekä
- A0 eli analogiseen anturiporttiin numero 0.
Kytkennässä näkyy myös ääntä tuottava summeri, joka on mukana lähinnä lisämausteena. Summeri on kytketty GND-porttiin sekä digitaaliseen porttiin numero 8.
Kytkentään voi myöhemmin lisätä uusia antureita.
Arduino saa virtaa tietokoneeseen kytkettävän USB-johdon välityksellä.
Katsaus Arduinon ohjelmointiympäristöön
Kun avaat Arduino IDE. Edessäsi on tämä näkymä:
Arduino IDE:llä laadittu ohjelma siirretään koneeseen USB-johdolla kytketylle Arduinolle klikkaamalla vasemman yläreunan nuolta.
Setup() ja loop() vastaavat Processingin setup- ja draw-funktioita. Kun Arduino käynnistyy, se suorittaa setupin sisällä olevat käskyt kerran. Tämän jälkeen Arduino siirtyy suorittamaan loopin sisällä olevat komennot ylhäältä alas, yhä uudestaan ja uudestaan.
Ongelmia Arduinon kanssa?
Joskus Mehackit boardille tai Arduinolle syöttämäsi ohjelma ei toimi, ja joskus ohjelma ei välttämättä siirry Arduinolle ylipäätään. Syitä tähän on monia, ja kuusi yleisintä ratkaisua haasteisiin esitellään tarkemmin alla!
1. Valitse oikea portti ja Arduinon malli Tools-valikosta.
2. Korjaa koodin virheet.
- Uudelleenkytke Arduinon USB-johto tai vaihda USB-porttia.
- Resetoi Arduino.
- Varmista, että digitaaliset portit 0 tai 1 eivät ole käytössä.
... tai kysy googlelta, ohjaajaltasi tai kaveriltasi!
Jos Arduino IDE antaa virheilmoituksen, voit googlata kyseisellä ilmoituksella ratkaisuja. Usein muut ovat painineet saman ongelman parissa ja ratkaisu löytyy joltakin foorumilta. Kysy myös rohkeasti muilta vinkkejä haasteisiisi!
Kopioi allaoleva ohjelma Arduino IDE:en ja lataa se Arduinolle.
void setup()
{
//käynnistetään sarjaliikenne nopeudella 9600:
Serial.begin(9600);
}
void loop()
{
// luetaan ja pyöristetään portista 0 luettava arvo:
float num = analogRead(0);
int distance = analogRead(1);
int buzzer = map(distance, 0, 2013, 100, 2000);
num = round(num);
int rounded = (int) num;
// soitetaan porttiin 8 kytketyn piezo-kaiuttimen kautta buzzer-muuttujaa vastaava nuotti
tone(8, buzzer);
// lähetetään pyöristetyt arvot sarjaporttiin:
Serial.println(rounded);
Serial.println(distance);
delay(100);
}
Video-kirjaston asentaminen
Ennen kuin voit testata tämän esimerkkiprojektin koodia, sinun täytyy asentaa Processing IDEen Video-kirjasto.
1.
2.
Kirjoita suodatuskenttään "video" ja löydettyäsi oikean kirjaston, klikkaa sen kohdalla "install".
Processing-ohjelman testaaminen
Kopioi Processing-koodi tästä linkistä
Käynnistä Processing-ohjelma ja testaa, kuinka etäisyysanturin avulla voi muutella ruudulla näkyvää kuvaa.
Tarkista Processingin konsolista sulkuihin tuleva numero - se tulostuu ensimmäiseksi riville, jolla näkyy Arduino-porttisi nimi.
Jos et muista Arduino-portin nimeä, tieto löytyy Arduino IDE:n valikosta Tools -\Port.
Kokeile muutella Processing-ohjelman arvoja, jotka vaikuttavat ruudulla näkyvien läiskien kokoon ja väriin!
Seuraavaksi
Voit käyttää Arduino- ja Processing-koodia pohjana uusille projekteille. Arduinolla voi ohjata Processingilla koodattuja animaatioita tai vaikka pelejä!
Vaihda tai lisää antureita ja ulostuloja Arduinoon, niin saat uusia ominaisuuksia käyttöön!