AquesTalk pico ATP3011F1-PU I2C 接続の確認

今回は、Arduino UNO のマイコンから I2C で AquesTalk pico へデータを流してみたいと思います。ブレッドボードに ATP3011F1 を付けまして、Arduino UNOと電源、SCL,SDA,Reset を接続して、ATP3011F1 を I2C モードで動くように SMOD0 を落します。

テスト用音声の記号はアクエスト社の 音声記号列生成 Webサービス を利用してます。

以下のスケッチで動作確認して音声出力出来ました。

#include

#define I2CPICO 0x2E

void setup() {
Wire.begin();
}

void loop() {
delay(1000);
AquesTalkPico_Send(“kokoni yomiage’ru/te’_kisutoo nyu-ryo_kushima’_su. \r”);
AquesTalkPico_Send(“kono/o’nnseiwa akue’/su’tono/onnseikigo-re_tsuse’isei wextubusa’-bisude/hennkannshima’_shita. \r”);

while(1) {
;
}
}

void AquesTalkPico_Ready() {

while(1) {
Wire.requestFrom(I2CPICO, 1); // request 1 byte
if(Wire.available() > 0) {
if(Wire.read() == ‘>’) break;
}
delay(50); // delay 50ms
}
}

void AquesTalkPico_Send(char *msg) {
unsigned char i;
char *smsg;

smsg = msg;
AquesTalkPico_Ready();
while(*smsg != 0) {
Wire.beginTransmission(I2CPICO);
for(i = 0; i < 32; i++) { Wire.write(*smsg++); if(*smsg == 0) { break; } } Wire.endTransmission(); } } [/code]

コメントを残す

メールアドレスが公開されることはありません。