Miške različnih oblik in cenovnih razredov vsakodnevno lajšajo delo uporabnikom. Nesporno gre za izdelek, ki da ob dokaj zanemarljivem vložku visoke rezultate. Dan za dnem jih premikamo po podlagi, sem in tja jih je treba očistiti, to pa je največkrat edino opravilo, povezano z njihovim vzdrževanjem.

Poskusi premikanja po zaslonu z zunanjim »dodatkom« je star skoraj toliko kot prvi računalniki. Omenimo le dva primera. Primitivna sledilna kroglica (trackball) je bila razvita kot del tajnega vojaškega projekta v začetku petdesetih let. Dobrih deset let pozneje (1963) je bil v okviru Stanfordskega inštituta razvit prvi prototip miške. Prvo miško v povezavi z računalnikom je podjetje Xerox predstavilo leta 1981, a žal takrat ni bila deležna posebnega zanimanja. Pravi »boom« pa se je začel z uporabo miške z Applovimi Macintoshi. Končajmo kratek izlet v preteklost z napovedjo enega od znanih kolumistov, ki je v letu Georga Orwella, pred dobrimi petindvajsetimi leti komentiral prihodnost miške z besedami: »There is no evidence that people want to use these things« ali po naše »ni nobenih dokazov, da si ljudje želijo uporabljati te stvari.«

Vtablet omogoča različne vrste peres.

POSLANSTVO

Naloga miške je, da zazna dvodimenzionalno gibanje, ki se prevaja v gibanje kazalca na zaslonu osebnega računalnika. Mehanizmi so lahko različni. Pri mehanskih miškah se lahko kroglica na spodnji strani miške vrti v poljubni smeri in posredno vrti koleščka, ki sta nameščena pravokotno drug na drugega. Eno kolesce zazna smer po osi x (levo-desno), drugo pa po y (gor-dol). Pri drugačnem gibanju (npr. diagonalno) je rezultat gibanje obeh kolesc. Za zaznavanje gibanja služi preprost mehanizem – prek rež v kolescu lahko štejemo, kolikokrat smo spustili žarek infrardeče svetlobe skozi kolesce − več prehodov v časovni enoti pomeni večji premik miške v smeri, ki jo zazna kolesce. Ta preprost mehanizem je lahko tudi razlog za težave. Če kroglica ne drsi tekoče po mehanizmu za vrtenje (običajno se umaže gumica), je to vidno kot neenakomerno gibanje kazalca po zaslonu. Popolnoma enak mehanizem, kot smo ga opisali, lahko uporablja tudi »obrnjena« miška – sledilna kroglica. Novejše vrste mišk uporabljajo drugačne mehanizme. Optične miške nimajo kroglice, gibanje pa zaznavajo prek diod, ki oddajajo svetlobo, in fotodiod, prek katerih zaznamo odbiti žarek od podlage. Neprimerna podlaga ali rahel dvig miške od podlage naredita takšno miško neuporabno. Uporabljeni so lahko tudi drugi mehanizmi (npr. žiroskop), ki omogočajo izvedbo mišk in njim podobnih naprav za najrazličnejše potrebe.

Zaznavanje gibanja/premikanja miške dopolnjuje večje ali manjše število tipk oziroma gumbov, ki jim lahko dodelimo vlogo aktiviranja določenega opravila. Miška ima lahko dodatna kolesca, ki omogočajo hitrejše in lažje izvajanje določenih operacij (npr. gibanje zaslona). A praktično vse uporabljamo predvsem zaradi osnovne naloge − preprostejšega gibanja po zaslonu, ki je blizu naravnemu, ter možnosti, ki jih ponuja na tipkah definiran »klik«.

Shema svetlobnega peresa za Vtablet

KAKO SMO SPLOH LAHKO PREŽIVELI

