■ホビーロボット部品の製造・販売 
  モータコントローラ、センサ、音声、画像、無線モジュールなど、
■ホビーロボット制作記事のページ (各種マイコン、PCとの接続事例)
■特殊メイク、特殊材料の販売 ※特殊メイクのコーナーはこちらに移りました。
Top(お知らせ) 製品紹介 使い方とサンプルプログラム 通信販売 リンク ロボット掲示板 会社案内
 Easy Robotics for all enthusiastic people!!!  ---HOBBY ROBOT PARTS SHOP ASAKUSAGIKEN---   Since 2003...


インタラクティブインターフェイス 
Flash(ActionScript)でセンサーを動かしてみる

はじめに

 このページでは、インタラクティブインターフェイスiIF−12を動かすサンプルソフトウェアをご紹介します。前回、FlashでiIF-12を動かす方法と開発環境構築を紹介しました。今回は、アイ・ビーが作ったサンプルプログラムをちょっと改造して、オリジナルを作る方法について紹介します。とりあえず、センサーの動作から。

 このページで使用するFlash関連のドライバソフトウェア等はアイ・ビー株式会社により作成されています。Flashでの開発環境の構築については前のページ「FlashでiIF-12を動かしてみる」を参照願います。

 
 ※Flashで浅草ギ研製品その他を動かす方のために、ろぽたるにコミュニティを立ち上げました。質問、こんなかっこいいもの作ったよ、という方はそちらへ投稿お願いします。

 ※以下の情報は2010年4月現在のものです。ご注意ください。


 iIF−12についてはこちらを参照願います。



参考書籍

 





flash_to_serial.flaの解析

 
前回のサンプルプログラムのファイル構成は次の通りでした。

 

 ファイルの役割をもう一度書きますと、

 .jar : フラッシュと外部を通信するソフトウェア。(ソフト的な部分)

 .dll : 通信ソフトウェア。 (ハード的な部分)

 .fla : サンプルプログラムのソースファイル。FlashCS4又はCS5で開くことができる。

 .html、 .swf、 は.flaファイルを”パブリッシュ”すると作成されます。flash_to_serial.htmlをブラウザで開けば、プログラムを実行することができます。

 README.txt : サンプルプログラムの使い方を説明したテキストファイル。

 となります。.fla、.swf、.htmlはユーザー側で作るファイルですので、それ以外のファイルを.flaファイルと同じフォルダに入れておけば、動かすことができます。


 ではソースファイルである flash_to_serial.fla を見てみます。ファイルをダブルクリックするとFlashが立ち上がります。

 解析する上で、コンポーネント(ボタンとかスライダーとか)の固有名称がわかるとやりやすいです。各コンポーネントをクリックしてプロパティを見ると、名称が確認できます。たとえば、接続ボタンを押してプロパティを見ると、

 

 このように、btconnectという名称なのがわかります。
 全体の名称は次の通り。

 


 次に、ActionScriptのソースを見てみましょう。
 タイムラインのアルファマーク(●の上)をクリックし、F9を押してActionScriptのソースを開きます。

 


 これがソースの部分です。筆者の方で解析した内容をコメントで付けておきます。(ActionScript歴1日の筆者なので、推測の部分が多いです。ご了承下さい。AS本が昨日届いたばかり。)

 


 と、このような感じです。

 おおまかに分類しますと、

 ■1)、2)は通信するのに必要

 ■6)、8)、9)、10)、11)、12)が通信の関数

 ■その他は、このプログラム固有のコンポーネントに関する記述

 となります。




センサーを動かすプログラムを作ってみる

 
ろぼとまからダウンロードできる上記サンプルプログラムを元に、オリジナルプログラムを作ってみました。とりあえず、センサー情報をもとにシェープを変えるものを作ってみました。


 RH144.lzh
 (右クリックで対象を保存)


 単純に、四角を書いて、PSD距離センサー(iIF-12のS1に接続)からの情報により四角の長さを変える、というものです。

 ソースプログラムのスクリーンショットはこちらになります。

 


 行5〜6:ActionScriptで、Timerコンポーネントがあったので、それを使いました。100mS周期でイベントが発生する設定です。これにより、100mS毎にiIF-12にセンサー読み取りコマンドを送っています。イベント部の記述は行67〜79になります。

 行9〜行46、行57〜行65:通信に関するところなので、サンプルプログラムをあまりいじらないでそのまま記述しています。エラー処理の部分は特にすることがないと思われたので何もしていません。

 行48〜55:受信イベントです。ここで長方形の長さを変えています。行67からの命令ですと4つのセンサー全部を8ビットで読み取る命令になります。この場合、受信したデータのインデックスが4の位置がS1の値になります。


 実際に動作させてみると、問題なく動きました。


 



 ということで、ActionScript歴1日の筆者でも動かすことができました。必要なコーディングの量もあまり多くなくて、C#などのプログラミングとあまりかわらないですね。



おわりに

 同様にして、サーボを動かしたり、などができるかと思います。iIF-12を動かすサンプルでしたが、ようするにFlashからCOMポートへ送信/受信ができるということなので、iIF-12以外のものも動かせそうです。機会がありましたら、ピルクスのシリアルサーボを浅草ギ研のコントローラ(COMポートから動かせる)で駆動、とかやってみたいです。



2010年4月19日


 
(C)Copylight 2003. 有限会社浅草ギ研 | 通信販売の法規(訪問販売法第8条)に基づく通信販売業者の表示