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

音声録再生ボード AGB65-VR の紹介



※別途スピーカーが必要です。
<概要>

■音声の録音と再生を行うボード

AGB65−VR (Rc Servo Controler) は1つのシリアルラインで制御できる音声録再生ボードです。コンデンサマイクが付いており、スピーカーと電源をつなぐだけで使うことができます。シリアル通信はTTLレベルなので5V系のマイコンと直結して使うことができます。又、オプションの232C変換ボードを使用することでPCとの接続も可能です。
録音した音声は不揮発性メモリに記憶されますので、電源を切っても消えません。

■他のAGR65シリーズに接続可能
他のAGB65シリーズのセンサやコントローラと同じシリアルラインを共有できます。AGB65シリーズについては「ロボット神経システムAGB65シリーズの説明」のページを参照願います。

■任意の長さで録音/再生!
0.4秒単位の録音領域(以下スロットという)が255個あり、任意の位置のスロットから任意の長さでの録音/再生が可能。(よって、102秒の領域で任意の録再生が可能。1音源しか録音しない場合は最大120秒の録音が可能。)

■手動での録音/再生が可能!
基本的にはシリアル通信での命令により録音/再生をコントロールしますが、ボード上のスイッチ操作により任意のスロットに録音/再生することが可能です。手動操作の場合は録音内容確認の為、録音終了後1秒後に録音した音声が自動的に再生されます。手動操作の場合は各録音長が0.4秒、0.8秒、3.2秒、120秒の4種類単位になります。

■オーディオ入力が可能!
録音時にはオーディオ入力端子から音声を入力することもできます。オーディオ入力用の2.5mmジャックが添付されています。

■スピーカー又はオーディオ出力
アンプ内蔵なので、8Ωスピーカーをつなぐだけで音声を出力することができます。音量を上げたい、又は音質を高めたいという場合は、スピーカー端子をオーディオアンプの入力につなげば、オーディオから音声を出力することもできます。

■115Kbpsの高速通信が可能!
通信速度は115Kbpsにも対応し、PCなどから高速にデータを送信することが出来ます。(通常は9600bps)
注)マイコンの場合はクロックによっては正確な115Kが出ないものがありますので注意してください。クロックの選択は各マイコンのデータシートを参照願います(大抵は115200の倍数のクロックを使う必要があります。)

■電源搭載で外部に電源回路不要!バッテリ駆動が可能!
ボード上に電源回路を内蔵し、外部に電源回路が不要で、バッテリなどで駆動することができます。


■34x44mmの超小型設計!
ロボットなどに基板を搭載する場合はその大きさがネックになりますが、VRは極力小さい部品で構成されており、実装面積が小さくて済みます。また、基板の4角には取り付け穴があります。(穴系2.2mm、M2ネジ用)



<仕様>

基板用電源
 +7.5〜+25V (*1)  コネクタ:日圧B2B-EH  (9V電池ケーブル付属)
基板消費電流
 待機時65mA 動作時100mA (@9V)
録音時間
 最大120秒
サンプリング
 音声サンプリング周波数 4kHz
音声分割数
 最大255分割
最小録音時間
 0.4秒単位
通信設定
 8ビット、ノンパリ、ストップ1ビット フロー制御なし 非同期通信
通信規格
 TTLレベルEIA232C準拠 (*2)
通信速度
 9600bps/115200bps (ジャンパピンで切替)
固有ID
 200番で固定 (IDについては下記取扱い説明書に詳しく書いてあります。)
寸法/重量
 寸法34x44mm 重量:15g
付属品
 ■AGB65電源ケーブルx1 (基板と9V乾電池をつなぐケーブル)
 ■2.5mmオーディオジャックx1
 ■ジャンパピンx1
(*1)高い電圧になるほど効率が落ち、発熱量が増えます。瞬間耐圧35V。
(*2)5V系のマイコンと直結できます。PCと接続する場合は別売のAGB65-232Cが必用になります。


<ピン配列>

   




<価格>
 税込み 14,800円 (本体価格14,095円)


<オプション>
 AGB65−232C 4,725円 (本体価格4,500円)
 (PCと接続する場合に必用です。下記接続例を参照。)


<接続例>

<システム構成例>

 
 ※複数接続する場合は、消費電流合計以上の出力が出せるバッテリを使用してください。基板用の電源にアルカリ9V乾電池を使用する場合は最高で800mA前後です。ニッカドやニッケル水素はアルカリの5〜10倍ぐらい出力できます。(商品にもよります)

<マイコンとの接続詳細>

 


