| 左側(写真黒矢印上から) | 右側(写真青矢印上から) | ||
| 名称 | 説明 | 名称 | 説明 |
| 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 を見ること。