Oculus Riftでメーヴェを作ろう(5) 扇風機を制御して風を感じる
飛んでる感を増すために”風”を感じたいと思っています。
Oculust Riftのデモでもよくサーキュレーターを前に置いてるのを見たりします。
今回はせっかくArduinoと繋いでるので、Arduinoから扇風機を制御できるようにしたいと思います。
扇風機は秋葉原で特価のUSB扇風機を買ってきました。
電源がUSBくらいの低電圧だと扱いやすいですね。
今回はモータドライバICを使って、Arduinoから扇風機の風力を制御してみようと思います。 ではさっそく作業です♪
USBケーブルをチョン切る
”USB→扇風機”の間に回路を挟んで制御するために、ケーブルを切断します。
回路を組む
モータドライバICにはTA7291Pを使います。
回路についてはコチラ→
建築発明工作ゼミ2008: Arduino 小型DCモータ/TA7291P
の通りに組みました。
Arduinoの1,2ピン(デジタル入力)と3ピン(PWM入力)を使います。
入力電源は今回の場合USBケーブルを繋いでいます。
なんかゴチャゴチャ、いかめしいですね。
Unityプログラム
今回もUNIDUINOを使います。
起動時にPIN設定と正転反転の信号を送ります。
void Start () { arduino.pinMode(1, PinMode.OUTPUT); //motor arduino.pinMode(2, PinMode.OUTPUT); //motor arduino.pinMode(3, PinMode.PWM); //motor arduino.digitalWrite (1, Arduino.HIGH); arduino.digitalWrite (2, Arduino.LOW); }
↑キーで風力アップ、↓キーで風力ダウンする場合こんな感じになります。
3番のPWMピンにPWM値を与えます。
PWM値は0~255で255が最大パワーになります。
int fanSpeed = 0; void Update () { if (Input.GetKey (KeyCode.UpArrow) && fanSpeed < 255 ) { fanSpeed ++; arduino.analogWrite(3, fanSpeed); } if (Input.GetKey (KeyCode.DownArrow) && fanSpeed > 0 ) { fanSpeed --; arduino.analogWrite(3, fanSpeed); } }
完成♪
とりあえずキー操作で扇風機が動きます。
これを画面内のメーヴェの動きによって制御しようかと思います。
ただ、、、ちょっと風が弱いなぁ、、、USB扇風機だとこんなものかなー。