Un joc interactiv de masă bazat pe Arduino și Virtools - Descărcare gratuită PDF
Un joc interactiv de masă bazat pe Arduino și Virtools Jakob F. Leitner D I P L O M A R B E I T 05/1/0305/016 trimis la masteratul Universității de Științe Aplicate în mass-media digitală din Hagenberg în septembrie 2007

Declarație Prin prezenta declar în locul jurământului că am scris prezenta lucrare în mod independent și fără ajutor din exterior, că nu am folosit alte surse sau ajutoare decât cele date și că am marcat pasajele preluate din alte surse ca atare. Hagenberg, la 5 septembrie 2007 Jakob F. Leitner iii
Cuprins Explicație Prefață Rezumat Rezumat iii vii viii ix 1 Introducere 1 1.1 Motivație. 1 1.2 Interactivitate. 4 1.3 Structura. 5 2 Lucrări conexe 7 2.1 Platforme de masă. 7 2.1.1 DiamondTouch. 7 2.1.2 TARBoard. 8 2.1.3 Vizualizări TV. 8 2.1.4 Introducere. 9 2.1.5 STELE. 9 2.1.6 reactivizare. 9 2.2 Aplicații de masă. 10 2.2.1 Falși profeți. 10 2.2.2 Vizionari TV Masă Joc de rol. 10 2.2.3 KnightMage. 11 2.2.4 Vânătoarea Snark. 11 2.2.5 Citiți-l. 11 2.2.6 CarettaKids. 11 2.2.7 Zeii vremii. 12 2.2.8 monkeybridge. 12 2.2.9 joacă oriunde. 12 2.2.10 Coliseum mărit. 13 iv
CUPRINS v 3 Concept 14 3.1 Idee. 14 3.2 Modele de rol. 14 3.2.1 Mașina incredibilă. 15 3.2.2 Domino. 18 3.3 Proiectarea jocului. 18 3.4 Proiectarea interacțiunii. 20 3.4.1 Interacțiunea cu jucătorul. 20 3.4.2 Interacțiunea cu componentele fizice ale jocului . 22 4 Principii tehnologice 24 4.1 Software. 24 4.1.1 Virtools. 24 4.1.2 vvvv. 26 4.2 Hardware. 26 4.2.1 Anoto. 27 4.2.2 Arduino. 31 5 Implementare 34 5.1 Principiul jocului. 34 5.2 Hardware. 35 5.2.1 Tabel. 35 5.2.2 Meniuri Anoto. 36 5.2.3 Cutie senzor Arduino. 41 5.2.4 Portaluri Comino. 45 5.3 Software. 50 5.3.1 Comunicare cu Arduino. 50 5.3.2 Comunicare în vvvv. 52 5.3.3 Comunicarea în C ++. 53 5.3.4 Comunicarea în Virtools. 57 5.4 Implementarea în Virtools. 64 5.4.1 Primii pași. 64 5.4.2 Tehnici de interacțiune. 65 5.4.3 Modele 3D. 66 5.4.4 Integrarea Arduino. 68 5.4.5 Integrarea Anoto. 70 5.4.6 Nivelul organizației. 73 5.4.7 Integrarea ajutorului. 74 5.4.8 Aplicație Virtools independentă. 75 5.5 Proiectare nivel. 76 5.5.1 Nivelul 1. 76 5.5.2 Nivelul 2. 77 5.5.3 Nivelul 3. 78 5.6 Proiectarea interacțiunii. 79
CUPRINS vi 5.6.1 Instalare. 79 5.6.2 Ștergeți. 81 5.6.3 Răsturnarea. 82 5.6.4 Mutare. 82 6 Discuție 84 6.1 Intrare. 84 6.1.1 Interacțiunea stiloului. 84 6.1.2 Meniuri Anoto. 86 6.2 Joc. 86 6.2.1 Proiectarea interacțiunii. 86 6.2.2 Proiectarea nivelului. 87 6.2.3 Scopul jocului. 87 Ediția 6.3. 88 6.3.1 Ieșire grafică. 88 6.3.2 Perspectiva camerei. 88 6.3.3 Portaluri Comino. 88 6.3.4 Audio. 90 7 Concluzii 91 7.1 Rezumat. 91 7.2 Obiective atinse. 91 7.3 Outlook. 93 A Conținutul CD-ROM-ului 96 A.1 Teza de diplomă. 96 A.2 Prezentare generală. 96 A.3 Aplicația Comino. 96 A.4 Unelte Comino. 97 A.5 fișiere Maya. 97 A.6 Fișiere Virtools. 97 A.7 fișiere Visual Studio. 97 A.8 fișiere vvvv. 98 A.9 Imagini și grafică. 98 A.10 Material de referință. 98 Bibliografie 99
Cuvânt înainte Această lucrare este dedicată părinților mei, care m-au susținut în tot ceea ce am făcut până acum și cărora le datorez mult în viață. Mulțumesc și fraților și prietenilor care mă însoțesc și mă inspiră în munca mea și în viață și mulțumesc prietenului meu pentru răbdarea și afecțiunea ei, pe care mi le arată chiar și în perioadele aglomerate. Nu în ultimul rând, vă mulțumesc din toată inima conducătorului meu, căruia îi datorez multe succese în studiile mele și a cărui motivație inepuizabilă este o sursă constantă de inspirație și interese noi nu numai pentru mine. vii
CAPITOLUL 2. LUCRU RELATIVĂ 13 sisteme de masă sunt conectate în rețea, permițând interacțiunea cu utilizatorii la distanță. 2.2.10 Augmented Coliseum [17] Augmented Coliseum le permite jucătorilor să aibă roboți miniaturali reali care să concureze între ei într-un duel cu arme virtuale. Jocul se joacă pe o suprafață de joc care este proiectată de sus. Mișcările roboților sunt controlate de modele speciale, proiectate, care sunt citite pe roboți de mai multe diode foto. Robotul urmărește imaginea proiectată imediat ce este mutat pe suprafața de joc. Jucătorul are diferite funcții ofensive și defensive care sunt proiectate pe zona de joc virtuală din jurul robotului real. Jucătorii se duelează cu arme virtuale care pot fi trase din propriul robot. Dacă unul dintre roboți este distrus, acest lucru este indicat de o explozie virtuală.
CAPITOLUL 4. BAZE TEHNOLOGICE 27 Figura 4.3: Captura de ecran din vvvv prezintă un subpatch dintr-un proiect vvvv. utilizare bună și documentație extinsă. Utilizarea mai multor componente în același timp a fost, de asemenea, importantă, deoarece conceptul a fost conceput pentru mai mulți utilizatori. Următoarele secțiuni descriu hardware-ul selectat care a fost utilizat pentru a implementa interfețele utilizator Comino. 4.2.1 Anoto După cum sa menționat deja în secțiunea 3.4.1, sunt necesare două interfețe pentru ca utilizatorul să interacționeze cu domino-urile virtuale. Prima interfață ar trebui să permită utilizatorului să comute între acțiunile individuale din joc, a doua interfață servește ca dispozitiv de indicare a interacțiunii pe suprafața de joc. Utilizarea stilourilor digitale bazate pe tehnologia Anoto 7 a făcut posibilă implementarea ambelor interfețe folosind un singur dispozitiv hardware. Pixurile sunt denumite stilouri Anoto în cele ce urmează. Comutarea între diferitele funcții 7 http://www.anoto.com/
CAPITOLUL 4. PRINCIPII TEHNOLOGICE 30 (a) (b) Figura 4.5: Când se utilizează cerneală care nu acoperă modelul Anoto, diferite interfețe utilizator pot fi imprimate pe hârtie fără a fi perturbată recunoașterea (a). Aceste interfețe grafice de utilizator sunt apoi operate cu ajutorul unui anotopick (b). Baterie-LED Conexiune-LED Putere-LED Mine Ochi de reținere Unitate optică Diodă cu lumină infraroșie Filtru optic Vibrator Baterie reîncărcabilă litiu-ion Procesor Bluetooth Diode cu lumină Cip de memorie (1 MB) Procesor de procesare a imaginii Senzor de presiune Procesor principal componentele principale. Gama de infraroșu. Unitatea optică a stiloului, format din filtru, cameră și diodă, funcționează în zona care nu este vizibilă pentru ochiul uman. Dioda emite lumina necesară urmăririi și astfel permite creionului să fie utilizat chiar și în condiții de iluminare foarte întunecate. Cu o rată de înregistrare cuprinsă între 50 și 100 de imagini pe secundă, camera asigură recunoașterea chiar și a mișcărilor rapide ale stiloului. Datele înregistrate de cameră sunt deja procesate în stilou. Prelucrarea imaginii are loc în propriul său profesionist-
CAPITOLUL 5. IMPLEMENTARE 40 Figura 5.5: În Freehand MX există o funcție pentru modificarea relațiilor de culoare ale unui grafic în meniul Xtras-> Colors-> Color Control. (a) (b) (c) Figura 5.6: Figura arată copiile designului meniului principal care au fost reduse la componentele cyan (a), magenta (b) și yellowfrab (c) utilizând meniul Control culoare. Rândul inferior conține setările meniului pentru rezultatul prezentat mai sus. zonele sensibile individuale ale interfeței pot fi calibrate. Piesele individuale pot fi tipărite în orice ordine! Odată ce interfața a fost calibrată, aceasta poate fi tăiată la dimensiune și integrată în diferite componente. Figura 5.7 prezintă meniul principal Comino decupat. Pentru a proteja împotriva zgârieturilor, hârtia tipărită a fost fixată între două geamuri acrilice.
CAPITOLUL 5. IMPLEMENTARE 43 prize DIN prize RCA intrări/ieșiri Cutie senzor Descriere cablu Culoare Intrări/ieșiri de putere Masă Arduino + 5V Intrări analogice (analogice I) Intrări/ieșiri digitale (I/O digitale) 0 1 2 3 4 5 2 3 4 5 6 7 8 9 PWM 1 1 0 1 1 1 2 3 conector baril USB LED + 5V ieșire la masă + 5V mini-DIN * alb 1 mini-DIN alb 2 mini-DIN negru 1 masă + 5V digital I/O digital I/O masă PWM + 5V I/O digitală I/O digitală Masă PWM + 5V analogică I/O digitală I Mini-DIN negru 2 masă + 5V analogică I/O digitală I RCA ** masă albastră PWM RCA masă roșie digitală I/O O RCA pământ verde I/O digital Pământ portocaliu digital I/O pământ date LED atribuire pin RCA: * 4 pini ** RCA este denumirea internațională a conectorului pentru Cinch Mini-DIN: conector baril: semnal semnal semnal semnal + 5V pământ + 5V pământ Figura 5.9: Reprezentare schematică a cutiei senzorului. Liniile orizontale arată cablajul de la prize la pinii Arduino, care sunt reprezentate de linii verticale. Pe marginile din stânga și din dreapta există ilustrații schematice ale prizelor instalate. Alocarea pinilor prizelor utilizate este prezentată în partea inferioară.
CAPITOLUL 5. IMPLEMENTARE 44 Figura 5.10: Cutia senzorului fără capac. Cele patru prize cinch sunt deasupra celor patru prize mini-DIN. Conectorul cilindru și LED-ul nu sunt încă adăugate la cutia senzorului din această figură. Cablu senzor cu LED RGB albastru RCA roșu RCA verde RCA portocaliu + ieșire 5V Controler Arduino Figura 5.11: Cablarea celor patru prize RCA ale cutiei senzorului. Pentru a putea oferi instrucțiuni ușor de înțeles pentru conectarea componentelor jocului, s-au folosit prize diferite de culoare.
CAPITOLUL 5. PUNEREA ÎN APLICARE 49 domino-uri LED-uri controlabile servovirale LED cu braț Figura 5.17: Cu ajutorul unui servomotor la care este atașat un braț pivotant, interfața V2R poate transmite impulsuri mecanice către domino-uri reale. (a) (b) (c) Figura 5.18: Amplasarea corectă a domino-urilor este, de asemenea, de o mare importanță pentru acest portal (a). Declanșat de un eveniment virtual, brațul pivotant (b) se mișcă înapoi și dă peste domino dedesubt (c). sunt stabiliți diferiți parametri ai sistemelor de particule, care sunt proiectate în jurul portalurilor din joc. Figura 5.19 prezintă interacțiunea cu stiloul, precum și parametrii modificabili din joc. În plus față de feedback-ul proiectat, utilizatorul poate primi și feedback direct prin portal. În Comino, utilizatorii trebuie mai întâi să activeze cele două portaluri înainte de a putea fi utilizate în joc. Acest lucru se face cu stilourile Anoto direct pe interfață. Prin deplasarea stiloului lateral, utilizatorul poate schimba culoarea sistemului de particule aparținând portalului. Capacul
CAPITOLUL 5. IMPLEMENTARE 54 Figura 5.21: Captura de ecran prezintă patch-ul principal al comunicării Firmata în vvvv. Separat vizual de bara verticală din mijloc, patch-ul include atât citirea în intrări, cât și scrierea ieșirilor controlerului Arduino. Variabilele pentru ieșirile controlerului Arduino sunt create în partea de sus a patch-ului, intrările în partea de jos. Implementarea vvvv a servit ca o platformă de test pentru comunicarea cu Arduino.
CAPITOLUL 5. IMPLEMENTARE 62 Figura 5.23: Captură de ecran a dialogului de setări al Arduino BB. Permite setarea tuturor parametrilor relevanți pentru comunicarea cu Arduino. în implementarea adaptării unui receptor UDP care primește toate datele importante despre stilou și care a fost încapsulat într-un bloc de construcții pentru utilizare în Virtools. Anoto-BB funcționează numai în combinație cu un transmițător UPD deja disponibil (transmițător Anoto), care nu a trebuit să fie schimbat pentru a fi utilizat cu Comino. Figura 5.24 prezintă vizualizarea grafică a Anoto-BB în Virtools. Anoto-BB este, de asemenea, integrat într-un exemplu de script din grafică. Variabilele conectate la parametrii de intrare deasupra Anoto-BB desemnează numerele de identificare (ID-uri) ale stilourilor utilizate. Dacă unul dintre ID-urile stiloului definite de utilizator se potrivește cu unul dintre ID-urile stiloului unui pachet de date primit, valorile sunt salvate.