Arduinoから日本語の読み上げを行うために、音声合成ICを利用してみました。
シリアル通信(UART)で制御する方法が見当たらなかったので、備忘録を兼ねてメモを残します。
使ったもの
- ATP3011M6-PU
男性の声のバージョンです。 - Arduino NANO
- ブレッドボード
- 圧電スピーカー
- ジャンパワイヤ
回路
ATP3011の各ピンをこのように接続しました。GNDとVCCは2ピンずつありますが、どちらかが接続されていれば良いようです。
スピーカーのマイナスはGNDに接続しました。
2: RX <-> Arduino D7(SoftwareSerial TX)
3: TX <-> Arduino D6(SoftwareSerial RX)
7: VCC <-> 5V
8: GND <-> GND
12: AOUT <-> スピーカーのプラス
プログラム
ソフトウェアシリアルを利用しています。これによって、自動的に2400~76800の通信速度を設定してくれるようです。
文字列を送信後に"\r"を送信すると読み上げが始まります。
sount_ic_test
#include <SoftwareSerial.h> SoftwareSerial softSerial(6,7); //RX, TX void setup() { softSerial.begin(9600); softSerial.print("?"); } void loop() { softSerial.print("ie'----i\r"); delay(2000); }
成功すると、2秒ごとに落ち着いて「イエーイ」と言います。
今回の装置だと音が小さいので、大きな音を出したい場合はアンプを挟み、大きなスピーカーを使う必要がありそうです。
以上です。
0 件のコメント :
コメントを投稿