やすこ
今日はこーりゃんからシリアルからとってきた値をFlashで受け取る方法forMacを教わりました。
ちなみにこのワザは、Arduinoと同じドライバを使っていればできる!はず、、
まず、Flash単体では、シリアル通信は出来ないので、
serial proxyを使います。ArduinoのDownloadページ一番下にリンクが貼ってあるので、そこからDownload!
1、解凍し、serproxy.cfgをテキストエディターで開けます。
2、マイコンをPCと接続します。
3、Processingでデバイスを調べます。
Processingに書き込むソースはこんな感じかな。別にListをプリントしてくれればなんでも良いです。
import processing.serial.*;
Serial myPort;
void setup(){
println(Serial.list());
myPort = new Serial(this, Serial.list()[0],9600);
}
こいつをProcessingに書き込んでRunします。すると、リストが出てくるので、Port1にあたるものをコピー。
画像の場合だと、/dev/cu.usbserial-A10166Yですね。
4、serproxy.cfgの編集。
serial_device1=[さっきprocessingで調べたデバイス名]
を付け足します。
私は
serial_device1=/dev/cu.usbserial-A10166Y
を書き足しました。
出来たら上書き保存。
5、serproxyを立ち上げる。
serproxyをクリックするとそのままTerminalが立ち上がります。
ちなみに終了するときはcontrol+c(リンゴじゃないほうのcontrol)
5.5、Arduinoへの書き込み
下のファイルを動かすために書いたのはこんな感じ。はたやまさん、ありがとう。
int potPin = 2;
int ad;
void setup()
{
Serial.begin(9600);
}
void loop()
{
ad = analogRead(potPin);
Serial.println(ad/4);
delay(100);
}
6、Flashファイルを実行
今回ははたやまさんが2006のテクササイズで用意してくれたasファイルを使ってみました。
ソースはこんな感じ。値によって丸の大きさが変化します。
//import ArduinoSerproxy API これは以前はたやまさんが用意してくれたasファイルなのです。奥出研究室の特権ですね笑どうしても手に入れたいって人はご連絡くださいませ♪
import org.hatayan.util.arduino.ArduinoSerproxy;
//Create ArduinoSerproxyObject
var serial_net = new ArduinoSerproxy();
//Connect Comport Server.Input Server IPAdress and Port number.PortNumberはSerproxy.cfgに書いてあります。勝手に変更しないこと。
serial_net.openRemoteComport("localhost", 5331);
serial_net.onReceiveStr = function(serialObj:ArduinoSerproxy) {
var rsv = serialObj.getStr();
receive_txt.text=rsv;
trace(rsv);
_root.circle_mc._xscale=rsv;
circle_mc._yscale=rsv;
};
2 件のコメント:
ちなみにWinの人はFlashNetComportConnectorという素晴らしいソフトがあります。
はたやんさんのサイトをチェック!
http://www.hatayan.org/software/fncc/index.php
でけた!!ありがとう!!にしてもDNP暑い!!
コメントを投稿