Način priklopa miške in sam prenos signalov med miško in računalnikom nas kot uporabnika pogosto ne zanima. Uporabniki računalnikov smo takšne in drugačne miške v celoti posvojili. Vseeno pa se v določenih primerih odločamo za drugačne rešitve. Pri prenosnih računalnikih so zaradi praktičnosti miške in različne sledilne kroglice v veliki nadomestile drsne ploščice. Najrazličnejši oblikovalci, umetniki ter nasploh vsi tisti, ki se ukvarjajo z grafičnimi aplikacijami, prisegajo na grafične tablice. Našteli bi lahko še druge možnosti, a ker gre pogosto za izdelke, ki so lahko kompleksnejši in se izdelujejo v manjših serijah, je njihova cena višja. To pa ne spremeni dejstva, da gre v vseh primerih za soroden koncept gibanja po navidezni mreži umerjenega koordinatnega sistema, ki se prenaša v gibanje na računalniškem namizju.

V času prvih (malih) osebnih računalnikov na začetku zlatih osemdesetih, bi pomenila uporaba miške v vlogi, kot jo poznamo danes, nič drugega kot znanstveno fantastiko. To seveda ne pomeni, da za premikanje po zaslonu in druga opravila ni bilo mogoče uporabljati drugih pripomočkov kot smernih tipk na tipkovnici. Eden od teh je bilo svetlobno pero (light pen). Svetlobno pero je vhodna enota, ki deluje v kombinaciji z zaslonom na katodno cevjo (CRT-monitorji). S svetlobnim peresom »obstreljujemo« zaslon, kar povzroča spremembo osvetlitve na določenem mestu zaslona. Glede na znano pot žarka lahko zato natančno vemo, kje (torej poznamo koordinate x-y) je prišlo do spremembe. S svetlobnim peresom lahko uporabnik riše po zaslonu, podobno kot na grafično tablico. Lahko bi rekli, da je svetlobno pero v kombinaciji z zaslonom neke vrste predhodnik današnjih zaslonov, občutljivih na dotik.

Doma izdelano svetlobno pero

DOMAČE SVETLOBNO PERO

Sodobno svetlobno pero si lahko naredimo zelo preprosto tudi sami. Zaslona s katodno cevjo (CRT) najverjetneje nimate več (in ga tudi ne bomo potrebovali), saj za delovanje našega svetlobnega peresa ni potreben. Namesto žarka, ki sicer nadzoruje delovno površino CRT-zaslona, bo to vlogo prevzela kamera, priključena na osebni računalnik. Načeloma lahko uporabimo katerokoli USB-kamero, priporočljivo pa je izbrati takšno z večjo ločljivostjo. Za nadzor peresa bomo uporabili program Vtablet. Avtorjeva spletna stran v angleškem jeziku je žal že nekaj časa nedostopna, še vedno pa so dostopne informacije preko originalne strani (www.hwp.ru/Handmade/Vtablet/index.html) v ruskem jeziku. Lep dokaz, da je včasih dobro imeti lokalno kopijo programa.

Vtablet lahko uporabljamo na dva načina. Prvi je, da konico poljubnega pisala označimo z barvo oziroma barvnim materialom, ki vidno odstopa od okolice (npr. fluorescentno zelena, fluorescentno rumena …) ter delovnega namizja. Svetlobno pero pred uporabo umerimo tako, da pokažemo na oglišča delovne površine (ki jih pokriva vidno polje kamere). To bo tudi delovna površina našega svetlobnega peresa. Delovanje svetlobnega peresa izključimo in vključimo s tipko Scroll Lock. Druga možnost je izdelava preprostega svetlobnega peresa, ki ga priključimo na zaporedni vmesnik. Vezje svetlobnega peresa je resnično preprosto in ga lahko naredimo zelo hitro. Na 9-polnem priključku (DB9) med priključka dva (RxD − Receive Data) in tri (TxD − Transmit Data) priključimo stikalo. Od pritiska na to stikalo je odvisno, kdaj bo svetlobno pero »pritisnjeno« in kdaj ne. Med priključka sedem (RTS − Request To Send) in pet (SG − Signal Ground) vežemo zaporedno vezavo upora (od 1 do 5 kiloomov) in svetleče diode. Ker ni vseeno, kako priključimo svetlečo diodo, moramo paziti na ustrezno »polarizacijo« te (če ne deluje je obrnemo). Tako izdelano vezje lahko vdelamo v ohišje debelejšega flomastra in prek povezovalnega kabla priključimo na zaporedni vmesnik osebnega računalnika. Paziti moramo, da ne pride do neljubega kratkega stika, saj lahko v tem primeru uničite vmesnik – jasno je, da vse to počnete na lastno odgovornost. V vlogi svetleče diode lahko uporabimo običajne LED-diode (npr. rdeča, rumena, zelena, bela) ali IR (infrardeče). Ker je delovanje IR-diode človeškim očem nevidno, lahko njeno delovanje preverimo s fotoaparatom (npr. v mobilnem telefonu), ki lahko zazna delovanje IR-diode. Na tak način lahko preverimo tudi delovanje drugih tovrstnih naprav (npr. TV daljinskega upravljalnika). Uporaba IR-diode ima še eno prednost. S preprostim filtrom, ki ga izdelamo iz fotografskega filma in ga namestimo pred kamero, bodo motnje okolice izločene, zato bosta delovanje in natančnost še boljša.

