Prototyping Lab: Recipe 22.3

by kotobuki
♥0 | Line 27 | Modified 2010-03-24 12:46:54 | MIT License
play

ActionScript3 source code

/**
 * Copyright kotobuki ( http://wonderfl.net/user/kotobuki )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/xEkF
 */

package {
  import flash.display.Sprite;
  import flash.events.Event;
  import flash.text.TextField;

  import funnel.*;

  public class ControlTheACDevice extends Sprite {
    // Arduino
    private var arduino:Arduino;

    // オシレータ
    private var osc:Osc;

    // SSRに接続したピン
    private var ssrPin:Pin;

    // オシレータの状態を表示するテキストフィールド
    private var textField:TextField;

    public function ControlTheACDevice() {
      // SSRを接続したピンのモードを出力にセット
      var config:Configuration = Arduino.FIRMATA;
      config.setDigitalPinMode(13, OUT);
      arduino = new Arduino(config);

      // SSRを接続したピンを初期化
      ssrPin = arduino.digitalPin(13);

      // 0.5Hzで矩形波を生成するオシレータを準備してSSRピンにセット
      osc = new Osc(Osc.SQUARE, 0.5);
      ssrPin.addFilter(osc);

      // オシレータの状態を表示するテキストフィールドを追加
      textField = new TextField();
      addChild(textField);

      // 毎フレームごとに発生するイベントにイベントリスナをセット
      addEventListener(Event.ENTER_FRAME, onEnterFrame);

      // オシレータをスタート
      osc.start();
    }

    // 毎フレームごとに以下を実行
    private function onEnterFrame(e:Event):void {
      // オシレータの状態をテキストで表示
      textField.text = "Osc: " + osc.value;
    }
  }
}