音声合成LSIの使い方 - I2C接続編 [Arduino]
テキストを音声に変換する「音声合成LSI」のI2C接続版です。
初めての方は初級編を先にご覧ください。
使用部品・材料
総額で約1,860円です。(Arduino本体の値段を除く)
※初級編と比べて4.7kΩの抵抗が2つ増えています。それ以外は同じです。
| 部品/材料 | 値段 | 備考 |
|---|---|---|
| サンハヤト SAD-101 ニューブレッドボード | ¥500 | Amazon.com |
| 音声合成LSI ATP3012R5-PU(小型ロボットの音声) | ¥900 | 秋月電子の通販コード(I-11517) |
| スピーカー 8Ω8W | ¥100 | 秋月電子の通販コード(P-03285) |
| トランジスター2SC1815Y(60V150mA)(10個入テーピング品) | ¥80 | 秋月電子の通販コード(I-04268) |
| 両端ロングピンヘッダ 1×40 (40P 6.1) | ¥50 | スピーカーの端子接続用。このピンヘッダはサイズ少し大きいのでジャンパーワイヤーで代用した方が良いかもです。 秋月電子の通販コード(C-09056) |
| 絶縁ラジアルリード型積層セラミックコンデンサー0.1μF50V2.54mm(10個入) | ¥100 | 秋月電子の通販コード(P-00090) |
| クリスタル(水晶発振子)16MHz | ¥30 | 秋月電子の通販コード(P-08671) |
| 絶縁型ラジアルリード型積層セラミックコンデンサー22pF50V±5%2.54mm(10個入) | ¥100 | 秋月電子の通販コード(P-04060) |
| カーボン抵抗器 | 数円 | 10kΩ(1個)、4.7kΩ(2個)、1kΩ(1個)を使用。 |
配線図
通信モードを「I2C接続」にする為にSMOD1をHIGH、SMOD0をLOWにしています。I2C接続用のプルアップ抵抗には4.7kΩを使用しています。
次は公式データシートより(atp3012_datasheet.pdf)
ピン配置
クロックモード
動作モード
通信モード
回路図
スケッチ(プログラム)
システムを起動すると「こんにちは。」「おはよー」「お腹すいたー。」と繰り返し発声します。
#include <Wire.h>
// デバイスアドレス(スレーブ)
uint8_t DEVICE_ADDRESS = 0x2E;
// メッセージ配列
String s[] = {
"konnitiwa.\r", // こんにちは。
"ohayo-\r", // おはよー
"onakasuita-.\r"}; // お腹すいたー。
// メッセージ数
int count = 3;
// メッセージのカウンタ用
int index = 0;
void setup() {
// マスタとしてI2Cバスに接続する
Wire.begin();
}
void loop() {
// メッセージをデバイスに送信
Wire.beginTransmission(DEVICE_ADDRESS);
for (int i = 0; i < s[index].length(); i++) {
Wire.write(s[index][i]);
}
Wire.endTransmission();
// 次のメッセージを発声できるまでループする
while(true){
// デバイスへ1byteのレジスタデータを要求する
Wire.requestFrom(DEVICE_ADDRESS, 1);
// 「>」(次の発声が準備OK)ならばループを抜ける
while(Wire.available() == 0) {}
uint8_t c = Wire.read();
if(c == '>') break;
delay(10);
}
index++;
if(count <= index){
index = 0;
}
delay(1000);
}
音声合成LSIには一度に最大128byteまで送信できますが、ArduinoのWireでは一度に送信できるバッファは32byte迄です。33byte以上を送信する場合は
Wire.beginTransmission
Wire.write();
Wire.endTransmission
を複数回に分けて実行してください。
スポンサーリンク
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
公開日:2017年09月01日
記事NO:02551
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









