加速度センサーの出力値を受け取る
3軸加速度センサー「KXM52-1050」のアナログ出力値を、ArduinoとFunnelを使ってswfファイルでキャッチするテストです。
AS3ドキュメントクラスのコードはこちら。
出力値を受け取ってテキストフィールドに表示します。
package { import flash.display.Sprite; import flash.text.TextField; import funnel.*; public class Main extends Sprite { private var aio:Arduino; private var xTx:TextField = new TextField(); private var yTx:TextField = new TextField(); private var zTx:TextField = new TextField(); public function Main() { var config:Configuration = Arduino.FIRMATA; aio = new Arduino(config); var myX:Pin = aio.analogPin(0); var myY:Pin = aio.analogPin(1); var myZ:Pin = aio.analogPin(2); myX.addEventListener(PinEvent.CHANGE, xChange); myY.addEventListener(PinEvent.CHANGE, yChange); myZ.addEventListener(PinEvent.CHANGE, zChange); set_text(xTx, 50, 50); set_text(yTx, 50, 100); set_text(zTx, 50, 150); } //テキストフィールド作成 private function set_text(tx:TextField,_x:int,_y:int):void { tx.x = _x; tx.y = _y; tx.width = 200; tx.height = 20; addChild(tx); } //Xの値が変化 private function xChange(e:PinEvent):void { xTx.text = "X: " + String(e.target.value); } //Yの値が変化 private function yChange(e:PinEvent):void { yTx.text = "Y: " + String(e.target.value); } //Xの値が変化 private function zChange(e:PinEvent):void { zTx.text = "Z: " + String(e.target.value); } } }
この出力値さえ取り込めれば後はFlash側でいろいろ面白そうなことが出来そうですね。