<PCとの接続>
 PCと接続する場合は、AGB65-232Cに表示されている通りにケーブルを接続します。AGB65-232CにはPCのCOMポートへ接続するためのD-sub9ピンコネクタケーブルが付属していますので、これをPCへ接続します。この結果、上記マイコンとの接続の場合と同様に、PC(マスタ)のTXがコントローラのRXへ、PCのRXがコントローラのTXへ接続されます。

 
 ※PCの通信設定は「フロー制御無し、スターとビット1、ノンパリティ」に設定します。フロー制御無しの場合はPCはRTS/CTS信号を無視しますが、念のため、PCケーブル内部でRTS/CTSラインをループしており、これによりまちがってフロー制御=RTS/CTSになった場合、もしくは通信ソフト側でどうしてもRTSコントロールを行ってしまう場合でも、強制的に通信可能状態になります。



<電源ケーブルの接続>

 AGB65電源ケーブルは、なれないと差し込みづらいので、下の図を参照に、慎重に差し込んでください。まっすぐに挿入すると簡単に入ります。簡単に入らない場合は無理をして端子を曲げないように注意して下さい。尚、逆に挿そうとすると入りません。
 電源ケーブルの逆側には、9V乾電池用のスナップが付いております。これは簡易的なものなので、何回も乾電池を抜き差しするとスナップ部がゆるみますのでご注意下さい。9V乾電池以外の電源を使用する方は、ケーブルを切断してそれぞれの電源に合ったコネクタを取り付けて下さい。電源ケーブルを切断する際は、電源がつながっていないことを十分注意した上で行ってください。通電したまま電源線をカットすると乾電池などが破裂する可能性がありますので注意して下さい。

  



<音声出力>

 上図を参照に、スピーカ端子に8オームスピーカを付けてください。(ハンダ付けが必要)スピーカの出力は2W以上のものが望ましいです。それ以下だと音量が小さくて聞こえづらかったり音質が非常に悪い可能性があります。

  この端子にオーディオ出力を直接接続することも可能です。この場合はVR単体で出せる以上の音量を出すこともできます。

   


<音量調整>

 音量はボリュームを操作して行います。時計回りにまわすと音量が大きくなります。尚、録音時の音圧が大きい場合は音量を上げると音ワレする場合がありますので、何度か録音と再生を行って、音量との関係をあらかじめテストして下さい。
   


<オーディオ入力と音質>

 VRには2.5mm径のオーディオ入力端子が付いており、ここから音声を入力することもできます。オーディオとの接続には付属の2.5mmジャックを使用してください。オーディオ入力が行わない場合はこの接続は不要です。尚、音声はモノラル入力のみとなります。

 付属のジャック

 VRにはコンデンサマイクが付いており、オーディオジャックをささない場合はコンデンサマイクから音声が入力されます。音質は入力音声信号に依存しますが、一般的にはVR上のコンデンサマイクで録音するよりも、オーディオ入力端子から音声を入力した方が音質は良くなります。
 ※VRの音声サンプリングは4kHzと、一般的なオーディオに比べて低いので、オーディオ並みの音質は期待できませんのでご了承下さい。



<録音領域(スロット)について>

 VRの音声記憶領域は120秒の大きさがあります。これを、8ビットでアドレッシングするために、内部で0.4秒x255の領域に分割されています。0.4秒に分割された音声領域をスロットと呼びます。

※音声の内容によって最大の録音時間が若干変化することがあります。

 

 例えば、今、音声データが下のように0番スロットに「こ」、1番スロットに「ん」...と録音されていたとします。

 

 ここで、「スロット0番から5スロット分の音声を再生」という操作をしますと、「こんにちは」と再生されます。

 音声の録音と再生方法には大きく2通りの方法があり、VR上のスイッチを操作して行う”手動操作”と、シリアル通信経由の命令で操作を行う”シリアルデータ通信による操作”があります。

 シリアルデータ通信による操作の場合には、一度の命令で、複数のスロットの再生を指定することができます。たとえば今、音声データが下のように録音されていたとします。

 

 ここで、「スロット2から2スロット、スロット4から1スロット、スロット6から3スロット再生」という命令を出すと

 

 このように再生されます。各音声データの間は約30mSの空きが生じます。(人間が聞いている分にはわからないぐらいの短い時間です。)

 スロット番号を指定するのが0〜254番までしか指定できない関係上、最後の18秒は開始スロット番号の指定ができませんが、その18秒(スロット数で45スロット分)の領域も使用することはできます。下がその例です。

 



<手動操作>

 VRは、電源とスピーカをつないだだけで、VR上のスイッチ操作により録音と再生操作をすることができます。この時使用するスイッチ(SW)下の通りになります。

 

■録再生プッシュSW
 録音又は再生を開始します。再生中にこのSWを0.5秒ほど押すと再生を停止します(シリアル命令実行時でも0.5秒押すと停止します)。録音中は赤LEDが点灯し、再生中は緑LEDが点灯します。

■録音/再生選択SW
 REC側にすると録音、PLAY側にすると再生となります。

