Skip to content
本篇介紹使用Arduino光敏電阻來控制Unity。簡單來說,Arduino當成輸入端;Unity當成輸出端,同樣是使用序列通訊SerialPort來當作溝通橋樑。
準備材料:
- Arduino板一塊
- 麵包板一塊
- 光敏電阻一顆
- 500k可變電阻一顆
- 跳線數條
- 色碼電阻220紅紅棕一顆
Step1:先將光敏電阻與可變電阻、色碼電阻接在麵包板上,電路圖如下:
Step2:打開Arduino IDE編寫如下程式碼:
a.設定類比腳位為0
b.設定變數sensorValue
c.設定公式:sensorValue = 0.5*sensorValue+0.5*analogRead(analogInPin) 將測到的數值做平均值計算
上述程式的概念是將光敏電阻測到的值顯示出來。先把光敏電阻測到的值利用可變電阻來調整敏感度後,再設立條件如果測到的值大於100,表示手沒有遮住光敏電阻,則傳一個為0的值;否則表示手遮住了光敏電阻,傳一個為11的值,程式碼新增如下:
新增之後請將前二行的Serial.println(sensorValue);和delay(100);註解掉。
Step3:打開Untiy,在Asset中建立一個C#腳本,命名為read,程式碼如下:
程式的概念是當讀取到Arduino傳來的值為0時,則方塊向右跑;若傳來的值為11時,方塊向左跑,在Unity中讀取Arduino傳來的值使用ReadLine()指令。
Step4:建立一個物件,並將腳本拖進物件後執行程式。執行後即可看到如下結果喔!
Post Views: 884
想請問
如果我是要用Arduino按按鈕控制Unity播放影片要如何修改?
請問您的Arduino 與 Unity 已經連通了嗎? 如果是的話,做法都很類似,只要讀取到按鈕腳位被按下 (例如digitalRead(8) == 1) 之後觸發Unity就好