Camera Mouse

SLEDI MOJIM GIBOM

Postavitev kamere, ki nadzoruje delovno površino, po kateri premikamo svetlobno pero, je lahko včasih moteča. Namesto gibanja peresa po ploskvi, kot smo ga vajeni pri grafičnih tablicah, lahko uporabimo v vlogi miške dele telesa. Uporabimo lahko opisani Vtablet, a rezultati niso najboljši, zato smo uporabili brezplačni program Camera Mouse (www.cameramouse.org). Razvoj programa je spodbudila želja po pomoči osebam s posebnimi potrebami. Camera Mouse deluje v kombinaciji s poljubno programsko opremo v okolju Windows (Windows 7, Vista, XP). Trenutno aktualna različica nosi oznako Camera Mouse 2010 v 2.2. Pri morebitnih težavah lahko poskusimo tudi z namestitvijo starejše različice (2008).

V našem primeru smo imeli nameščeno v računalniku tudi hibridno TV-kartico (analogno in DVB-T), ki med drugim podpira tudi zajem analognega TV-signala. Poleg priključene USB-kamere je Camera Mouse zato zaznal tudi TV-kartico in ponudil možnosti izbire med kamerami (USB in videokamere prek TV-kartice). Pri izboru Philipsove USB-kamere smo imeli pri zagonu težave. Zato smo izbrali drugo možnost (WinFast DTB1000S Analog Capture) in po uspešnem zagonu programa izbrali možnosti Change Video Source ter izbrali kamero, priključeno na USB-vmesnik. Po tem koraku je kamera uspešno delovala skupaj s programsko opremo. Grafični vmesnik Camera Mouse je razumljiv in z njim lahko hitro definiramo delovanje naše »miške«. Če želimo, da sta smer gibanja naše glave in miške na zaslonu enaka, in ne zrcalna, moramo aktivirati možnost Reverse Horizontal Movement. Camera Mouse sicer uspešno sledi gibom, a je za praktično delo sam paket precej omejen – z aktivirano možnostjo Clicking bo po nastavljenem času (npr. 1 s) »negibanja« kazalca na določenem mestu izveden klik – to pa je na nivoju klikanja naše miške tudi vse.

Zaradi relativne omejenosti programa Camera Mouse lahko dodamo različne namenske programe, ki jih najdemo na strani www.cameramouse.org/downloads.html. Ker gre za večjo skupino programov, omenimo le nekatere. ClickAid omogoča izvajanje operacij, kot smo jih vajeni z miško (npr. dvoklik, desni klik, vlečenje objekta …). Podoben, a zmogljivejši je program Point-N-Click. Uporabi navidezne tipkovnice je namenjen Click-N-Type. Zelo dobra kombinacija je Camera Mouse + Pal Browser + Click-N-Type. Če vam čas dopušča in vas tematika zanima, priporočam, da si ta paket ogledate in ga sami preizkusite.

Za program Camera Mouse je na voljo veliko dodatkov.

TAKO IN DRUGAČE

