僕のプロセッシングユニット RPU-10 にあらかじめ登録しておいた動作(単一の動きのモーションと、複数の動きをまとめたシナリオがある)を、 RS232C を介して実行させることができるんだー。
RS232C を介して送るコマンドは双葉電子工業さんの RPU-10 のページにあるよ。
http://www.futaba.co.jp/robot/robot_processing_unit/index.html
構成はこんな感じ。
[PC] Processing → USB to RS232C 変換ケーブル → RS232C to ステレオジャック → GDog
キー入力が 0 〜 9 だったら、その番号のモーションを動作させるコマンドを送るようにしてみました!
import processing.serial.*;
Serial port;
Serial port2;
void setup() {
// List all the available serial ports:
println(Serial.list());
//シリアルポートの設定
port = new Serial(this, "/dev/tty.usbserial-003013FA", 115200);
port.clear();
}
void draw() {
}
void keyPressed() {
println("keycode : " + keyCode);
if(keyCode > 47 && keyCode <58) {
byte b = (byte)(keyCode - 48);
sendCommand(b);
}
}
void sendCommand(byte b) {
byte data[] = {
0x50, 0x4d, b
};
println(data);
port.write(data);
}
void serialEvent(Serial p) {
if(port.available() > 0){
int b = port.read();
println(b);
}
}
draw() メソッドを省略しちゃうと、キーを押しても keyPressed() が呼ばれなくなっちゃうので注意してね。
ステレオジャックの構造を知らなかったんだけど、勉強になりました。
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%B3%E3%83%97%E3%83%A9%E3%82%B0
チップ(T)をシリアルの Tx、リング(R)をシリアルの Rx として使ってるみたい。
テスターを使えばどの線がチップか、リングかスリーブ(GND)かわかるしね。
0 件のコメント:
コメントを投稿