Cov txheej txheem:

Leap Motion Controller. (Progetto Arduino): 4 Kauj Ruam
Leap Motion Controller. (Progetto Arduino): 4 Kauj Ruam

Video: Leap Motion Controller. (Progetto Arduino): 4 Kauj Ruam

Video: Leap Motion Controller. (Progetto Arduino): 4 Kauj Ruam
Video: Leap Motion SDK 2024, Kaum ib hlis
Anonim
Leap Motion Controller. (Cov Ntawv Kawm Arduino)
Leap Motion Controller. (Cov Ntawv Kawm Arduino)

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

Siv:

Leap Motion SDK:

Khoom siv

PC

IDE ua

IDE cov arduino

Siv Arduino Uno

Leap Tsab ntawv tsa suab

4 x cavi di collegamento

1 x Led RGB

3 x resistenze 330 Ω

1 x Breadboard

Kauj Ruam 1: Kawm Qib Siab Leap Motion / Arduino

Tsev Kawm Qib Siab Leap Motion / Arduino
Tsev Kawm Qib Siab Leap Motion / Arduino
Tsev Kawm Qib Siab Leap Motion / Arduino
Tsev Kawm Qib Siab 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 vim diversi ambienti di sviluppo. Leap Motion può essere programmato hauv 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. I parametri che può acquire questa classe sono Byte, int e string. La mia necessità è quella di inviare ad Arduino numeri interi con valori compresi tra 0-255. Il tipo di Variabile utilizzato è stato quindi quello di tipo String, composto a sua volta da una serie di stringhe. Le informazioni inviate da Ua tiav Arduino vengono lettei attraverso le funz seriali di Arduino. Tuaj prima istruzione ho inserito un controllo per verificare se ci sono dati hauv ingresso nella porta seriale, se esiste un valore creiamo una variabile di tipo stringa che acquisce tutti i valori inoltrati da ua prima del carattere "/n".

Kauj Ruam 2: Mappatura Coordinate Leap Motion

Mappatura Coordinate Leap Motion
Mappatura Coordinate Leap Motion

Mappatura ua haujlwm Leap Motion: ib tus neeg hloov pauv nel range di valori che potessero essere supportati dai coj, ovvero 0-255. Ib tus nqi cio ho creato un box interattivo su Ua, ho dovuto lavorare con le funzioni presenti all'interno della classe "kev sib tham lub thawv" del Leap Motion, che rappresenta una regione a forma di scatola all'interno del campo visivo di quest'ultimo e fornisce coordinate normalizzate per mani e dita. Kuv 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 i valori per 255 e poi li converto in intero per siv rau Arduino.

Cov lus nug punto illumino kuv coj RGB.

developer-archive.leapmotion.com/documenta…

Kauj Ruam 3: Scrittura Codice Su IDE Arduino

Scrittura Codice Su IDE Arduino
Scrittura Codice Su IDE Arduino

Dopo aver completato la scrittura del codice su Kev Ua Haujlwm 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 i dati da ua.

Definisco le variabili.

Void Setup: Impostazione pin relativi alla corrente del led e dei canali rgb tuaj 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 ua, utilizzo la classe get pin di zis).

Kauj Ruam 4: Caricamento Sketch Su Scheda Arduino

Dopo aver completato 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.

Kuv codici sono scaricabili sia nrog kuv txuas sotto al video youtube che qui sotto:

Arduino:

Ua:

Pom zoo: