音声合成LSI ATP2011/2012

ATP2011Fx_img.png

ピン配置

ATP2011Fx.png

方向に注意すること。切り欠きまたは●が1番ピンの目印。
最も簡単なシリアル通信で使うのは次のピン

ピン番号名称説明
2RXDシリアルデータ受信
3TXDシリアルデータ送信
7,20VCC+5V
8,22GNDGround(0V)
12(ATP2011)AOUT音声出力
15(ATP2012)AOUT音声出力

I2CとSPIも可能

接続

スピーカーには、AOUTとGNDを接続する。

シリアル通信の場合

ピン番号名称接続
2RXDArduinoのTxに接続。下記の例を使うのであれば、11番ピンへ。
3TXDArduinoのRxに接続。下記の例を使うのであれば、10番ピンへ。
7,20VCCArduinoの5Vに接続
8,22GNDArduinoとスピーカーのGNDに接続
12(ATP2011)AOUTスピーカーに接続
15(ATP2012)AOUTスピーカーに接続

プログラミング

シリアル通信を用いて、PCから入力した文字を音声出力する。 PCとの間の通信もシリアル通信なので、Arduinoと音声合成LSIの間はSoftwareSerialを用いる。 シリアルモニタを起動し、通信速度9600Bps(デフォルト)、行末はCRのみと設定する。ローマ字で入力して「送信」ボタンをクリックすれば、音声が出力される。

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  // put your setup code here, to run once:
  Serial.begin( 9600 );
  mySerial.begin( 9600 );
  mySerial.println( "?" );
}

void loop() {
   if (mySerial.available()) {
     Serial.write(mySerial.read());
   }
   if (Serial.available()) {
     mySerial.write(Serial.read());
   }
}

音声データについては基本は小文字のローマ字入力だが、(日本語の高低)アクセントやポーズを入れることができる。詳しくは、 ATP3011 ATP3012 を見ること。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS