左側(写真黒矢印上から) | 右側(写真青矢印上から) | ||
名称 | 説明 | 名称 | 説明 |
GND | Ground(0V) | AOUT | 音声出力 |
GND | Ground(0V) | MOSI | SPI通信マスタ→スレーブ |
VCC | +5V | MISO | SPI通信スレーブ→マスタ |
/RESET | リセット | SCK | SPI通信クロック |
RXD | シリアルデータ受信 | SDA | I2C通信データ |
TXD | シリアルデータ送信 | SCL | I2C通信クロック |
ジャンパs0, s1, p0, p1は通信方式や動作モードを指定。表の0/1は、3つのピンのうち、中央と右をジャンパでつなぐときに0、それ以外は1とする。写真ではp0, p1にジャンパが付いていて、ともに、状態は1である。
s0 | s1 | 動作 |
1 | 1 | シリアル通信 |
0 | 1 | I2C通信 |
1 | 0 | SPI通信MODE3 |
0 | 0 | SPI通信MODE1 |
p0 | p1 | 動作 |
1 | 1 | 通常モード |
0 | 1 | セーフモード |
0 | 0 | デモモード |
スピーカーには、AOUTとGNDを接続する。
ピン名称 | 接続 |
RXD | ArduinoのTxに接続。下記の例を使うのであれば、11番ピンへ。 |
TXD | ArduinoのRxに接続。下記の例を使うのであれば、10番ピンへ。 |
VCC | Arduinoの5Vに接続 |
GND | ArduinoとスピーカーのGNDに接続 |
AOUT | スピーカーに接続 |
シリアル通信を用いて、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()); } }
音声データについては基本は小文字のローマ字入力だが、(日本語の高低)アクセントやポーズを入れることができる。詳しくは、 ATP3012 を見ること。