Innholdsfortegnelse:

Leap Motion Controller. (Progetto Arduino): 4 trinn
Leap Motion Controller. (Progetto Arduino): 4 trinn

Video: Leap Motion Controller. (Progetto Arduino): 4 trinn

Video: Leap Motion Controller. (Progetto Arduino): 4 trinn
Video: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, Juli
Anonim
Leap Motion Controller. (Progetto Arduino)
Leap Motion Controller. (Progetto Arduino)

L'intento di questo progetto è quello di utilizzare il Leap Motion per controllare l'intensità di luce e i colori di un led RGB in relazione al movimento delle mani nello spazio.

Henvisning:

Leap Motion SDK:

Rekvisita

PC

IDE -behandling

IDE arduino

Scheda Arduino Uno

Sprangbevegelse

4 x cavi di collegamento

1 x LED RGB

3 x resistens 330Ω

1 x brødbrett

Trinn 1: Collegamento Leap Motion / Arduino

Collegamento Leap Motion / Arduino
Collegamento Leap Motion / Arduino
Collegamento Leap Motion / Arduino
Collegamento Leap Motion / Arduino

Il primo step è quello di collegare Leap Motion ad Arduino e per farlo, ho utilizzato Processing tramite la libreria "Processing. Serial". Per poter mettere in comunicazione Leap Motion e Arduino ho utilizzato due diversi ambienti di sviluppo. Leap Motion kan programmeres i Java mentre Arduino C ++. Importo in Processing la libreria "Processing. Serial" che mi permette attraverso la funzione "serial.write (src) di inviare dati ad Arduino per via seriale. quella di inviare ad Arduino numeri interi con valori compresi tra 0-255. seriali di Arduino.

Trinn 2: Mappatura Coordiate Leap Motion

Mappatura Coordiate Leap Motion
Mappatura Coordiate Leap Motion

Mappatura coordinate Leap Motion: per convertire nel range di valori che potessero essere supportati dai led, ovvero 0-255. Per fare ciò ho creato un box interattivo su Processing, ho dovuto lavorare con le funzioni presenti all'interno della classe "interactive box" del Leap Motion, che rappresenta una regione a forma di scatola all'interno del campo visivo di quest'ultimo e fornisce koordinat normalizzate per mani e dita. I valori base di questa classe sono i millimetri che ho quindi convertito in un range da 0 a 1 attraverso la funzione "Vector normalize point (vector position, boolean, clamp). Fatto ciò moltiplico and valori per 255 e poi li converto in intero per utilizzarli su Arduino.

En questo punto illumino i ledet RGB.

developer-archive.leapmotion.com/documenta…

Trinn 3: Scrittura Codice Su IDE Arduino

Scrittura Codice Su IDE Arduino
Scrittura Codice Su IDE Arduino

Dopo aver completeato la scrittura del codice su Processing e essere riusciti a collegare il Leap Motion ad Arduino, è arrivato il momento di scrivere il codice sull 'IDE Arduino (Allegato)

Per Arduino ho creato quindi del codice che mi permettesse di ricevere and dati da processing.

Definisco le variabili.

Ugyldig oppsett: Impostazione pin relativei alla corrente del led e dei canali rgb come outuput e velocità di trasferimento dati della porta seriale 9600).

Void Loop: creo una nuova stringa nella quale inserisco tutti i dati che mi ha inviato processing, utilizzo la classe getValue che mi permette di separare le stringhe contenute nella stringa precedentemente creata, converto tutte le stringhe separate in interi e assegno i valori ottenuti ai relativi pin di -utgang).

Trinn 4: Caricamento Sketch Su Scheda Arduino

Dopo aver completeato la scrittura del codice ed aver effettuato la verifica di quest'ultimo ho caricato lo sketch sulla scheda Arduino Uno e ho iniziato a controllare il led tramite l'utilizzo delle mie mani.

Quindi:

-alzando la mano destra dal basso verso l'alto, controllo i colori del led;

-alzando la mano sinistra dal basso verso l'alto, controllo l'intensità della luminosità;

-facendo un cerchio con un dito, inverto i valori della luminosità e dei colori.

I codici sono scaricabili sia con i link sotto al video youtube che qui sotto:

Arduino:

Behandler:

Anbefalt: