- Concetto:
- Materiali richiesti:
- Schemi e hardware:
- Programma per Arduino:
- Programma per l'elaborazione:
- Lavorando:
Questo è un progetto molto interessante in cui impareremo come implementare la realtà virtuale utilizzando Arduino e Processing. Per la maggior parte di noi, il film Iron man di Jon Favreau è sempre stato un'ispirazione per costruire cose nuove che renderanno la nostra vita facile e più divertente. Ho personalmente ammirato i Tech che vengono mostrati nel film e ho sempre voluto costruire qualcosa di simile a quello. Quindi, in questo progetto ho cercato di imitare le cose di realtà virtuale che accadono nel film, come se potessimo semplicemente agitare la mano davanti al computer e spostare il puntatore nella posizione desiderata ed eseguire alcune attività.
Qui ti mostrerò come puoi semplicemente agitare la mano davanti alla webcam e disegnare qualcosa sul tuo computer. Ti mostrerò anche come puoi attivare / disattivare le luci muovendo virtualmente la mano e facendo clic con le dita in aria.
Concetto:
Per far sì che ciò accada, dobbiamo sfruttare la potenza di Arduino e Processing combinati. La maggior parte avrebbe familiarità con Arduino, ma Processing potrebbe essere una novità per te. Processing è un'applicazione proprio come Arduino ed è anche Open source e scaricabile gratuitamente. Utilizzando Processing puoi creare semplici applicazioni di sistema, applicazioni Android e molto altro. Ha anche la capacità di eseguire l'elaborazione delle immagini e il riconoscimento vocale. È proprio come Arduino ed è molto facile da imparare, ma non preoccuparti se sei completamente nuovo nell'elaborazione perché ho scritto questo tutorial abbastanza semplice in modo che chiunque sia interessato possa farlo funzionare in pochissimo tempo.
In questo tutorial utilizziamo Processing per creare una semplice applicazione di sistema che ci fornisce un'interfaccia utente e traccia la posizione della nostra mano utilizzando l'elaborazione delle immagini. Ora dobbiamo fare clic con il tasto sinistro e fare clic con il tasto destro usando le dita. Per farlo ho utilizzato due sensori di hall (uno sull'indice e l'altro sul medio) che verranno letti da Arduino Nano. L'Arduino trasmette anche lo stato del clic al computer in modalità wireless tramite Bluetooth.
Potrebbe sembrare complicato ma, fidati di me; non è così difficile come sembra. Quindi diamo uno sguardo ai materiali necessari affinché questo progetto sia attivo e funzionante.
Materiali richiesti:
- Arduino Nano
- Sensore Hall (A3144) - 2No
- Un piccolo pezzo di magnete
- Modulo Bluetooth (HC-05 / HC-06)
- Batteria da 9V
- Collegamento dei cavi Dot board.
- Un paio di guanti
- IDE Arduino (software)
- Elaborazione IDE (software)
- Un computer con webcam e Bluetooth (puoi anche utilizzare Bluetooth o webcam esterni per il tuo computer)
Schemi e hardware:
La parte hardware di questo progetto è molto semplice e facile da costruire. Lo schema completo è mostrato di seguito.
Arduino, resistori e pin berg stick sono saldati su una scheda a punti come mostrato di seguito.
Il sensore Hall e il modulo Bluetooth sono saldati a un cavo del connettore come mostrato di seguito.
Una volta che queste due sezioni sono pronte, possono essere montate sui guanti in modo che sia facile da usare. Ho usato guanti di plastica usa e getta che possono essere acquistati presso qualsiasi negozio di medicinali vicino a te. È necessario assicurarsi che il magnete si trovi sul dito pollice e che il sensore hall 1 e il sensore hall 2 siano presenti rispettivamente prima dell'indice e del medio. Ho usato nastri a papera per fissare i componenti in posizione. Una volta assemblati i componenti, dovrebbe assomigliare a questo.
Ora apriamo l'IDE di Arduino e iniziamo la programmazione.
Programma per Arduino:
Lo scopo di questo codice Arduino è leggere lo stato del sensore di hall e trasmetterlo utilizzando il modulo Bluetooth. Dovrebbe anche ricevere dati da Bluetooth e attivare il LED integrato in base al valore in ingresso. Il programma completo è fornito alla fine di questo tutorial; Ho anche spiegato alcune righe di seguito.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Controlla se vengono premuti nuovi tasti {if (HallState_1 == LOW && HallState_2 == LOW) Aisha.write (1); if (HallState_1 == HIGH && HallState_2 == LOW) Aisha.write (2); if (HallState_1 == LOW && HallState_2 == HIGH) Aisha.write (3); if (HallState_1 == HIGH && HallState_2 == HIGH) Aisha.write (4); }
Come mostrato nelle righe precedenti in base allo stato del sensore di hall, il Bluetooth scriverà un valore particolare. Ad esempio, se il sensore hall 1 è alto e il sensore hall 2 è basso, trasmetteremo il valore "2" tramite il modulo Bluetooth. Assicurati di scrivere i valori sul modulo BT e non stamparli. Perché sarà facile leggere gli unici sul lato Processing solo se sono scritti. Inoltre, il valore verrà inviato solo se non è uguale al valore precedente.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Queste linee vengono utilizzate per commutare il LED di bordo che è collegato al Pin 13, in base al valore ricevuto dal modulo BT. Ad esempio, se il modulo riceve una "y", il LED si accende e se riceve una "n" viene spento.
Programma per l'elaborazione:
Lo scopo del programma di elaborazione è creare un'applicazione di sistema che possa fungere da interfaccia utente (interfaccia utente) ed eseguire anche l'elaborazione delle immagini per tenere traccia di un particolare oggetto. In questo caso seguiamo l'oggetto blu che abbiamo attaccato ai nostri guanti sopra. Il programma ha fondamentalmente quattro schermate.
- Schermata di calibrazione
- Schermo principale
- Schermo di vernice
- Schermo a LED
Possiamo navigare da uno schermo all'altro semplicemente agitando le mani e trascinando gli schermi in onda. Possiamo anche fare clic sui punti desiderati per attivare il LED o persino disegnare qualcosa sullo schermo.
Puoi copiare e incollare l'intero programma di Processing (dato alla fine) e modificarlo in base alla tua creatività o semplicemente scaricare i file EXE da qui, e seguire i seguenti passaggi per avviare l'applicazione.
- Installa JAVA sul tuo computer se non l'hai già installato
- Installa You Cam perfect sul tuo computer
- Accendi il tuo Arduino e associa il tuo computer al modulo Bluetooth
- Avvia il file dell'applicazione
Se tutto va bene dovresti essere in grado di notare che il LED sul tuo modulo Bluetooth si sta stabilizzando e la luce della webcam si accende. Se hai problemi contattami tramite la sezione commenti e ti aiuterò.
Guarda il video alla fine per sapere come calibrare la tua applicazione e usarla.
Se si desidera modificare il codice e incorporare più funzionalità in questo, è possibile utilizzare i seguenti approfondimenti del programma
L'IDE di elaborazione può essere scaricato da qui. Se vuoi saperne di più sull'elaborazione e creare progetti più interessanti, puoi visitare i tutorial qui.
Processing ha la capacità di leggere i dati seriali, in questo programma i dati seriali provengono dalla porta COM Bluetooth. È necessario selezionare la porta COM a cui è connesso il Bluetooth utilizzando questa riga di seguito
port = new Serial (this, Serial.list (), 9600);
Qui ho scelto il mio 1 ° porta COM che è COM5 nel mio caso (vedi immagine sotto) e ho detto che da percorsi modulo Bluetooth sui 9600 baud rate.
Come detto in precedenza l'elaborazione ha anche la possibilità di eseguire l'elaborazione delle immagini, in questo tutorial le immagini vengono inviate all'interno dello schizzo utilizzando una webcam. In ogni immagine tracciamo un oggetto particolare. Per saperne di più su questo puoi visitare questo tutorial.
Ho fatto del mio meglio per spiegare il programma (dato alla fine) attraverso le righe di commento. Puoi scaricare i file qui.
Se vuoi saperne di più sullo schizzo puoi contattarmi attraverso la sezione commenti e ti aiuterò.
Lavorando:
Una volta che l'hardware e il software sono pronti, indossa i guanti e preparati per un'azione. Ora, accendi semplicemente Arduino e quindi avvia l'applicazione. Il led sul modulo Bluetooth dovrebbe diventare stabile. Ora significa che la tua applicazione di sistema ha stabilito un collegamento Bluetooth con il tuo Arduino.
Otterrai la seguente schermata in cui devi selezionare l'oggetto da tracciare. Questa traccia può essere eseguita semplicemente facendo clic sull'oggetto. In questo caso l'oggetto è il disco blu. Ora puoi spostare il tuo oggetto e notare che il puntatore segue il tuo oggetto. Usa un oggetto dal colore unico e una stanza luminosa per ottenere i migliori risultati.
Ora tocca il pollice con l'indice e dovresti vedere il messaggio "Tasto 1 premuto" e quando premi il pollice con il medio dovresti vedere "Tasto 2 premuto" questo indica che tutto funziona bene e la calibrazione è terminata. Ora fai clic sul pulsante Fine.
Una volta premuto il pulsante Fine verrai indirizzato alla schermata principale dove puoi dipingere in aria o attivare il LED sulla scheda Arduino come mostrato nel video qui sotto.