udarbejdet af Jeppe Bukh Madsen og Bjarke Mejlvang

Beskriv ideen med applikationen

Vi har i denne opgave valgt at arbejde videre med vores pf3 opgave. En af de ting vi nævnte i den opgave var, at det kunne være oplagt at tilføje en trådløs feature. Udover at arbejde med den trådløse del, havde vi også i tankerne at bruge hololensen til AR-delen i denne opgave. Da hololensen er til at bevæge sig rundt med virker det også logisk at vores controllers skal være trådløse. Selve ideen med vores applikation var at man skulle kunne bevæge sig rundt med hololensen i et rum fyldt med interaktive objekter. Her tænker vi at de forskellige interaktioner kunne fungere som et ‘puzzle solving games’. Spilleren skulle så flytte rundt på vores to grønne figurer og løse nogle logiske problemer med dem. Vi fokuserede dog først og fremmest på at få den trådløse controller og hololensen til at fungere. For at tilføje det trådløse element til vores system benyttede vi os af en lille bluetoothcontroller, som kunne sende signalet fra sensortrykket til vores kørende applikation.

Link til powerpoint præsentation

I powerpointen kan man se hvordan processen er forløbet fra start til slut:

https://www.dropbox.com/s/4pfe3zptjw337ck/Pf%204%20-%20Miniprojekt%20%5BGemt%20automatisk%5D.pptx?dl=0

I denne opgave har vi som i pf3 også valgt kun at benytte os af to tryksensorer. Dette har vi valgt da det virker intuitivt at have en sensor til hver hånd, som skal trykkes sammen for at få et udfald. Vi har tænkt os at benytte hololensen til at få AR hen over vores applikation. Man får så mulighed for at flytte rundt på vores to grønne figurer ved at kigge på dem (gaze) og ‘tappe’, hvorefter det er muligt at stille dem på et bord eller gulvet, som hololensen har ‘mappet’.

Fysisk system

Vores to tryksensorer er begge forbundet til ground og 5V, mellem ground og sensoren er der placeret en modstand på 220 ohm. Mellem modstanden og sensoren sidder vores signal kabel, som fra den ene sensor går til A0 og den anden til A1. Bluetooth controlleren er forbundet til 3,3V og ground og ellers forbundet til RX og TX fra RX-1 og TX-0 pinsne på bluetooth controlleren. TX er kanalen der sender data fra arduinoen og RX modtager signal fra spillet.

Nedenfor ses et screendump fra vores kørende applikation. Vi har ikke ændret noget grafisk på repræsentationen af information fra sensorerne, dog har vi tilføjet en lyd (skrig) når man trykker hårdt nok på en af sensorene.

Video af applikation

Vi har valgt at bruge de samme grønne figurer fra pf3 til at vise sammenhængen mellem det der måles og der der vises. For at påvirke vores grønne figurer skal sensorerne trykkes på og figurende ændre størrelse og form, relativt til hvor de er stillet henne i rummet. Som vi også nævner i pf3 virker interaktionen med sensorene intuitivt med hvad der sker på skærmen/hololensen.

Kode-highlights

Først læser vi vores værdi og gemmer dem i et array og deler streamen op med split funktionen.

Efter det gemmer vi værdien ud i to enkelte værdier som en float via parse funktion.

            sensorValue = stream.ReadLine().Split(',');

            value1 = float.Parse(sensorValue[0]);
            value2 = float.Parse(sensorValue[1]);

Disse værdier burger vi så til at scale vores væsner, ved at sætte dem ind i en vector3.

            ting1.transform.localScale = new Vector3(1f - value2 / 500, 1f - value2 / 500, 1f + value1 / 100f);
            ting2.transform.localScale = new Vector3(1f - value1 / 500, 1f - value1 / 500, 1f + value2 / 100f);

Det sidste vi gør er at ændre materiale farven, dette gøres med en color32 hvilket gør at vi kan sætte RGB værdierne med værdier mellem 0 og 255, som passer på de værdier vi får ind fra arduinoen.

            rend1.material.color = new Color32((byte)value1, (byte)(255 - value1), 1, 255);
            rend2.material.color = new Color32((byte)value2, (byte)(255 - value2), 1, 255);

Persketiverping

Vi nåede desværre ikke at få applikationen til at kører på selve hololensen, men kun få afspillet det i unitys holographics emulater ved hjælp af xbox controller til at flytte rundt på figurene. Dette skylles at den måde vi ser vores data via usb-porte ikke kunne virke på hololensen. Udover hololens-delen, kunne vi tænke os at arbejde videre med flere forskellige sensorer til andre interaktioner (puzzel solving rummet).

Leave a Reply