Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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.
Referenca:
Leap Motion SDK:
Pribor
PC
IDE obrada
IDE arduino
Scheda Arduino Uno
Skok
4 x cavi di collegamento
1 x Led RGB
3 x ponovno otpor 330Ω
1 x Oglasna ploča
Korak 1: Collegamento Leap Motion / Arduino
Prvi korak je è quello di collegare Leap Motion oglas Arduino i za uporabu, kako bi se iskoristila Processing tramite la libreria "Processing. Serial". Per poter mettere in comunicazione Leap Motion e Arduino ho utilizzato due diversi ambienti di sviluppo. Leap Motion je novi program u Javi za Arduino C ++. Importo in Processing la libreria "Processing. Serial" che mi permette atrakverso la funzione "serial.write (src) di inviare date ad Arduino per via seriale. I parametri che può acquisire questa classe sono Byte, int e string. La mia needità è 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. seriali di Arduino. Come prima istruzione ho inserito un controllo per verificare se ci sono dati in ingresso nella porta seriale, se esiste un valore creiamo una variabile di tipo stringa che acquisisce tutti i valori inoltrati da processing prima del carattere "/n".
Korak 2: Mappatura koordinirani skok
Kartografska koordinata Leap Motion: po konverziji nel raspona di valori che potessero essere supporttati 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 "interaction box" del Leap Motion, che rappresenta una regione a forma di scatola all'interno del campo visivo di quest'ultimo e fornisce koordinate 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 i valori per 255 e poi li converto in intero per utilizzarli su Arduino.
Questo punto illumino vodio sam RGB.
developer-archive.leapmotion.com/documenta…
Korak 3: Scrittura Codice Su IDE Arduino
Dopovjeda je potpuna la scrittura del codice su Processing e essere riusciti a collegare il Leap Motion ad Arduino, stiže mi trenutak pisanja ili kodeks su IDE Arduino (Allegato)
Per Arduino ho creato quindi del codice che mi permettesse di ricevere i dati da processing.
Definisco le variabili.
Void Setup: Impostazione pin relativi alla corrente del led e dei canali rgb come out out i 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 separe in interi e assegno i valori ottenuti ai relativi pin di output).
Korak 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.
Kvindijski:
-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:
Obrada: