#author("2018-05-22T12:07:36+09:00","default:qua","qua")
* 音声合成LSI ATP2011 [#vfe6349b]
#ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/ATP2011Fx_img.png,262x208)
** ピン配置 [#fe3250c2]
#ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/ATP2011.png,around,171x176)
方向に注意すること。切り欠きまたは●が1番ピンの目印。~
最も簡単なシリアル通信で使うのは次のピン~
|ピン番号|名称|説明|
|2|RXD|シリアルデータ受信|
|3|TXD|シリアルデータ送信|
|7,20|VCC|+5V|
|8,22|GND|Ground(0V)|
|12|AOUT|音声出力|
I2CとSPIも可能
#clear
** 接続 [#a433a510]
スピーカーには、AOUTとGNDを接続する。
*** シリアル通信の場合 [#a0e16baf]
|ピン番号|名称|接続|
|2|RXD|ArduinoのTxに接続。下記の例を使うのであれば、11番ピンへ。|
|3|TXD|ArduinoのRxに接続。下記の例を使うのであれば、10番ピンへ。|
|7,20|VCC|Arduinoの5Vに接続|
|8,22|GND|ArduinoとスピーカーのGNDに接続|
|12|AOUT|スピーカーに接続|
#author("2019-04-21T23:44:42+09:00","default:qua","qua")

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

 #include <SoftwareSerial.h>
 
 SoftwareSerial mySerial(10, 11); // RX, TX
 
 void setup() {
   Serial.begin( 9600 );
   pinMode( 10, INPUT );
   pinMode( 11, OUTPUT );
   mySerial.begin( 9600 );
   mySerial.println( "?" );
 }
 
 void loop() {
    if (mySerial.available()) {
      Serial.write(mySerial.read());
    }
    if (Serial.available()) {
      mySerial.write(Serial.read());
    }
 }

音声データについては基本は小文字のローマ字入力だが、(日本語の高低)アクセントやポーズを入れることができる。詳しくは、
[[ATP3011:http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/pdf/atp3011_datasheet.pdf]]
[[ATP3012:http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/pdf/atp3012_datasheet.pdf]]
を見ること。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS