▼Gainerメモ▼
アナログ出力


I/Oモジュールのアナログ出力を行うプログラムを作成する。
クリックすることにより値が変化する。



ブレッドボード



ソースコード

AOutEx.as
package {
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    import gainer.*;

    //アナログ出力
    public class AOutEx extends Sprite {
        private var gio:Gainer;
        private var label:Array;
        private var value:Array;

        //コンストラクタ
        public function AOutEx() {
            //Gainerの生成
            gio=new Gainer("localhost",2000,Gainer.MODE1,true);
            gio.onReady=onReady;
        }
        
        //初期化
        private function onReady():void {
            var i:int;
            var tf:TextField;

            //ラベルの生成
            label=new Array();
            value=new Array();
            for (i=0;i<4;i++) {
                tf=new TextField();
                tf.autoSize=TextFieldAutoSize.LEFT;
                tf.background=true;
                tf.backgroundColor=0xDDDDDD;
                tf.x=10;
                tf.y=10+30*i;
                addChild(tf);
                label.push(tf);
                value.push(0);            
                label[i].addEventListener(
                    MouseEvent.MOUSE_DOWN,onMouseDown);
            }            
            aOut(null);
        }

        //マウスダウンイベントの処理
        private function onMouseDown(evt:MouseEvent):void {
            aOut(evt.target);
        }
        
        //アナログ出力
        private function aOut(target:Object):void {
            var i:int=0;
            
            //値更新
            for (i=0;i<4;i++) {
                if (label[i]==target) {
                    value[i]+=5;
                    if (value[i]>255) value[i]=0;
                }
                label[i].text="aout"+i+" "+value[i];
            }
            
            //アナログ出力            
            gio.analogOutput(value);
        }
    }
}



−戻る−