■録再生時間SW
 録音又は再生するスロット数を指定します。SWとスロット数の関係は下のようになります。尚、このスロット数以外は手動録音では指定できません。SWをどちらも上にすると、現在指定しているスロット番号から最後まで(120秒の最後まで)を指定することになります。
 このSWは出荷時にはオレンジ色のシールが貼られていますので、SWを変えるときにはピンセットなどでこのシールをはがして下さい。
 

■スロット番号SW
 録音又は再生を開始するスロット番号を指定します。スロット番号は8ビットx2個の16進ロータリーSWで表され、

 スロット番号 = 上位x16 + 下位

 となります。Aは10、Bは11、...Fは15に相当します。よって例えば、 上位=B 下位=D を指定したとすると、

 スロット番号 = Bx16 + D = 11x16 + 13 =189

 となります。


<シリアルデータ通信による操作>

<データ形式>


 マスタからVRへの指示は、バイトサイズの数値データで送られます。バイトサイズ(8ビット)なので、表される数値は0〜255の256種類になります。

 尚、以下特に記述がない場合は、数値は10進数で表しています。

 −基本形−

 データの基本形は次の通りになります。[ ]内は1バイトを表します。()内は送りえる数値の範囲を表します。

 [シンクロバイト(255)] [ID(200)] [送信バイト長(1-254] [命令1] [命令2] [命令3] ...
シンクロバイト VRにデータの通信開始を知らせるデータで、常に「255」で始まります。
ID VRに設定された固有のID。(*)
送信バイト長 送信される命令の(バイト)数。シンクロバイト、ID、送信バイト数は数えません。
命令 VRに動作させたい命令。以下で詳しく説明します。
(*)VRの場合、IDは200に固定されています。
注)データはキャラクタデータではなく、数値(バイナリ)データで送ります。
例えばマイコンをマスタとし、C言語でプログラムを作る場合に255を送信しようとして(PCや他の言語も考え方は同じ)、

printf("255");

とするのは間違いです。これですとキャラクタデータですので実際には2と5と5を表す3バイトのキャラクタデータが送られてしまいます。数値データに直すと[32][35][35]が送信され(ASCIIコード参照)、[255]ではないことになります。

unsigned char SINC = 255;
printf("%d",SINC);

で、[255]が1バイトだけ送られます。
※お使いのCコンパイラによっては構文がことなるかもしれません(printf関数がないとか、バイトサイズ変数の宣言はcharではなくintやbyteだとか)のでご注意下さい。

−命令一覧−
命令値 動作 方向 フォーマット
録音 送信 [255][ID(200)][長(3)][命令(0)][スロット番号(0-254)][スロット数(0-254)]
再生 送信 [255][ID(200)][長(3)][命令(1)][スロット番号(0-254)][スロット数(0-254)]
停止 送信 [255][ID(200)][長(1)][命令(3)]
連続再生 送信 [255][ID][長(4-254)][命令(5)][再生数(1-126)][スロット番号1(0-254)][スロット数1(0-254)]...
254 セルフチェック 送信 [255][ID][長(1)][254]
    受信 [255][ID][長(1)][254]
上以外 無視されます。    

※方向はマスタ側から見たデータの通信方向を表します。「送信」はマスタ−>コントローラへ送る命令、「受信」はコントローラ−>マスタへ返される結果を表します。



【命令0:録音】

<フォーマット>
[255] [ID(200)] [長(3)] [命令(0)] [スロット番号(0-254)] [スロット数(0-254)]


<説明>
VRはこの命令を受け取ると、スロット番号で指定したスロットからスロット数で指定した長さの時間で録音をします。

<送信データ例>
123番スロットから23スロット分の録音を指示する場合には下のようなデータになります。
[255] [200] [3] [0] [123] [23]


【命令1:再生】

<フォーマット>
[255] [ID(200)] [長(3)] [命令(1)] [スロット番号(0-254)] [スロット数(0-254)]


<説明>
VRはこの命令を受け取ると、スロット番号で指定したスロットからスロット数で指定した長さの時間で再生をします。

<送信データ例>
22番スロットから8スロット分の録音を指示する場合には下のようなデータになります。
[255] [200] [3] [1] [22] [8]


【命令3:停止】

<フォーマット>
[255] [ID(200)] [長(1)] [命令(3)]


<説明>
VRはこの命令を受け取ると、現在実行している操作を停止します。

<送信データ例>
停止を指示する場合には下のようなデータになります。
[255] [200] [1] [3]


【命令5:連続再生】

<フォーマット>
[255] [ID] [長(4-254)] [命令(5)] [再生数(1-126)] [スロット番号1(0-254)] [スロット数1(0-254)]...


