ADIF のページ(暫定板) Last update 12/06 '00
このドキュメントは、以下のバージョンのインタフェースに関して記述してあります。
 ソフトウエア(PIC) ADIF Ver.1.00/基板 Ver.1.02

***このバージョンの基板に不具合が見つかっています***
→不具合のページ 

●ADIF仕様:
入力:16チャンネル8ビットAD入力
   0V〜5Vの電圧を0〜255までの数値として計測できます。
   センサが16個まで同時につけられます。
出力:16チャンネル1ビットTTL出力
   電気を入れる、切るという操作ができます。
   つながる装置は同時に16個まで。
   たくさん電気が流れるものは、個別の回路が必要になります。
   (10mA程度まで。LED 程度なら直接接続可能)
   #もしかすると30mA程度いけるかも?
PCとの接続:RS−232C(シリアル)
   ケーブルは、メス−メスタイプの9ピンD−SUBケーブルを使用します。
   シリアル接続は一般的な接続方法なので、Houdini の他、Director、
   C言語、MAX などの言語やスクリプトで制御できます。
   シリアルコネクタの形状変換を使用すれば、マックでの使用も可能。
   (ただし、モデムポートやプリンタポートといったシリアルポートを使
   用するので、シリアルポートを持つマックでないと不可)


●入出力端子
i-cube と似た形式
正面向かって左から
	「アナログ入力 0, 1, 2, ..., 14(E), 15(F) チャンネル」、続いて
	「デジタル出力 0, 1, 2, ..., 14(E), 15(F) チャンネル」。
部品面を上として、上から、+5V、信号入力・出力、GNDの順。

	【コネクタ正面からの図】
	アナログ入力                   |デジタル出力
	0 1 2 3 4 5 6 7 8 9 A B C D E F|0 1 2 3 4 5 6 7 8 9 A B C D E F	:チャンネル番号
	---------------------------------------------------------------
	o o o o o o o o o o o o o o o o|o o o o o o o o o o o o o o o o	:+5V
	o o o o o o o o o o o o o o o o|o o o o o o o o o o o o o o o o	:Signal(IN/OUT)
	o o o o o o o o o o o o o o o o|o o o o o o o o o o o o o o o o	:GND
	↑
	縦一列(3つの端子)一組がひとつのチャンネルに対応。
	一番左がアナログ入力0チャンネル。一番右がデジタル出力16(F)チャンネル。

●接続条件
38400bps, non parity, data bit 8bit, stop bit 1bit

●コマンド一覧
	コマンド	結果		内容
	"Dxxxx":	"D*"		全チャンネルへのデジタル出力
					出力設定ビット列の MSB が 15ch、LSB が 0ch に対応
					出力設定ビットが 0 で 0V, 1 で 5V が出力される
	"Hx":		"H*"		x チャンネルへのデジタル出力(5V)
	"Lx":		"L*"		x チェンネルへのデジタル出力(0V)
	"I":		"Ixx...xx*"("xx"が16組)
					全チャンネルからの A/D 入力(8bitx16ch)
					先頭が 0ch、末尾が 15ch に対応
	"Ax":		"Axx*"		x チャンネルからの A/D 入力(8bit)
	"*":				送信したコマンドの実行

   コマンド中の "x" は一文字の十六進数文字(0-9,ABCDEF)で、1ニブル(4ビット)に対応。
   コマンドは、最後の "*" を含めて、同時に32文字まで送信可能。
   送信されたコマンドは、"*" を受け取った時点で頭から順に一つずつ実行されます。
   送信されたコマンドに無効な文字が含まれていた場合は、"!" が返され、
   それ以降の文字は無視されます。
   ※すべて ASCII 文字であり、数字は十六進数文字の ASCII CODE を送る。
    コマンドに改行文字は不要(エラーになります)

●コマンド使用例
− 入力チャンネルすべてのアナログ値を取得する
	送信:I*
	結果:Ixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*
			先頭から xx を二組ずつに区切ったものが、16個。
			先頭から順に0、1、2、、チャンネルに対応。
