- Concepte:
- Materials necessaris:
- Esquemes i maquinari:
- Programa per a Arduino:
- Programa per al processament:
- Treball:
Aquest és un projecte molt interessant en el qual aprendrem a implementar la realitat virtual mitjançant Arduino i Processing. Per a la majoria de nosaltres, la pel·lícula Iron man de Jon Favreau sempre ha estat una inspiració per construir coses noves que ens facin la vida més fàcil i divertida. Personalment, he admirat les tècniques que es mostren a la pel·lícula i sempre he volgut construir alguna cosa similar a això. Per tant, en aquest projecte he intentat imitar les coses de realitat virtual que passen a la pel·lícula, com si simplement poguéssim agitar la mà davant l’ordinador i moure el punter a la ubicació desitjada i realitzar algunes tasques.
Aquí us mostraré com podeu simplement agitar la mà davant de la càmera web i dibuixar alguna cosa a l'ordinador. També us mostraré com podeu alternar llums movent pràcticament la mà i fent clic amb els dits a l’aire.
Concepte:
Perquè això passi, hem d’aprofitar el poder d’ Arduino i Processament combinats. La majoria coneixeria Arduino, però el processament pot ser nou. El processament és una aplicació com Arduino i també és de codi obert i de descàrrega gratuïta. Mitjançant Processament podeu crear aplicacions senzilles del sistema, aplicacions d'Android i molt més. També té la capacitat de fer processament d’imatges i reconeixement de veu. És com Arduino i és molt fàcil d’aprendre, però no us preocupeu si sou completament nou en processar perquè he escrit aquest tutorial bastant senzill perquè qualsevol persona amb interès pugui fer que això funcioni en poc temps.
En aquest tutorial fem servir Processament per crear una aplicació senzilla del sistema que ens proporciona una interfície d’usuari i fer un seguiment de la posició de la mà mitjançant el processament d’imatges. Ara, hem de fer clic esquerre i dret amb els nostres dits. Per fer això, he utilitzat dos sensors de sala (un al dit índex i l’altre al dit mig) que llegirà l’Arduino Nano. L'Arduino també transmet l'estat de clic a l'ordinador sense fils mitjançant Bluetooth.
Pot semblar complicat, però, confieu en mi; no és tan dur com sembla. Així que donem una ullada als materials necessaris perquè aquest projecte estigui en marxa.
Materials necessaris:
- Arduino Nano
- Sensor Hall (A3144) - 2Nos
- Un petit tros d’imant
- Mòdul Bluetooth (HC-05 / HC-06)
- Bateria de 9V
- Connexió de cables de la placa de punts.
- Un parell de guants
- IDE Arduino (programari)
- Processament IDE (programari)
- Un ordinador amb càmera web i Bluetooth (també podeu utilitzar Bluetooth o càmera web externa per al vostre ordinador)
Esquemes i maquinari:
La part de maquinari d’aquest projecte és molt senzilla i fàcil de construir. A continuació es mostra l’esquema complet.

L’Arduino, les resistències i els passadors de berg es solden en una placa de punts, tal com es mostra a continuació.

El sensor de sala i el mòdul Bluetooth es solden a un cable del connector, tal com es mostra a continuació.

Un cop preparades aquestes dues seccions, es poden muntar sobre guants perquè sigui fàcil d'utilitzar. He utilitzat guants de plàstic d’un sol ús que es poden comprar a qualsevol botiga mèdica a prop vostre. Heu d'assegurar-vos que l'imant aparegui al dit polze i que el sensor hall 1 i el sensor hall 2 estiguin presents abans del dit índex i del dit mig respectivament. He utilitzat cintes d'ànec per assegurar els components al seu lloc. Un cop muntats els components, hauria de ser semblant a això.

