Home > Pri/Pro

Pri/Pro Archive

複数のPri/Proを同時に使う

複数のPri/Proを同一マシンにつないで使うことができるのかと質問があったのでやってみた。
Windowsの場合、複数のシリアルポートを使うのは普通に出来ることなので、Macの場合のみ実験。

1. まず、Pri/Proのベース基板を2つ、それぞれMacBookのUSBに接続。

2. processing(build 0125でました)を立ち上げ、以下をタイプしてRUN。

import pripro.*;
println(PriPro.list()) ;
するとこんな表示が下のテキストエリアに表示される
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
/dev/tty.usbserial-A1000pm6
/dev/cu.usbserial-A1000pm6
/dev/tty.usbserial-A30008BF
/dev/cu.usbserial-A30008BF
/dev/tty.Bluetooth-PDA-Sync
/dev/cu.Bluetooth-PDA-Sync
/dev/tty.Bluetooth-Modem
/dev/cu.Bluetooth-Modem
これはあくまで僕の環境での例であって、マシンによりそれぞれ違う。
USBシリアルのチップはそれぞれユニークな名前を持っているらしい。

3. 以下のようなサンプルを走らせてみる。(デバイス名は各自のものに直して打つこと)
これはマウスのX位置、Y位置でそれぞれのLEDの輝度を変えるといういつものパターン。
import pripro.* ;

PriPro p0, p1 ;

void setup() {
  size(256, 256) ;
  p0 = new PriPro(this, "usbserial-A1000pm6") ;
  p1 = new PriPro(this, "usbserial-A30008BF") ;
}

void draw() {
  p0.out[0] = mouseX ;
  p1.out[0] = mouseY ;
}
動いた。

ここでのポイント:PriProのコンストラクタにデバイス名を書くと、指定のデバイスを使用することができる
Macは指定した文字列が含まれるデバイス名のデバイス、Windowsは指定した文字列のデバイス(COM10とか)が使用される。
その他はPri/Proのjavadocを参照。

Pri/Pro + processing

Pri/Proのファームウェアのアップデート
PriProADIOSIO_1.11.zip

Pri/Proをprocessingで使うライブラリ
PriProLib_processing_1.1.zip

このライブラリを使った最も基本的なコーディングはこんな風になります。
import pripro.*;

PriPro pp ;

void setup() {
  pp = new PriPro(this) ;
}

void draw() {
  pp.out[0] = pp.in[0] ;
}

例えばINPUT-0にボリューム、OUTPUT-0にLEDを繋ぐと、
ボリュームをひねるとLEDの輝度が変化するみたいなことになります。

Pri/Pro

Pri/Proのファームウェア、回路図、仕様を公開しておきます。

Pri/Pro ADIO, SIOのファームウェア
Pri/Pro ADIO回路図
Pri/Pro SIOの回路図
Pri/Pro仕様

Home > Pri/Pro

Search
Feeds

Page Top