− 入力チャンネル13番のアナログ値を取得する
	送信:AC*	C は 13 を示す十六進数
	結果:Axx*	xx は結果を示す2桁の十六進数(00 - FF)
− 出力チャンネルすべての出力を 0V にする
	送信:D0000*
	結果:D*
− 出力チャンネル0番の出力を 5V、その他全てを 0V にする
	送信:D0001*	LSB が0チャンネルに対応
	結果:D*
− 出力チャンネル5番の値を 5V にする
	送信:H5*
	結果:H*
− 出力チャンネル5番の値を 0V にする
	送信:L5*
	結果:L*



★接続実験のためのPCとの接続
接続するPCでハイパーターミナルを起動し、COM1を「38400ビット/秒、デー
タビット8ビット、パリティなし、ストップビット1、フロー制御なし」に設定してくだ
さい。シリアルケーブルをPCのCOM1に取り付け、もう一方をインタフェースに取り
付けてください。接続できたら、キーボードから大文字で「V*」と入力してください(こ
の先もすべて改行は不要です)。バージョン情報が表示されれば接続成功です。


★動作確認
作ったセンサ(可変抵抗器:VR)とアクチュエータ(発光ダイオード:LED)を使っ
て動作確認します。32列のコネクタは、左半分の16列がアナログ入力用で、右半分の
16列がデジタルの出力になっています。一列は3段で、上から+5V、真ん中が入力/
出力、一番下がGND(0V)です。

まず、LEDを使いデジタル出力を確かめます。一番右の16チャンネルにLEDを接続
して、キーボードから「HF*」と入力します。これでLEDが点灯するはずです。さら
に、「LF*」(大文字L、F、アスタリスク)と入力します。これでLEDが消灯しま
す。これを順に左へ、1チャンネルまで試し、正しく動作することを確認してください
(真ん中の文字を、EDCBA987654321と替えていきます)。

次に、VRを使いアナログ入力を確かめます。ここで作ったVRは絶対にデジタル出力端
子につなげないように注意してください。最悪ICやVRが発熱して壊れます。一番左の
1チャンネルにVRを接続します。キーボードから「A0*」(大文字A、ゼロ、アスタ
リスク)と入力します。VRを回転させて同様に入力してみてください。一番左にまわし
きったときに「A00*」、一番右にまわしきったときに「AFF*」と画面に出力され
るはずです(左右が反対の場合もあります)。この00やFFというのがVRからの電圧
を示しており、二桁の16進数になっています。VRの中間では、80に近い値になりま
す。これを順に16チャンネルまですべて試し、正しく動作することを確認してください。

後は複数のVRやLEDをつなげてみて、正しく動作するかどうかも確認しておいてくだ
さい。


◆Q&A
Q1 動作しない。シリアルケーブルを外すと LED が点灯するがケーブルをつなぐと消える。
A1 不具合が見つかっていますので確認してください。→不具合のページ

Q2 センサーがつながっていない入力の値が安定しない
A2 このインタフェースは入力感度がよいために、入力がつながっていない場合には、隣の
入力の影響を受けてしまいます。センサがつながっている入力の値は正しいので、気にす
る必要はありません。どうしても接続しない入力の値を安定させたい場合には、1MΩ程度
の抵抗で各チャンネルの入力を GND に接続してください。

Q3 AC アダプタはどういうのが使えるか
A3 AC アダプタは、9V〜12V くらいの直流出力のあるものを使ってください。電流容量は
50mA 程度で動きますが、入力のセンサや出力につなぐものによってはより多くの電流が必
要となる場合があります。安定した動作のためにも余裕をもって 500mA 〜 1A の物を使用
することをお勧めします。コネクタを取り付ける場合は 2.1mmφ標準プラグを使用し、外
側が−(マイナス)になるように接続します。

Q4 具体的な使い方は?
A4 、、、