非關特戰的互動藝術工作坊 – 最終回【Arduino + 光敏電阻】

工作坊課堂上嘻皮笑臉
遲來且最終回的工作坊課程介紹中,將說明arduino與光敏電阻之連接,並將訊號送入Max/MSP加以應用。
光敏電阻在運用上可粗略視為一種「光線明暗感測」,而在場域及裝置上的光線控制設計下,也可以部份有效地作為簡單的「垂直距離感測器」。
要透過arduino連接各類感測器取得訊號值的差異,不論是「多快多亮多濕多熱多彎多斜多大力」等的變因輸入,皆必須利用analog類比腳位來做連接;這裡的光敏電阻所感測到明暗的訊號值差異也是如此。
最直接地讓我們先照著圖把線路插一插接好。如下圖所示:

請看
另外也可以參考對照一下遠在中國成都的好朋友互動設計高手鯨男所畫的酷炫插畫arduino+溼度電阻圖(光敏電阻也通用)

圖偷自於【鯨男愛互動】http://imlab.cn/whale/
接好線路後,我們打開先前用來連接Max/MSP與Arduino的SimpleMessageSystem資料夾,並開啟其中MaxMsp Example資料夾內的SimpleMessageSystem_analogin.mxb檔案。Patcher如下圖:

首先更改serial物件內arduino所對應的com port編碼(例如將COM2改成COM3),接著按下metro物件上的開關便可以看到最下方的六個數字訊號瘋狂地跳動了。
打開metro上的開關能夠連續觸發送出r a訊號,使Max/MSP不停去讀取(read)類比(analog)的各腳位數值;下方asciimessage2max物件此時會連續送出如a 1 2 3 4 5 6般的數列,所以在範例程式中便接上rount物件【rount能夠認明送入之數列或訊號中的第一個標記,來指定到對應之輸出口—-請看help檔最清楚】, 並且過濾掉a後再將數列訊號送入unpack物件【unpack物件能夠將一個數列訊號拆開,變成數個獨立的訊號由多個輸出口同時輸出—-詳情還是看一下help檔】,而這裡的unpack物件後方有六個i,表示有六個整數變數,便有六個輸出口。
這六個跳動的數字訊號,由左至右即表示analog 0到analog 5的訊號。若你的光敏電阻是接在analog 1的位置,現在可以試試看在光線下,用手遮蔽光敏電,左邊數過來第二個數字訊號的變化差異吧!
該影片為網路上某人用arduino連接光敏電阻,並用puredata與Flash弄的,技術幾乎相同來看看
此時你會覺得這個工作坊很騙錢怎麼這樣就最終回了…其實課程中當然還有講了不少關於Max/MSP, Jitter等基本教學與範例,但有礙於內容太繁多便不在這裡發表出來哩。
我繼續特戰,你們忙。




不知道你有没兴趣来其它学校也讲讲这课?
p.s:blog上没你的信箱,我留了我的在信息这里。
r.t said this on 五月 3, 2009 於 3:55 午後
我的信箱
hang0374@yahoo.com.tw
保持聯繫哩~
sungheng said this on 五月 8, 2009 於 6:09 午後
[...] 非關特戰的互動藝術工作坊 – 最終回【Arduino + 光敏電阻】 [...]
Workshop « myDIM said this on 六月 25, 2009 於 5:10 午後