2013年5月30日星期四

FreeHandLight (Kinect+Processing+Arduino)

Free_Hand_Light is a experiment with Kinect, Processing and Arduino.
The idea is to track the motion of the body to activate the Light
(any on/off equipment).
This project is using the SimpleOpenNI library for Processing
to capture the skeleton data.
(There is a good basic tutorial here: codasign).
The other option can be using the Kinect library by Daneil Shffman.

Free_Hand_Light  是結合Kinect, Processin以及Arduino的實驗.
想法是透過Kinect對身體的偵測, 來驅動燈 (任何開關裝置皆可).
本實驗是運用SimpleOpenNI這個Processing的Library來偵測人體的骨骼節點
(簡易的Tutorial 可以看這邊: codasign).
另一個選擇即是使用由Daneil Shffman所編寫的Kinect library.



After getting the data in Processing by Kinect, 
we can use the nodes of the body to generate your idea.
For, example, in this case the distance between hands is mapping as a slider 
to control the length of the actuator or the controller of 
which light should be turn on.
  Two-hands-above defines the "Dimmer effect."
Tow-hand locating in the middle defines the "No.?" of the lights should be turn on.
So to use this data transformation to make
 free-form gesture controller.
(Free-Form means controlling without mouse and keyboard).

在Processing裡面獲得由Kinect所得到的資訊後,
即可將節點轉化成你所想要做的事情
在這個實驗中 我們即將雙手的距離轉化成Slider
去控制線性驅動器的長度
以及哪一盞應該被開啟
兩隻手若在上方 定義了"Dimmer"的大小
兩隻手放在中間 定義哪盞燈應該點亮 
因此這些數據的轉換使得free-form的手勢成為了控制器
(Free-Form表示不透過滑鼠與按鍵)


The other challenge is how to transmit the data from Processing to Arduino.
You can use the Serial Port to transmit or a Arduino library in 
Processing to communicate.
It can be easily used in Processing without deconstruct 
your data and recombine them in Arduino.
Although this is quite useful, but this transmission
 no matter how will give you some
"flashing" annoying affect.
So in my case I just simply transmit the "NUMBER"(byte) 
to control the function one by one.
The Dimmer function of the light doesn't show well by recording it with camera.
So I used a linear actuator to prove my experiment.

另一個挑戰是如何將資訊從Processing傳給Arduino.
你可以用Serial Port傳遞 或者運用在Processing
裡面的Arduino library 進行溝通
這可以讓你輕易地傳遞訊息給Arduino
而不用拆解DATA又在ARDUINO中重組
不過因為資訊傳遞關係 
他會產生擾人的閃爍狀況
所以在這個案子中 我就單一的傳遞數字(byte)
去控制我要的效果
Dimmer的效果因為錄影起來不甚明顯
所以我運用線性驅動器證明我的實驗


The next step might be trying to implement this free form 
gesture controller into my HyperCell as an interface.
再來可能就是將這Free Form的控制
加入到我的HyperCell作為介面.



1 則留言:

  1. Great project and tutorial but I no see the processing code to download.

    my congratulations

    回覆刪除