perjantai 22. tammikuuta 2016

Valopistooli tietokoneeseen

Sain jostain idean tutkailla olisiko mahdollista rakentaa oma pistooliohjain tietokoneeseen. Siis sellainen, kuin aikoinaan oli mm. Nintendon Zapper -pistooli.

Nintendo Zapper -valopistooli (Kuva Wikipediasta)

Löysin netistä Instructables -sivustolta malliksi yhden hyvän ohjeen josta katsoin vinkkejä. Eniten minua askarrutti, miten olisi mahdollista toteuttaa tähtäyksen tunnistaminen. Siihen löytyi yksinkertainen konsti webbikameran, ledien ja FreeTrack -ohjelman avulla. FreeTrack seuraa webbikameran kuvasta jotain tiettyä pistettä ja muuttaa pisteen liikkeen hiiren liikkeiksi ruudulla.  Ohjelma on tarkoitettu ilmeisesti lähinnä pään liikkeiden seuraamiseen esimerksiksi erilaisia simulaattoripelejä varten eikä varsinaisesti mihinkään fps-tyyliseen kädellä tähtäämiseen, mutta ajattelin kokeilla miten se toimisi tässä tarkoituksessa.

Piste pitää olla tarpeeksi kirkas, joka pomppaa selkeästi esiin muusta kuvasta. Pieni kameraan suunnattu ledi toimii vallan mainiosti tässä tarkoituksessa. Huoneen valaistuksen täytyy olla tarpeeksi hämärä jotta ledi erottuisi ympäröivästä valaistuksesta. Optimaalisin onkin käyttää inrapunalediä, jonka voi suodattaa muusta valosta, joten se toimii myös valoisassa huoneessa. Minulla ei ollut infrapunalediä saatavilla, niin tein nopean testin punaisella ledillä. FreeTrackin asentamisen jälkeen ei tarvinnut ihmeemmin säädellä ja olin jo heti ohjaamassa tietokonettani ledin avulla kuten alla olevassa videossa näkyy:

Video, jonka @luomisenvimma julkaisi

Instructablesin ohjeessa pistoolin nappulat oli toteutettu vanhan hiiren avulla jonka nappien rinnalle oli kytketty omat painonapit. Ohjeessa pistooliin on asennettu iso liuta nappuloita, jotta sillä voisi ohjata erilaisia toimintoja peleissä. Minulle riitti tässä vaiheessa mahdollisimman yksinkertainen toteutus ja ajattelin vain laittaa yhden napin liipaisimeen. Sain kämppikseltäni vanhan langattoman hiiren ja kirpputorilta ostin vesipyssyn ja kaukosäätimen. Näiden lisäksi tarvitsi vielä hieman johtoja ja painonappeja, jotka kaivelin omista miljoonalaatikoistani.

Valopistoolin perustarvikkeet: vesipyssy, hiiri ja kaukosäädin.
Aloitin avaamalla hiiren päästäkseni tutkimaan miten saisin omat kytkimeni hiireen liitettyä. Ruuvit olivat piilotettu hiiressä pohjaan kumitassujen alle. Sen jälkeen kuori lähti nostamalla ja piirilevy paljastui. Ruuvien irroittelusta huolimatta piirilevy ei oikein tuntunut irtoavan. En kehdannut sitä jäädä liian pitkäksi aikaa rassailemaan, koska sain piirilevyä sen verran nostettua, että pääsisin tinaamaan hiiren vasemman painikkeen liitoksiin omat piuhani.

Hiiri avattuna sen verran, että sain vasemma painikkeen mikrokytkimen juotoksiin (nuolet) liitettyä kiinni oman painikkeeni
Langaton hiiri ei ole enää ihan niin langaton
Kytkin vielä johdot paristoliittimeen ottaakseni sieltä virran ledille. Ruuvailin hiiren takaisin kasaan, tökkäsin paristot pesään ja vastaanottimen tietokoneeseen testatakseni hiirtä. Se toimi aivan kuin pitääkin. Kun yhdistin npin rinnalle kytkemäni johdot yhteen, tietokone tunnisti klikkauksen. Nyt ei enää tarvitsisi muuta kuin tehdä kytkennät pistooliin.

Avasin vesipyssin, mutta se ei ollut erityisen helppo homma, koska siinä ei ole mitään ruuveja, vaan tussari on liitetty kaikista saumoistaan tiiviisti yhteen liimaamalla tai sulattamalla. Sain sen väännettyä auki ensin nitkuttamalla auki muutamat kiinnikekohdat ja sitten kampeamalla kaikki saumat. Jos mahdollista, niin kannattaa tällaisia projekteja varten hommata joku ruuveilla kasattu kuulapyssy.
Vesipyssy avattuna
Kaukosäädin avattuna ja siinä infrapunaledi.
Onnistuin testatessani käräyttämään infrapunaledin jo ennen aikojaan. Mutta ei se mitään, käytin sen sijaan tavallista punaista ledia. Pistoolin liipasimen taakse ajattelin liimata jonkun pienen painonapin, joka menisi pohjaan kun taakse vedetty liipaisin siihen osuisi. Satuin kuitenkin löytämään romujeni seasta juuri sopivan painonapin joka kävi itsessään täydellisesti liipaisimeksi. Liimasin sen päähän kiinni vesipyssyn liipaisimen. Kytkimessä oli johdotkin valmiina ja samassa setissa oli myös pitkien johtojen päissä oleva ledikanta. Kävi tuuri, koska nämä olivat kuin tehtyjä osia tätä projektia varten ja niiden asentamisessa minun ei tarvinnut edes kolvia käyttää.

Elektroniikat asennettu pistoolin sisään

Punainen ledi kiinni kannassaan. Tarvittaessa on helppo vaihtaa uusi ledi vain vetämällä entinen pois kannastaan ja työntämällä uusi tilalle,

Liipaisin

Pistooli kasattu ja yhdistetty hiireen


Siinäpä se oli sitten täysin toimintavalmiina. En heti tiennyt sille vielä oikein sopivaa sovellusta jolla sitä testata, niinpä väänsin vielä hyvin nopeasti Clickteam Fusionilla vanhan Duck Hunt tyylisen testipelin:

Video, jonka @luomisenvimma julkaisi

Tämä oli aika hauska projekti ja yllättävää kuinka helppo se olikaan toteuttaa. Ohjain ei ole tietenkään erityisen tarkka ja sillä ei varsinaiseti voi tähdätä kohti ruutua kuten oikealla aseella, koska webbikamera ei pysty yhden pisteen perusteella päättelemään mihin aseen piippu on suunnattu. Se olettaa aina piipun suun olevan suoraan ruutua kohti. Kuitenkin ihan hauska vimpain se on ja varsinkin hauskinta oli sen väkertely. Jatkan ehkä joskus projektia eteenpäin. Ledin tilalle voisi vaihtaa infrapunaledin ja voisin koodailla jotain simppeleitä ja hauskoja kyseiselle aseelle räätälöityjä pelejä jos jotain hyviä ideoita mieleen tulee. Mutta se taas on sitten ihan oma projektinsa kokonaan.

Ei kommentteja:

Lähetä kommentti