<説明>
VRはこの命令を受け取ると、再生数で指定した数の音声データを連続で再生します。各音声データの間は30mSほどあきます。再生数の後には、再生するスロット番号とスロット数を、再生する個数だけ指定します。

<送信データ例>

例1)6つのスロット番号10,15,22,3,23,4に入っている音声を1スロットづつ順番に再生する場合
[255] [200] [14] [5] [6] [10] [1] [15] [1] [22] [1] [3] [1] [23] [1] [4] [1]
※バイト長は (音声数x2)+2 で計算されます。この場合は音声数=6なので 6X2+2=14 になります。

例2)スロット番号14番から10スロット分再生し、スロット番号19番から5スロット再生する場合(つまり、はじめの音声の最後半分を繰り返す感じ)
[255] [200] [14] [5] [14] [10] [19] [5]


【命令254:セルフチェック】

<フォーマット>
[255] [ID(200)] [長(1)] [命令(254)]


<説明>
VRはこの命令を受け取ると、同じ数値をマスタ側へ返信します。VR起動後に、VRが正常に動作しているかどうかはこの命令を実行することにより確認することができます。尚、VRがはじめから正常に動作しているかどうかは、起動時にLEDが3回点滅しますのでそれで判断できます。

<送信データ例>
停止を指示する場合には下のようなデータになります。
[255] [200] [1] [254]



<サンプルプログラム>

 AGB65シリーズはほぼ同じプログラムで動かすことができます。VRの場合は、基本的に命令を送信するだけなので、以前作成した他のAGB65シリーズとの接続のページを参照して下さい。特にAGB65−RSCとほぼ同じ考え方で動かすことができますので、下にそのリンクを示します。

 ■PCからAGB65−VRを動かす −> PCとRSCのページを参照してください。

 ■無線でPCと接続する

 ■BASICスタンプからAGB65−VRを動かす −> スタンプとRSCのページを参照してください。

 ■H8からAGB65−VRを動かす −> H8とRSCのページを参照してください。

 ■PICからAGB65−VRを動かす −> PICとRSCのページを参照してください。

 ■AVRからAGB65−VRを動かす
 −> AVRとRSCのページを参照してください。


<トラブルシューティングQ&A>

Q:自作回路につないでいるがまったく動かない。VRが正常に動作しているか確認したい。
A:VRは電源入り時に赤LEDと緑LEDが3回点滅します。これが確認できればVRは正常に動いていますので自作回路の方を重点的に確認してください。 この確認の時は電源以外のケーブルはつながないで下さい。

Q:マイコンと接続し、命令を送ったが返答が無い。
A:下記が考えられます。
・マイコンとVR間でGNDを接続していない。
・VRのTXとマイコンのTXをつないでいる。(VRのTXはマイコンのRXへ、VRのRXはマイコンのTXへつなぎます。接続例の図を参照。)
・VRが起動し終わる前にデータを送ると、マスタ間の通信ができなくなる場合があります。電源起動後はしばらく(3秒程度)経過してからデータを送り始めるようにしてください。マイコンと接続する場合は、マイコンのプログラム起動後に3秒ほどウェイトをおくと問題がおきません。
・電源電圧が不足(バッテリなどの表面の表示値ではなく、テスタで実際に電圧を測って確認して下さい)
・マスタ側の通信速度とVR側の通信速度が合っていない(マイコンで115kbps通信の場合は特に注意)
・データを数値データ(バイナリデータ)ではなく、キャラクタデータで送っている。
・マスタ側から送信する際のIDが間違っている。(VRのIDは200です。ご注意下さい。)
・通信中に、VR側の電源を切ると、その後にVRの電源を入れてもVRとマスタ間の通信が出来ない場合があります。この場合は一度マスタとVR両方の電源を切り、VR側を先に立ち上げてからマスタ側を立ち上げてください(マイコンがマスタの場合は電源を共通で使用していると思いますので、ソフト的に電源投入後しばらくしてからデータを送るようにプログラムしておけば、単純に電源を切り入りするだけで済みます)。

Q:電源を投入してLEDが3回点滅するが動かない。
A:電源電圧が4.8〜7.5Vの間だと、VRの上のマイコンは動くが音声チップが正常に動作しない場合があります。電圧を確認(7.5V以上か?)して下さい。

Q:手動録音にしようとしても、録音できない。又は、手動録音にしても再生してしまう。
A:電源電圧が7.5V以下だと、こうなります。(上のQの原因による。)



<使用上の注意>


・このボードは電子機器です。取扱い、輸送時には静電気対策を行ってください。ICの足や、各ピンを直接手で触ったりすると静電破壊される場合があります。

・バッテリ使用時には電源ラインをショートさせると、バッテリが破裂・発火する可能性があります。作業中にはショートさせないよう十分注意して下さい。また、取り付け後も、あいている電源ラインに導電物質が触らないように注意して下さい。




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