Laiteprototyypin kehitys avoimen lähdekoodin työkaluilla
Ropponen, Asko (2023)
Ropponen, Asko
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023051711334
https://urn.fi/URN:NBN:fi:amk-2023051711334
Tiivistelmä
Erityistarkoituksiin tarkoitettuja sovelluksia, kuten esimerkiksi ääni- tai videoeditointiohjelmia ohjataan usein erillisellä ohjaimella kuin pelkästään tietokoneen hiirellä ja näppäimistöllä. Usein nämä ohjaimet ovat tarkoitettu ammattikäyttöön, ja ovat täten hintavia. Opinnäytetyön tavoitteena oli kehittää tällaisen ohjainlaitteen prototyyppi avoimen lähdekoodin työkaluja käyttäen, selvittääkseen onko mahdollista toteuttaa käyttökelpoinen laite harrastelijoiden saatavilla olevilla työkaluilla ja menetelmillä.
Suunnittelun lähtökohtana vertailtiin muutamaa olemassa olevaa laitetta ominaisuuksiltaan, ja tarkasteltiin mitä ominaisuuksia suunniteltavaan laitteeseen tulisi sisällyttää. Laitteessa käytettiin mikrokontrollerina Arduino Micro mikrokontrolleria ja laitteeseen suunniteltiin myös piirilevy ja fyysinen kotelo. Kotelo suunniteltiin Blender ohjelmassa, ja piirilevy KiCad-ohjelmistossa. Kotelo valmistettiin 3D-tulostamalla, ja piirilevy hankittiin erältä piirilevyjen valmistajalta. Laitteen ohjelmisto ohjelmoitiin Arduino-kehitysympäristössä, hyödyntäen valmiita ohjelmakirjastoja jotka helpottavat ohjelmiston kehittämistä. Työssä käytettiin esimerkiksi kirjastoja jotka emuloivat HID-laitteita, kuten hiirtä ja näppäimistöä. Ohjainlaite toimii emuloiden näppäimistön ja hiiren liikkeitä, jotta tietokoneelle ei täytyisi asentaa erillistä ajuriohjelmistoa, jolloin laite on mahdollisimman monikäyttöinen.
Ohjainlaitteen suunnittelu ja toteutus onnistui hyvin avoimen lähdekoodin työkaluja käyttäen. Huomattiin kuitenkin että avoimen lähdekoodin CAD-ohjelmistot eivät ole kovin helppokäyttöisiä, tästä syystä laitekotelo suunniteltiin Blender 3D-mallinnussovelluksessa, joka on tarkoitettu enemmänkin animaation ja grafiikan tekoon kuin fyysisten esineiden suunnitteluun. Blender soveltuukin 3D-tulostettavien kappaleiden suunnitteluun muutaman lisäosan avulla.
Lopullista ohjainlaitetta testattiin musiikintuotantosovelluksen kanssa. Ohjainlaite todettiin toimivaksi ja hyödylliseksi, joskin potentiaalisia muutoksia ja tulevaisuuden kehityskohteita ilmeni. Vaikka laite toimii laajalti eri sovelluksissa lähettämällä yksinkertaisia näppäinkomentoja ja hiiren liikkeitä, on useimmissa sovelluksissa eri pikanäppäimet kuin toisissa, joten yksi laitteen konfiguraatio ei käy joka sovellukseen. Lisäksi jokin toinen mahdollinen tapa lähettää komentoja, kuten esimerkiksi MIDI-standardi, olisi hyödyllinen joidenkin sovellusten kanssa. Kaiken kaikkiaan, ohjainlaite kuitenkin oli sopiva tarkoitukseensa.
Suunnittelun lähtökohtana vertailtiin muutamaa olemassa olevaa laitetta ominaisuuksiltaan, ja tarkasteltiin mitä ominaisuuksia suunniteltavaan laitteeseen tulisi sisällyttää. Laitteessa käytettiin mikrokontrollerina Arduino Micro mikrokontrolleria ja laitteeseen suunniteltiin myös piirilevy ja fyysinen kotelo. Kotelo suunniteltiin Blender ohjelmassa, ja piirilevy KiCad-ohjelmistossa. Kotelo valmistettiin 3D-tulostamalla, ja piirilevy hankittiin erältä piirilevyjen valmistajalta. Laitteen ohjelmisto ohjelmoitiin Arduino-kehitysympäristössä, hyödyntäen valmiita ohjelmakirjastoja jotka helpottavat ohjelmiston kehittämistä. Työssä käytettiin esimerkiksi kirjastoja jotka emuloivat HID-laitteita, kuten hiirtä ja näppäimistöä. Ohjainlaite toimii emuloiden näppäimistön ja hiiren liikkeitä, jotta tietokoneelle ei täytyisi asentaa erillistä ajuriohjelmistoa, jolloin laite on mahdollisimman monikäyttöinen.
Ohjainlaitteen suunnittelu ja toteutus onnistui hyvin avoimen lähdekoodin työkaluja käyttäen. Huomattiin kuitenkin että avoimen lähdekoodin CAD-ohjelmistot eivät ole kovin helppokäyttöisiä, tästä syystä laitekotelo suunniteltiin Blender 3D-mallinnussovelluksessa, joka on tarkoitettu enemmänkin animaation ja grafiikan tekoon kuin fyysisten esineiden suunnitteluun. Blender soveltuukin 3D-tulostettavien kappaleiden suunnitteluun muutaman lisäosan avulla.
Lopullista ohjainlaitetta testattiin musiikintuotantosovelluksen kanssa. Ohjainlaite todettiin toimivaksi ja hyödylliseksi, joskin potentiaalisia muutoksia ja tulevaisuuden kehityskohteita ilmeni. Vaikka laite toimii laajalti eri sovelluksissa lähettämällä yksinkertaisia näppäinkomentoja ja hiiren liikkeitä, on useimmissa sovelluksissa eri pikanäppäimet kuin toisissa, joten yksi laitteen konfiguraatio ei käy joka sovellukseen. Lisäksi jokin toinen mahdollinen tapa lähettää komentoja, kuten esimerkiksi MIDI-standardi, olisi hyödyllinen joidenkin sovellusten kanssa. Kaiken kaikkiaan, ohjainlaite kuitenkin oli sopiva tarkoitukseensa.