Programov, ki so sorodni programu Camera Mouse, je kar nekaj. Eden od teh je odprtokodni eViacam (http://sourceforge.net/projects/eviacam/files/), ki je ga lahko uporabimo v okolju Windows in Linux. Program deluje na prvi pogled nekoliko preprostejše, a vseeno delujhe solidno in že vsebuje potrebne dodatke za delovanje miškem, omogoča pa tudi uporabo preproste tipkovnice na zaslonu (Microsoftova zaslonska tipkovnica).

Mehanizem sledenja določenemu predmetu pa so nad vsemi pričakovanji dodelali pri CamSpace (www.camspace.com/). Njihova programska opreme omogoča v okenskem okolju (Microsoft Windows 7, Vista, XP, 2003, 2000 in 98) pridih dodatne dimenzije. Programska oprema v kombinaciji z USB-kamero ne zazna le pomika v smeri osi x in y oziroma gor-dol ter levo-desno, temveč na podlagi spremembe velikosti zaznanega objekta »zazna« tudi približevanje in oziroma oddaljevanje objekta in morebitno vrtenje tega. Potrebno programsko opremo lahko prenesemo s strani www.camspace.com/downloads. V našem primeru smo večkrat (vsaj desetkrat) poskusili s prenosom prek povezave ADSL a se je prenos končal vedno predčasno. Težavo je rešil šele prenos s tako imenovanim upraviteljem prenosov, v našem primeru je bil to Free Download Manager − www.freedownloadmanager.org/). Po končani namestitvi programske opreme se prek spleta prijavimo v strežnik prek naslova elektronske pošte. Ob prijavi dobimo minimalni »kredit«, katerom lahko »kupimo« eno igro – druge lahko le preizkušamo (običajno nekaj minut) oziroma izvedemo pravi nakup.

V nadzorni plošči operacijskega sistema lahko opazimo, da CamSpacem namesti dve navidezni igralni palici. V ozadju deluje patentirana tehnologija CamTrax, ki omogoča sledenje poljubnemu objektu (kriterij sta barva in oblika/obris) v realnem času ob razmeroma majni porabi procesorske moči z uporabo spletne kamere. CamSpace omogoča nadomestitev tipkovnice, miške ali igralne palice. Kot objekt, ki mu kamera »sledi«, lahko uporabimo najrazličnejše predmete (npr. kartonski obroč namesto volana, označimo lahko konice prstov ...), saj smo omejeni predvsem z lastno domišljijo. Objekt zaklepamo na sledenje tako, da poiščemo dobro osvetljeno ozadje, ki naj ne bo v enaki barvi kot naše oblačilo (npr. srajca) ali stena za nami. Pritisnemo tipko SHIFT+~ ali izberemo gumb LOCK. Ko se prikaže tarča, postavimo želeni objekt na sredino in izvedemo gib navzdol.

Eviacam je na voljo tudi za Linux.

S CamSpacom lahko igramo poljubno igro v okolju Windows. Če je vmesnik za igro že kdo pripravil, ga CamSpace Agent samodejno zazna. Sicer lahko vmesnik naredimo sami. Pa si poglejmo, kako. Najprej zaženemo CamSpace (Start > All Programs > CamSpace > CamSpace). Ko se izvede zagon, kliknemo na desni miškin gumb in izberemo Developer Tools > Create New > Controler For External Games. V čarovnik vnesemo ime poljubno ime krmilnika (npr. mojMikro) in pokažemo na program, za katerega želimo, da je povezan z našim krmilnikom. Ker želimo CamSpace uporabiti kot miško, vnesemo v polje Tracked Objects Mouse in izberemo možnost Emulate Mouse. Do natančnejših nastavitev pridemo s klikom možnosti Mouse Settings. Če želimo, da ob od gibanja (leve oziroma desno) objekta odvisen tudi miškin klik, omogočimo Turn to Click, sicer pa Use Keyboard − posledica je, bodo pritiski tipk ( Z, C in X) zaznani kot kliki miškinih tipk (leva, desna, sredinska). Ko smo z rezultatom zadovoljni, krmilnik shranimo (npr. na delovno namizje), kjer ga lahko tudi zaženemo. Če z rezultatom nismo zadovoljni, se na shranjenem mestu (v našem primeru ikona mojmikro.camspace) postavimo z miško (desni klik) in izberemo možnost (Open With − CamSpace Application) in izvedemo želene spremembe. Zavedati se je treba, da je vsak krmilnik unikaten za program (ali igro), za katerega je bil pripravljen.