Ara obrim l'IDE Arduino i comencem a programar.
Programa per a Arduino:
L’objectiu d’aquest codi Arduino és llegir l’estat del sensor de sala i transmetre’ls mitjançant el mòdul Bluetooth. També ha de rebre dades de Bluetooth i canviar el LED integrat en funció del valor entrant. El programa complet es dóna al final d’aquest tutorial; També he explicat algunes línies a continuació.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Comproveu si es premen tecles noves {if (HallState_1 == BAIX && HallState_2 == BAIX) Aisha.write (1); if (HallState_1 == HIGH && HallState_2 == BAIX) Aisha.write (2); if (HallState_1 == LOW && HallState_2 == HIGH) Aisha.write (3); if (HallState_1 == HIGH && HallState_2 == HIGH) Aisha.write (4); }
Com es mostra a les línies anteriors, basat en l'estat del sensor de sala, el Bluetooth escriurà un valor particular. Per exemple, si el sensor de sala 1 és alt i el sensor de sala 2 és baix, emetrem la vàlua "2" mitjançant el mòdul Bluetooth. Assegureu-vos d’escriure els valors al mòdul BT i no imprimir-los. Perquè serà fàcil llegir l'única part del processament només si està escrita. A més, el valor només s'enviarà si no és el mateix que el valor anterior.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, BAIX);
Aquestes línies s’utilitzen per alternar el LED integrat que està connectat al pin 13, en funció del valor que rep el mòdul BT. Per exemple, si el mòdul rep una "y", el LED s'encén i si rep una "n", s'apaga.
Programa per al processament:
El propòsit del programa de processament és crear una aplicació del sistema que pugui actuar com una interfície d’usuari (interfície d’usuari) i també realitzar processaments d’imatges per fer un seguiment d’un objecte concret. En aquest cas, seguim l'objecte blau que hem enganxat als guants que hi ha a sobre. El programa té bàsicament quatre pantalles.
- Pantalla de calibració
- Pantalla principal
- Pantalla de pintura
- Pantalla de commutació LED
Podem navegar d’una pantalla a una altra simplement agitant les mans i arrossegant les pantalles a l’aire. També podem fer clics als llocs desitjats per canviar el LED o fins i tot dibuixar alguna cosa a la pantalla.
Podeu copiar i enganxar el programa de processament complet (que es dóna al final) i modificar-lo en funció de la vostra creativitat o descarregar simplement els fitxers EXE des d’aquí i seguir els passos següents per iniciar l’aplicació.
- Instal·leu JAVA al vostre ordinador si no l’heu instal·lat abans
- Instal·leu You Cam perfecte a l'ordinador
- Enceneu el vostre Arduino i emparegeu l’ordinador amb el mòdul Bluetooth
- Inicieu el fitxer de l'aplicació
Si tot va bé, hauríeu de poder notar que el LED del mòdul Bluetooth s’estableix i que la llum de la càmera web s’encén. Si teniu algun problema, contacteu amb mi a través de la secció de comentaris i us ajudaré.
Mireu el vídeo al final per saber com calibrar la vostra aplicació i utilitzar-la.
Si voleu modificar el codi i incorporar-hi més funcions, podeu utilitzar les següents idees del programa
L'IDE de processament es pot descarregar des d'aquí. Si voleu obtenir més informació sobre el processament i crear projectes més interessants, visiteu els tutorials aquí.
El processament té la capacitat de llegir dades de sèrie, en aquest programa les dades de sèrie provenen del port COM Bluetooth. Heu de seleccionar a quin port COM us connecteu el Bluetooth mitjançant aquesta línia següent
port = new Serial (this, Serial.list (), 9600);
Aquí he triat la meva 1 st port COM que és COM5 en el meu cas (veure imatge a sota) i m'he esmentat que per Bluetooth carreres de mòduls en 9600 bauds.

Com s'ha dit, el processament anterior també té la possibilitat de fer processament d'imatges, en aquest tutorial les imatges s'envien dins l'esbós mitjançant una càmera web. A cada imatge fem un seguiment d’un objecte concret. Per obtenir més informació, visiteu aquest tutorial.
He fet tot el possible per explicar el programa (donat al final) a través de les línies de comentaris. Podeu descarregar els fitxers aquí.
Si voleu saber més sobre l’esbós, podeu contactar amb mi a través de la secció de comentaris i us ajudaré.
Treball:
Quan el maquinari i el programari estiguin a punt, utilitzeu els guants i prepareu-vos per fer alguna acció. Ara, simplement engegueu l'Arduino i, a continuació, inicieu l'aplicació. El led del mòdul Bluetooth hauria de mantenir-se estable. Ara vol dir que la vostra aplicació del sistema ha establert un enllaç Bluetooth amb el vostre Arduino.
Obtindreu la següent pantalla on heu de seleccionar l'objecte que voleu fer el seguiment. Aquest seguiment es pot fer simplement fent clic a l’objecte. En aquest cas l'objecte és el disc Blau. Ara podeu moure l'objecte i notar que el punter segueix l'objecte. Utilitzeu un objecte de color únic i una habitació lluminosa per obtenir els millors resultats.

Ara toqueu el dit polze amb el dit índex i hauríeu de veure el missatge "Tecla 1 premuda" i, quan premeu el polze amb el dit central, hauríeu de veure "Tecla 2 premuda", això indica que tot funciona bé i que s'ha acabat el calibratge. Ara feu clic al botó Fet.


Un cop premut el botó Fet, se us dirigirà a la pantalla principal on podreu pintar a l'aire o alternar el LED de la placa Arduino tal com es mostra al vídeo següent.
