...
Ohjaus veneen päässä toteutettiin Arduino -mikro-ohjaimella. Ohjaustiedot lähettävältä tietokoneelta vastaanotetaan Satel-radiomodeemilla, joka on kiinni sarjaväylässä. Tietojen perusteella ohjataan PWM-lähdöillä kahta sähkötoimista karamoottoria, jotka säätävät vesijetin kauhaa ja suutinta, ja veneen työntövoimana toimivaa sähkömoottoria CAN-väylän viesteillä. Can-väylältä otetaan lisäksi vastaan tietoja mm. akuilta ja GPS:ltä. Vastaanotetut tiedot lähetetään radiomodeemilla takaisin ohjaustietokoneelle.
Arduinon ohjelmointi
Arduino on yksinkertaista ohjelmoida ohjelmointiympäristöllä, joka toimitetaan laitteen mukana. Kieli on C:tä, jossa on mukana Arduinon omia kirjastoja. Ohjelmalla onnistuu myös koodin syöttäminen Arduinoon, jolloin tehty ohjelma käynnistyy aina, kun Arduinoon kytketään virrat.
Ohjausohjelmassa käytettiin Arduinon omien kirjastojen lisäksi CAN-kirjastoa, joka on CAN-shieldin käyttökirjasto. Sarjaväylän lukemiseen ja kirjoittamiseen käytettiin Serial-kirjastoa. Ohjelman lähdekoodi on erillisessä tiedostossa.
Ohjausohjelman ohjelmointi
Ohajaustietokoneen ohjelma ja käyttöliittymä tehtiin Qt-ohjelmointiympäristöllä. Käyttöliittymään tehtiin säätömahdollisuudet sarjaväylän käyttämiseksi ja toimilaitteiden ohjaamiseksi tehtiin säätöpalkit ja 2-akselisen ohjaussauvan asemaa simuloiva kenttä, jossa koordinaatistoa klikkaamalla voi säätää lähetettäviä ohjaustietoja. Käyttöliittymään tehtiin lisäksi veneeltä vastaanotettavat tiedot näyttävät elementit sekä sarjaväylän asetukset.
Sarjaliikenne toteutettiin Minicanopen-kirjaston Serial-osiolla. Sarjaliikenne ja muut tarvittavat funktiot tehtiin omaan säikeeseen, jotta käyttöliittymä olisi niistä erillään ja ohjelma toimisi mahdollisimman sulavasti.
...