Nekje b spletu sem zasledil tak opis CamSpacea: »Uporabite kateri koli objekt za nadzor katere koli igre.« Kljub vsem pohvalam pa je treba upoštevati nekaj osnovnih pravil. Prvi in zelo pomemben korak je zagotavljanje ustrezne osvetlitve, saj vam sicer še tako dobra kamera ne bo pomagala. Pri tem se moramo zavedati, da dobra osvetlitev pomeni takšno osvetlitev objekta, da bo lahko kamera ustrezno zaznala njegove barve – z drugimi besedami, biti moramo v prostoru, ki je zelo dobro osvetljen, ali pa moramo poskrbeti za dodatne vire, ki so postavljeni tako, da bo lahko kamera ustrezno ločila barven tone in obliko objekta. Po zagotovitvi ustrezne svetlobe pride na vrsto objekt, ki mu bomo sledili. Še enkrat opozorimo na barvo, ki naj bo čim bolj drugačna od vsega, kar sicer kamera zazava. Ob zaklepanju objekta preverimo, ali kamera pravilno zazna, da smo objekt umaknili iz vidnega polja kamere, in ali zazna, ko ga vrnemo. Veliko koristnih namigov najdemo tudi na naslovu www.youtube.com ob vnosu ključne besede CamSpace.

CamSpace ponuja več kot le zaznavanje gibanja po oseh x-y.

ŠE PA ŠE ...

Do zdaj opisane možnosti vsaj na prvi pogled delujejo dokaj preprosto. Programsko opremo lahko zaženemo brez večjih težav, precej več časa pa potrebujemo za optimiranje, ki da prave rezultate. Kljub temu se bo verjetno marsikomu porodila kakšna uporabna ideja za uporabo v svojem primeru. V nadaljevanju bomo spoznali še nekaj drugih možnosti, med njimi vmesnik Wii Remote (»Wiimote«), ki je namenjen uporabi z Nintendovimi konzolami Wii in ga povezali z osebnim računalnikom.


ZANIMIVOSTI IN NASVETI
• Vsem vhodnim enotam, ki so namenjene gibanju po zaslonu, je skupno gibanje po navideznem koordinatnem sistemu. Ena od možnosti za ustvarjanje delovne površine je tudi uporaba vidnega polja kamere.
• V vlogi objekta, ki mu kamera sledi, lahko uporabimo različne predmete. Pomembno je, da objekt s svojo obliko in/ali barvo čim bolj odstopa od svoje okolice. Pomembno vlogo pri zaznavanju objektov imajo velikost objekta (ne prevelik in ne premajhen), ločljivost kamere in osvetlitev. Pri »aktivnih« objektih, ki oddajajo lastno svetlobo (npr. laserski kazalnik ) pa lahko pomenita slaba osvetlitev ali popolna tema tudi prednost.
• Kljub uporabi podobnih mehanizmov (zaznavanje gibanja prek USB-kamere) se lahko rezultati med programsko opremo glede na objekt sledenja bistveno razlikujejo. Tip objekta, ki mu sledimo, je zato eden glavnih kriterijev za izbiro.
• Z USB-kamero sledimo običajno gibanju objekta v dveh dimenzijah (xy). Z uporabo ustreznega algoritma pa lahko na podlagi spremembe velikosti objekta, ki mu sledimo, definiramo tudi pomik naprej oziroma nazaj.
• Z USB-kamero največkrat sledimo enemu objektu, ki ga uporabimo v vlogi sledenja miške. Z ustrezno programsko opremo pa lahko sledimo hkrati več objektom, njihovo medsebojno lego pa je mogoče »nadgraditi« z dodatno funkcionalnostjo.

Moj mikro, oktober 2010 | Marko Koblar